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
+11 -9
View File
@@ -81,17 +81,19 @@
#if !defined(CONFIG_SCHED_WORKQUEUE)
# error Work queue support is required in this configuration (CONFIG_SCHED_WORKQUEUE)
#else
# if defined(CONFIG_TUN_HPWORK)
# define TUNWORK HPWORK
# elif defined(CONFIG_TUN_LPWORK)
# define TUNWORK LPWORK
# else
# error "Neither CONFIG_TUN_HPWORK nor CONFIG_TUN_LPWORK defined"
# endif
#endif
/* The low priority work queue is preferred. If it is not enabled, LPWORK
* will be the same as HPWORK.
*
* NOTE: However, the network should NEVER run on the high priority work
* queue! That queue is intended only to service short back end interrupt
* processing that never suspends. Suspending the high priority work queue
* may bring the system to its knees!
*/
#define TUNWORK LPWORK
/* CONFIG_TUN_NINTERFACES determines the number of physical interfaces
* that will be supported.
*/