netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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:31:52 -0800	[thread overview]
Message-ID: <CAPcyv4hzNT15R41zSOM98f-0aQ60HBZoD_DAvf6VED7iXoCZ8w@mail.gmail.com> (raw)
In-Reply-To: <CAMAG_eduH4M2OPVh-R4Q6KG1DDcinEDzC-fQyXj1mLdZG=49hw@mail.gmail.com>

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.

--
Dan

  reply	other threads:[~2014-01-15 21:31 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 [this message]
2014-01-15 21:33       ` Dan Williams
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=CAPcyv4hzNT15R41zSOM98f-0aQ60HBZoD_DAvf6VED7iXoCZ8w@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).