]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitf9ae9084b424f7d56e4990f51a10787c48d9efe6
tree8bd830b1f2ff603887b0fa4a27a7930cd8c11f17
parent38cbffc643f43bbeef5ff8ce4613ba4883287a4f
parent42faa55d3d09751df9ad3b3e2ecc8d5012493c0f
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>