, queue_delayed_work cpu WORK_CPU_UNBOUND. , , . __queue_delayed_work, delay , ( add_timer delayed_work_timer_fn ( ). - __queue_work, WORK_CPU_UNBOUND cpu. , "".
, cpu WORK_CPU_UNBOUND cpu :
if (req_cpu == WORK_CPU_UNBOUND)
cpu = raw_smp_processor_id()
, , . , IIRC LDD3, , ( CPU , , IRQ ), . , .
, , , - . queue_work, : " CPU, , , ". WORK_CPU_UNBOUND cpu.
, - , IRQ, , . - , CPU . migrate_timers(), timer_cpu_notify, , , , cpu_notifier.
migrate_timers , cpu CPU_DEAD CPU_DEAD_FROZEN. _cpu_down, :
cpu_notify_nofail(CPU_DEAD | mod, hcpu);
__cpu_die(cpu), , CPU, , , , - . migrate_timers .
, , ? , :