[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CB168C8@AcuExch.aculab.com>
Date: Wed, 8 Apr 2015 11:40:21 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Alexander Duyck' <alexander.h.duyck@...hat.com>,
Eric Dumazet <eric.dumazet@...il.com>
CC: David Miller <davem@...emloft.net>,
"romieu@...zoreil.com" <romieu@...zoreil.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"nix@...eri.org.uk" <nix@...eri.org.uk>,
"rl@...lgate.ch" <rl@...lgate.ch>,
"gurligebis@...too.org" <gurligebis@...too.org>
Subject: RE: [PATCH net-next 1/4] via-rhine: commit receive buffer address
before descriptor status update.
From: Alexander Duyck
> Sent: 08 April 2015 00:21
...
> dma_wmb - write descriptor fields, then dma_wmb, then update status bit
> to release ownership
>
> A wmb is still needed if a PIO doorbell must be used to notify the
> device of additional descriptors.
That is needed after the write that releases ownership.
So you are likely to need a dma_wmb() before the status bit update
and a full wmb() just after it.
If you are adding a lot of frames then you should be able to update
the status for the first fragment last - and only need the barriers
on the final update.
David
Powered by blists - more mailing lists