[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CAFB899@AcuExch.aculab.com>
Date: Wed, 11 Mar 2015 17:34:23 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Alexander Duyck' <alexander.duyck@...il.com>,
Govindarajulu Varadarajan <_govind@....com>,
Alexander Duyck <alexander.h.duyck@...hat.com>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"ssujith@...co.com" <ssujith@...co.com>,
"benve@...co.com" <benve@...co.com>
Subject: RE: [PATCH net-next v3 2/2] enic: use netdev_dma_alloc
From: Alexander Duyck
...
> > Is this behaviour platform dependent? I tested this patch for more
> > than a month
> > and I did not face any issue. I ran normal traffic like ssh, nfs and
> > iperf/netperf.
> > Is there a special scenario when this could occur?
>
> Yes it depends on the platform and IOMMU used. For an example take a
> loot at the SWIOTLB implementation. I always assumed if I can work with
> that when it is doing bounce buffers I can work with any IOMMU or platform.
>
> >
> > Will using DMA_BIDIRECTIONAL and sync_to_cpu & sync_to_device solve this?
> > Each desc should have different dma address to write to. Can you
> > explain me how
> > this can happen?
>
> No that won't help. The issue is that when the page is mapped you
> should not be updating any fields in the page until it is unmapped.
> Since you have multiple buffers mapped to a single page you should be
> waiting until the entire page is unmapped.
Isn't the 'unit of memory for dma sync' a cache line, not a page?
You certainly need to test on systems without cache coherent io.
David
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists