OSDN Git Service

Merge branch 'in_interrupt-cleanup-part-2'
authorJakub Kicinski <kuba@kernel.org>
Sat, 31 Oct 2020 16:55:44 +0000 (09:55 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 31 Oct 2020 16:55:44 +0000 (09:55 -0700)
commit4e5d79bbe82eb172641f07ebdd2a62f09520e422
tree8bd830b1f2ff603887b0fa4a27a7930cd8c11f17
parent68bb4665a2ce1338a74867e71bd5182f5b214a91
parentbeca92820dc4fd6f2413420c9828b586a1e77df5
Merge branch 'in_interrupt-cleanup-part-2'

Sebastian Andrzej Siewior says:

====================
in_interrupt() cleanup, part 2

in the discussion about preempt count consistency across kernel configurations:

  https://lore.kernel.org/r/20200914204209.256266093@linutronix.de/

Linus clearly requested that code in drivers and libraries which changes
behaviour based on execution context should either be split up so that
e.g. task context invocations and BH invocations have different interfaces
or if that's not possible the context information has to be provided by the
caller which knows in which context it is executing.

This includes conditional locking, allocation mode (GFP_*) decisions and
avoidance of code paths which might sleep.

In the long run, usage of 'preemptible, in_*irq etc.' should be banned from
driver code completely.

This is part two addressing remaining drivers except for orinoco-usb.
====================

Cherry picking only Ethernet changes.

Link: https://lore.kernel.org/r/20201027225454.3492351-1-bigeasy@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>