[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <01af7f4f-bd05-b93e-57ad-c2e9b8726e90@gmail.com>
Date: Sat, 17 Oct 2020 15:45:57 +0200
From: Heiner Kallweit <hkallweit1@...il.com>
To: Eric Dumazet <edumazet@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>,
David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Remove __napi_schedule_irqoff?
When __napi_schedule_irqoff was added with bc9ad166e38a
("net: introduce napi_schedule_irqoff()") the commit message stated:
"Many NIC drivers can use it from their hard IRQ handler instead of
generic variant."
It turned out that this most of the time isn't safe in certain
configurations:
- if CONFIG_PREEMPT_RT is set
- if command line parameter threadirqs is set
Having said that drivers are being switched back to __napi_schedule(),
see e.g. patch in [0] and related discussion. I thought about a
__napi_schedule version checking dynamically whether interrupts are
disabled. But checking e.g. variable force_irqthreads also comes at
a cost, so that we may not see a benefit compared to calling
local_irq_save/local_irq_restore.
If more or less all users have to switch back, then the question is
whether we should remove __napi_schedule_irqoff.
Instead of touching all users we could make __napi_schedule_irqoff
an alias for __napi_schedule for now.
[0] https://lkml.org/lkml/2020/10/8/706
Powered by blists - more mailing lists