From: Dan Williams <dan.j.williams@intel.com>
To: saeed bishara <saeed.bishara@gmail.com>
Cc: "dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
Alexander Duyck <alexander.h.duyck@intel.com>,
Dave Jiang <dave.jiang@intel.com>,
Vinod Koul <vinod.koul@intel.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
David Whipple <whipple@securedatainnovations.ch>,
lkml <linux-kernel@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v3 1/4] net_dma: simple removal
Date: Wed, 15 Jan 2014 13:33:52 -0800 [thread overview]
Message-ID: <CAPcyv4ixMVV5-9NPR_Nx-hgwAGBS8uh1DQabjimCaNfYt30kiA@mail.gmail.com> (raw)
In-Reply-To: <CAPcyv4hzNT15R41zSOM98f-0aQ60HBZoD_DAvf6VED7iXoCZ8w@mail.gmail.com>
On Wed, Jan 15, 2014 at 1:31 PM, Dan Williams <dan.j.williams@intel.com> wrote:
> On Wed, Jan 15, 2014 at 1:20 PM, saeed bishara <saeed.bishara@gmail.com> 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.
>
Btw, do you have benchmark data showing that NET_DMA is beneficial on
these platforms? I would have expected worse performance on platforms
without i/o coherent caches.
next prev parent reply other threads:[~2014-01-15 21:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-14 0:46 [PATCH v3 0/4] net_dma removal, and dma debug extension Dan Williams
2014-01-14 0:46 ` [PATCH v3 1/4] net_dma: simple removal Dan Williams
2014-01-15 21:20 ` saeed bishara
2014-01-15 21:31 ` Dan Williams
2014-01-15 21:33 ` Dan Williams [this message]
2014-01-17 20:16 ` saeed bishara
2014-01-21 9:44 ` Dan Williams
2014-01-22 10:38 ` saeed bishara
2014-01-14 0:47 ` [PATCH v3 2/4] net_dma: revert 'copied_early' Dan Williams
2014-01-14 5:16 ` David Miller
2014-01-14 6:04 ` Dan Williams
2014-01-14 0:47 ` [PATCH v3 3/4] net: make tcp_cleanup_rbuf private Dan Williams
2014-01-14 0:48 ` [PATCH v3 4/4] dma debug: introduce debug_dma_assert_idle() Dan Williams
2014-01-14 1:14 ` Andrew Morton
2014-01-14 2:40 ` Dan Williams
2014-01-14 22:04 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAPcyv4ixMVV5-9NPR_Nx-hgwAGBS8uh1DQabjimCaNfYt30kiA@mail.gmail.com \
--to=dan.j.williams@intel.com \
--cc=alexander.h.duyck@intel.com \
--cc=dave.jiang@intel.com \
--cc=davem@davemloft.net \
--cc=dmaengine@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=saeed.bishara@gmail.com \
--cc=vinod.koul@intel.com \
--cc=whipple@securedatainnovations.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).