From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next 0/6] sfc: rework locking around filter management Date: Tue, 27 Mar 2018 13:34:15 -0400 (EDT) Message-ID: <20180327.133415.1695812033939717097.davem@davemloft.net> References: <7a932be7-0335-a7f3-4fb4-408ccb191737@solarflare.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: linux-net-drivers@solarflare.com, netdev@vger.kernel.org To: ecree@solarflare.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:44016 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754392AbeC0ReT (ORCPT ); Tue, 27 Mar 2018 13:34:19 -0400 In-Reply-To: <7a932be7-0335-a7f3-4fb4-408ccb191737@solarflare.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Edward Cree Date: Tue, 27 Mar 2018 17:40:11 +0100 > The use of a spinlock to protect filter state combined with the need for a > sleeping operation (MCDI) to apply that state to the NIC (on EF10) led to > unfixable race conditions, around the handling of filter restoration after > an MC reboot. > So, this patch series removes the requirement to be able to modify the SW > filter table from atomic context, by using a workqueue to request > asynchronous filter operations (which are needed for ARFS). Then, the > filter table locks are changed to mutexes, replacing the dance of spinlocks > and 'busy' flags. Also, a mutex is added to protect the RSS context state, > since otherwise a similar race is possible around restoring that after an > MC reboot. While we're at it, fix a couple of other related bugs. Series applied, thank you.