All network drivers! Change pre-processor logic that selects the high priority work queue or gives preferential treatment to the high priority work. All network logic must run on the low priority work queue! Or suffer the consequences.

This commit is contained in:
Gregory Nutt
2018-11-21 07:57:26 -06:00
parent b69957ef5f
commit 09f4dee6bc
46 changed files with 310 additions and 826 deletions
-101
View File
@@ -141,26 +141,6 @@ config DM9X_NINTERFACES
default 1
depends on EXPERIMENTAL
choice
prompt "Work queue"
default DM9X_LPWORK if SCHED_LPWORK
default DM9X_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the Ethernet driver. If the
low priority work queue is available, then it should be used by the
driver.
config DM9X_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config DM9X_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
endif # NET_DM90x0
menuconfig ENC28J60
@@ -199,26 +179,6 @@ config ENC28J60_FREQUENCY
---help---
Define to use a different bus frequency
choice
prompt "Work queue"
default ENC28J60_LPWORK if SCHED_LPWORK
default ENC28J60_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the ENC28J60 driver. If the
low priority work queue is available, then it should be used by the
ENC28J60 driver.
config ENC28J60_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config ENC28J60_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
config ENC28J60_HALFDUPPLEX
bool "Enable half dupplex"
default n
@@ -287,26 +247,6 @@ config ENCX24J600_NRXDESCR
The ENC has a relative large packet buffer of 24kB which can
be used to buffer multiple packets simutaneously
choice
prompt "Work queue"
default ENCX24J600_LPWORK if SCHED_LPWORK
default ENCX24J600_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the ENCX24J600 driver. If the
low priority work queue is available, then it should be used by the
ENCX24J600 driver.
config ENCX24J600_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config ENCX24J600_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
config ENCX24J600_DUMPPACKET
bool "Dump Packets"
default n
@@ -381,26 +321,6 @@ config FTMAC100_MAC0_ENV_ADDR
hex "MAC0 address location"
default 0
choice
prompt "Work queue"
default FTMAC100_LPWORK if SCHED_LPWORK
default FTMAC100_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the FTMAC100 driver. If the
low priority work queue is available, then it should be used by the
FTMAC100 driver.
config FTMAC100_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config FTMAC100_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
endif # NET_FTMAC100
menuconfig NET_LAN91C111
@@ -412,27 +332,6 @@ menuconfig NET_LAN91C111
DS00002276A, 2016 Microchip Technology Inc.
if NET_LAN91C111
choice
prompt "Work queue"
default LAN91C111_LPWORK if SCHED_LPWORK
default LAN91C111_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the Ethernet driver. If the
low priority work queue is available, then it should be used by the
driver.
config LAN91C111_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config LAN91C111_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
endif # NET_LAN91C111
if ARCH_HAVE_PHY