From: Alexander Duyck <alexander.duyck@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Linus Torvalds <torvalds@linuxfoundation.org>,
Paul McKenney <paulmck@kernel.org>,
Matthew Wilcox <willy@infradead.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Netdev <netdev@vger.kernel.org>,
Christian Benvenuti <benve@cisco.com>,
Govindarajulu Varadarajan <_govind@gmx.com>,
Jonathan Corbet <corbet@lwn.net>,
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
linux-doc@vger.kernel.org,
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
Jay Cliburn <jcliburn@gmail.com>,
Chris Snook <chris.snook@gmail.com>,
Vishal Kulkarni <vishal@chelsio.com>,
intel-wired-lan <intel-wired-lan@lists.osuosl.org>,
Shannon Nelson <snelson@pensando.io>,
Pensando Drivers <drivers@pensando.io>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Solarflare linux maintainers <linux-net-drivers@solarflare.com>,
Edward Cree <ecree@solarflare.com>,
Martin Habets <mhabets@solarflare.com>,
Jon Mason <jdmason@kudzu.us>, Daniel Drake <dsd@gentoo.org>,
Ulrich Kunitz <kune@deine-taler.de>,
Kalle Valo <kvalo@codeaurora.org>,
linux-wireless@vger.kernel.org,
USB list <linux-usb@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Arend van Spriel <arend.vanspriel@broadcom.com>,
Franky Lin <franky.lin@broadcom.com>,
Hante Meuleman <hante.meuleman@broadcom.com>,
Chi-Hsien Lin <chi-hsien.lin@cypress.com>,
Wright Feng <wright.feng@cypress.com>,
brcm80211-dev-list.pdl@broadcom.com,
brcm80211-dev-list@cypress.com,
Stanislav Yakovlev <stas.yakovlev@gmail.com>,
Stanislaw Gruszka <stf_xl@wp.pl>,
Johannes Berg <johannes.berg@intel.com>,
Emmanuel Grumbach <emmanuel.grumbach@intel.com>,
Luca Coelho <luciano.coelho@intel.com>,
Intel Linux Wireless <linuxwifi@intel.com>,
Jouni Malinen <j@w1.fi>, Amitkumar Karwar <amitkarwar@gmail.com>,
Ganapathi Bhat <ganapathi.bhat@nxp.com>,
Xinming Hu <huxinming820@gmail.com>,
libertas-dev@lists.infradead.org,
Pascal Terjan <pterjan@google.com>,
Ping-Ke Shih <pkshih@realtek.com>
Subject: Re: [patch 10/35] net: intel: Remove in_interrupt() warnings
Date: Mon, 28 Sep 2020 16:04:31 -0700 [thread overview]
Message-ID: <CAKgT0Uc0bB8nr0Kh-UHS=dEW3nu=DrYeio1w6snkzFSB=tQgXw@mail.gmail.com> (raw)
In-Reply-To: <20200927194920.824108021@linutronix.de>
On Sun, Sep 27, 2020 at 1:00 PM Thomas Gleixner <tglx@linutronix.de> wrote:
>
> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
>
> in_interrupt() is ill defined and does not provide what the name
> suggests. The usage especially in driver code is deprecated and a tree wide
> effort to clean up and consolidate the (ab)usage of in_interrupt() and
> related checks is happening.
>
> In this case the checks cover only parts of the contexts in which these
> functions cannot be called. They fail to detect preemption or interrupt
> disabled invocations.
>
> As the functions which are invoked from the various places contain already
> a broad variety of checks (always enabled or debug option dependent) cover
> all invalid conditions already, there is no point in having inconsistent
> warnings in those drivers.
>
> Just remove them.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: netdev@vger.kernel.org
The patch looks good to me.
Reviewed-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
> ---
> drivers/net/ethernet/intel/e1000/e1000_main.c | 1 -
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2 --
> drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ----
> drivers/net/ethernet/intel/ice/ice_main.c | 1 -
> drivers/net/ethernet/intel/igb/igb_main.c | 1 -
> drivers/net/ethernet/intel/igc/igc_main.c | 1 -
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 1 -
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 --
> 8 files changed, 13 deletions(-)
>
> --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
> +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
> @@ -534,7 +534,6 @@ void e1000_down(struct e1000_adapter *ad
>
> void e1000_reinit_locked(struct e1000_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
> msleep(1);
>
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> @@ -221,8 +221,6 @@ static bool fm10k_prepare_for_reset(stru
> {
> struct net_device *netdev = interface->netdev;
>
> - WARN_ON(in_interrupt());
> -
> /* put off any impending NetWatchDogTimeout */
> netif_trans_update(netdev);
>
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -6689,7 +6689,6 @@ static void i40e_vsi_reinit_locked(struc
> {
> struct i40e_pf *pf = vsi->back;
>
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__I40E_CONFIG_BUSY, pf->state))
> usleep_range(1000, 2000);
> i40e_down(vsi);
> @@ -8462,9 +8461,6 @@ void i40e_do_reset(struct i40e_pf *pf, u
> {
> u32 val;
>
> - WARN_ON(in_interrupt());
> -
> -
> /* do the biggest reset indicated */
> if (reset_flags & BIT_ULL(__I40E_GLOBAL_RESET_REQUESTED)) {
>
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -486,7 +486,6 @@ static void ice_do_reset(struct ice_pf *
> struct ice_hw *hw = &pf->hw;
>
> dev_dbg(dev, "reset_type 0x%x requested\n", reset_type);
> - WARN_ON(in_interrupt());
>
> ice_prepare_for_reset(pf);
>
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -2220,7 +2220,6 @@ void igb_down(struct igb_adapter *adapte
>
> void igb_reinit_locked(struct igb_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
> usleep_range(1000, 2000);
> igb_down(adapter);
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -3831,7 +3831,6 @@ void igc_down(struct igc_adapter *adapte
>
> void igc_reinit_locked(struct igc_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
> usleep_range(1000, 2000);
> igc_down(adapter);
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -5677,7 +5677,6 @@ static void ixgbe_up_complete(struct ixg
>
> void ixgbe_reinit_locked(struct ixgbe_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> /* put off any impending NetWatchDogTimeout */
> netif_trans_update(adapter->netdev);
>
> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> @@ -2526,8 +2526,6 @@ void ixgbevf_down(struct ixgbevf_adapter
>
> void ixgbevf_reinit_locked(struct ixgbevf_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> -
> while (test_and_set_bit(__IXGBEVF_RESETTING, &adapter->state))
> msleep(1);
>
>
next prev parent reply other threads:[~2020-09-28 23:14 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-27 19:48 [patch 00/35] net: in_interrupt() cleanup and fixes Thomas Gleixner
2020-09-27 19:48 ` [patch 01/35] net: enic: Cure the enic api locking trainwreck Thomas Gleixner
2020-09-27 19:48 ` [patch 02/35] net: caif: Remove unused caif SPI driver Thomas Gleixner
2020-09-27 19:48 ` [patch 03/35] net: Add netif_rx_any_context() Thomas Gleixner
2020-09-27 19:48 ` [patch 04/35] net: caif: Use netif_rx_any_context() Thomas Gleixner
2020-09-27 19:48 ` [patch 05/35] net: atheros: Remove WARN_ON(in_interrupt()) Thomas Gleixner
2020-09-27 19:48 ` [patch 06/35] net: cxgb3: Cleanup in_interrupt() usage Thomas Gleixner
2020-09-27 19:48 ` [patch 07/35] net: cxbg4: Remove pointless in_interrupt() check Thomas Gleixner
2020-09-27 19:48 ` [patch 08/35] net: e100: Remove in_interrupt() usage and pointless GFP_ATOMIC allocation Thomas Gleixner
2020-09-27 19:48 ` [patch 09/35] net: fec_mpc52xx: Replace in_interrupt() usage Thomas Gleixner
2020-09-27 19:48 ` [patch 10/35] net: intel: Remove in_interrupt() warnings Thomas Gleixner
2020-09-28 23:04 ` Alexander Duyck [this message]
2020-09-27 19:48 ` [patch 11/35] net: ionic: Replace in_interrupt() usage Thomas Gleixner
2020-09-28 17:24 ` Shannon Nelson
2020-09-28 19:51 ` Shannon Nelson
2020-09-29 14:37 ` Thomas Gleixner
2020-09-27 19:48 ` [patch 12/35] net: ionic: Remove WARN_ON(in_interrupt()) Thomas Gleixner
2020-09-28 17:26 ` Shannon Nelson
2020-09-27 19:48 ` [patch 13/35] net: mdiobus: Remove WARN_ON_ONCE(in_interrupt()) Thomas Gleixner
2020-09-27 23:00 ` Andrew Lunn
2020-09-27 19:49 ` [patch 14/35] net: natsemi: Replace in_interrupt() usage Thomas Gleixner
2020-09-27 19:49 ` [patch 15/35] net: sfc: " Thomas Gleixner
2020-09-28 19:03 ` Edward Cree
2020-09-28 20:05 ` [RFC PATCH net-next] sfc: replace " Edward Cree
2020-09-28 20:24 ` Thomas Gleixner
2020-09-29 15:15 ` Edward Cree
2020-09-29 19:27 ` Thomas Gleixner
2020-09-29 9:39 ` Martin Habets
2020-09-27 19:49 ` [patch 16/35] net: sunbmac: Replace " Thomas Gleixner
2020-09-27 19:49 ` [patch 17/35] net: sun3lance: Remove redundant checks in interrupt handler Thomas Gleixner
2020-09-27 19:49 ` [patch 18/35] net: vxge: Remove in_interrupt() conditionals Thomas Gleixner
2020-09-27 19:49 ` [patch 19/35] net: zd1211rw: Remove ZD_ASSERT(in_interrupt()) Thomas Gleixner
2020-09-27 19:49 ` [patch 20/35] net: usb: kaweth: Replace kaweth_control() with usb_control_msg() Thomas Gleixner
2020-09-27 19:49 ` [patch 21/35] net: usb: kaweth: Remove last user of kaweth_control() Thomas Gleixner
2020-09-28 6:50 ` Greg Kroah-Hartman
2020-09-27 19:49 ` [patch 22/35] net: usb: net1080: Remove in_interrupt() comment Thomas Gleixner
2020-09-27 19:49 ` [patch 23/35] net: wan/lmc: Remove lmc_trace() Thomas Gleixner
2020-09-27 19:49 ` [patch 24/35] net: brcmfmac: Replace in_interrupt() Thomas Gleixner
2020-09-28 7:35 ` Arend Van Spriel
2020-09-28 9:19 ` Ulf Hansson
2020-09-28 9:37 ` Arend Van Spriel
2020-09-28 9:40 ` Arend Van Spriel
2020-09-27 19:49 ` [patch 25/35] net: brcmfmac: Use netif_rx_any_context() Thomas Gleixner
2020-09-28 8:03 ` Arend Van Spriel
2020-09-27 19:49 ` [patch 26/35] net: brcmfmac: Convey allocation mode as argument Thomas Gleixner
2020-09-28 9:34 ` Arend Van Spriel
2020-09-27 19:49 ` [patch 27/35] net: ipw2x00,iwlegacy,iwlwifi: Remove in_interrupt() from debug macros Thomas Gleixner
2020-09-27 19:49 ` [patch 28/35] net: iwlwifi: Remove in_interrupt() from tracing macro Thomas Gleixner
2020-09-28 6:13 ` Coelho, Luciano
2020-09-27 19:49 ` [patch 29/35] net: hostap: Remove in_interrupt() usage Thomas Gleixner
2020-09-27 19:49 ` [patch 30/35] net: mwifiex: Use netif_rx_any_context() Thomas Gleixner
2020-09-27 19:49 ` [patch 31/35] net: libertas libertas_tf: Remove in_interrupt() from debug macro Thomas Gleixner
2020-09-27 19:49 ` [patch 32/35] net: libertas: Use netif_rx_any_context() Thomas Gleixner
2020-09-27 19:49 ` [patch 33/35] net: rtlwifi: Remove void* casts related to delayed work Thomas Gleixner
2020-09-27 19:49 ` [patch 34/35] net: rtlwifi: Remove in_interrupt() from debug macro Thomas Gleixner
2020-09-27 19:49 ` [patch 35/35] net: rtlwifi: Replace in_interrupt() for context detection Thomas Gleixner
2020-09-27 20:22 ` [patch 00/35] net: in_interrupt() cleanup and fixes Joe Perches
2020-09-27 20:57 ` David Miller
2020-09-28 10:25 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKgT0Uc0bB8nr0Kh-UHS=dEW3nu=DrYeio1w6snkzFSB=tQgXw@mail.gmail.com' \
--to=alexander.duyck@gmail.com \
--cc=_govind@gmx.com \
--cc=amitkarwar@gmail.com \
--cc=andrew@lunn.ch \
--cc=arend.vanspriel@broadcom.com \
--cc=benve@cisco.com \
--cc=bigeasy@linutronix.de \
--cc=brcm80211-dev-list.pdl@broadcom.com \
--cc=brcm80211-dev-list@cypress.com \
--cc=chi-hsien.lin@cypress.com \
--cc=chris.snook@gmail.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=drivers@pensando.io \
--cc=dsd@gentoo.org \
--cc=ecree@solarflare.com \
--cc=emmanuel.grumbach@intel.com \
--cc=franky.lin@broadcom.com \
--cc=ganapathi.bhat@nxp.com \
--cc=gregkh@linuxfoundation.org \
--cc=hante.meuleman@broadcom.com \
--cc=hkallweit1@gmail.com \
--cc=huxinming820@gmail.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=j@w1.fi \
--cc=jcliburn@gmail.com \
--cc=jdmason@kudzu.us \
--cc=jeffrey.t.kirsher@intel.com \
--cc=johannes.berg@intel.com \
--cc=kuba@kernel.org \
--cc=kune@deine-taler.de \
--cc=kvalo@codeaurora.org \
--cc=libertas-dev@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-net-drivers@solarflare.com \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxwifi@intel.com \
--cc=luc.vanoostenryck@gmail.com \
--cc=luciano.coelho@intel.com \
--cc=mchehab+huawei@kernel.org \
--cc=mhabets@solarflare.com \
--cc=netdev@vger.kernel.org \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=pkshih@realtek.com \
--cc=pterjan@google.com \
--cc=snelson@pensando.io \
--cc=stas.yakovlev@gmail.com \
--cc=stf_xl@wp.pl \
--cc=tglx@linutronix.de \
--cc=torvalds@linuxfoundation.org \
--cc=tsbogend@alpha.franken.de \
--cc=vishal@chelsio.com \
--cc=willy@infradead.org \
--cc=wright.feng@cypress.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).