[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <884c76d5-4881-05b4-582e-bc97a0538586@oracle.com>
Date: Sat, 4 Feb 2017 14:39:53 -0800
From: Shannon Nelson <shannon.nelson@...cle.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net,
sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 5/9] sunvnet: add memory barrier before check for
tx enable
On 2/3/2017 2:11 PM, Eric Dumazet wrote:
>
> Transmit completion might happen on another cpu, regardless of ldom.
>
> Therefore you need smp_rmb() here ( like mellanox/mlx4/en_tx.c) , or
> even smp_mb() as bnx2x does.
>
> dma_rmb() is never used in this context.
>
In that case, it looks like there are a couple other similar issues in
this code that need attention, that cropped up when the new dma_*mb()
interface was added. I'll see what I can do with those as well.
The comments and code a few lines above, some of DaveM's original driver
code, seem to dissuade us from the SMP version and originally used the
bare wmb(). Perhaps the bare rmb() should be used here? Again, I
suppose it doesn't matter much as it looks like they all boil down to
the same bit of asm, at least on sparc, which is all that matters for
this driver.
Thanks,
sln
Powered by blists - more mailing lists