Re: [PATCH v3 1/4] net_dma: simple removal

From: Dan Williams
Date: Wed Jan 15 2014 - 16:32:12 EST


On Wed, Jan 15, 2014 at 1:20 PM, saeed bishara <saeed.bishara@xxxxxxxxx> wrote:
> Hi Dan,
>
> I'm using net_dma on my system and I achieve meaningful performance
> boost when running Iperf receive.
>
> As far as I know the net_dma is used by many embedded systems out
> there and might effect their performance.
> Can you please elaborate on the exact scenario that cause the memory corruption?
>
> Is the scenario mentioned here caused by "real life" application or
> this is more of theoretical issue found through manual testing, I was
> trying to find the thread describing the failing scenario and couldn't
> find it, any pointer will be appreciated.

Did you see the referenced commit?

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=77873803363c

This is a real issue in that any app that forks() while receiving data
can cause the dma data to be lost. The problem is that the copy
operation falls back to cpu at many locations. Any one of those
instance could touch a mapped page and trigger a copy-on-write event.
The dma completes to the wrong location.

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/