Hi, Can anyone explain the below message: kernel:BUG: workqueue lockup - pool cpus=4 node=0 flags=0x0 nice=0 stuck for 55s! Red Hat Enterprise 9.2 BR Davoud
struct worker_pool { spinlock_t lock; /* the pool lock */---用于保护worker_pool的自旋锁 int cpu; /* I: the associated cpu */---对于unbound类型为-1;对于bound类型workqueue表示绑定的CPU ID。 int node; /* I: the associated node ID */ int id; /* I: pool ID */---该worker_pool...
spinlock_tlock;/*the pool lock*/---用于保护worker_pool的自旋锁intcpu;/*I: the associated cpu*/---对于unbound类型为-1;对于bound类型workqueue表示绑定的CPU ID。intnode;/*I: the associated node ID*/intid;/*I: pool ID*/---该worker_pool的ID号unsignedintflags;/*X: flags*/structlist_hea...
worker_pool是per-cpu变量,每个CPU都有worker_pool,而且有两个worker_pool。 一个用于普通优先级工作线程,另一个用于高优先级工作线程。 struct worker_pool { spinlock_t lock; /* the pool lock */---用于保护worker_pool的自旋锁 int cpu; /* I: the associated cpu */---对于unbound类型为-1;对于bo...
smp_prepare_cpus(setup_max_cpus); do_pre_smp_initcalls();---此处调用的initcall是在__initcall_start~__initcall0_start之间的函数,也即early_initcall()。所以init_workqueues()在smp_init之前被调用。 lockup_detector_init(); smp_init(); sched_init_smp();---将剩余CPU1~3进行up操作。 do_basi...