[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190717093208.GA6511@f1>
Date:   Wed, 17 Jul 2019 18:32:09 +0900
From:   Benjamin Poirier <bpoirier@...e.com>
To:     Firo Yang <firo.yang@...e.com>
Cc:     Ajit Khaparde <ajit.khaparde@...adcom.com>,
        Sathya Perla <sathya.perla@...adcom.com>,
        Somnath Kotur <somnath.kotur@...adcom.com>,
        Sriharsha Basavapatna <sriharsha.basavapatna@...adcom.com>,
        David Miller <davem@...emloft.net>,
        Saeed Mahameed <saeedm@...lanox.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net] be2net: Signal that the device cannot transmit
 during reconfiguration
On 2019/07/17 17:56, Firo Yang wrote:
> I don't think this change could fix this problem because if SMP, dev_watchdog() could run on a different CPU.
hmm, SMP is clearly part of the picture here. The change I proposed
revolves around the synchronization offered by dev->tx_global_lock:
we have
\ dev_watchdog
	\ netif_tx_lock
		spin_lock(&dev->tx_global_lock);
	...
	\ netif_tx_unlock
and
\ be_update_queues
	\ netif_tx_lock_bh
		\ netif_tx_lock
			spin_lock(&dev->tx_global_lock);
Makes sense?
Powered by blists - more mailing lists