[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161109.133233.218503199113292279.davem@davemloft.net>
Date: Wed, 09 Nov 2016 13:32:33 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: bpoirier@...e.com
Cc: netdev@...r.kernel.org, rasesh.mody@...ium.com,
sudarsana.kalluru@...ium.com, Dept-GELinuxNICDev@...ium.com
Subject: Re: [PATCH] bna: Add synchronization for tx ring.
From: Benjamin Poirier <bpoirier@...e.com>
Date: Mon, 7 Nov 2016 17:57:56 +0800
> We received two reports of BUG_ON in bnad_txcmpl_process() where
> hw_consumer_index appeared to be ahead of producer_index. Out of order
> write/read of these variables could explain these reports.
>
> bnad_start_xmit(), as a producer of tx descriptors, has a few memory
> barriers sprinkled around writes to producer_index and the device's
> doorbell but they're not paired with anything in bnad_txcmpl_process(), a
> consumer.
>
> Since we are synchronizing with a device, we must use mandatory barriers,
> not smp_*. Also, I didn't see the purpose of the last smp_mb() in
> bnad_start_xmit().
>
> Signed-off-by: Benjamin Poirier <bpoirier@...e.com>
Applied.
Powered by blists - more mailing lists