• Lai Jiangshan's avatar
    workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback() · a5b4e57d
    Lai Jiangshan authored
    workqueue_cpu_down_callback() is used only if HOTPLUG_CPU=y, so
    hotcpu_notifier() fits better than cpu_notifier().
    
    When HOTPLUG_CPU=y, hotcpu_notifier() and cpu_notifier() are the same.
    
    When HOTPLUG_CPU=n, if we use cpu_notifier(),
    workqueue_cpu_down_callback() will be called during boot to do
    nothing, and the memory of workqueue_cpu_down_callback() and
    gcwq_unbind_fn() will be discarded after boot.
    
    If we use hotcpu_notifier(), we can avoid the no-op call of
    workqueue_cpu_down_callback() and the memory of
    workqueue_cpu_down_callback() and gcwq_unbind_fn() will be discard at
    build time:
    
    $ ls -l kernel/workqueue.o.cpu_notifier kernel/workqueue.o.hotcpu_notifier
    -rw-rw-r-- 1 laijs laijs 484080 Sep 15 11:31 kernel/workqueue.o.cpu_notifier
    -rw-rw-r-- 1 laijs laijs 478240 Sep 15 11:31 kernel/workqueue.o.hotcpu_notifier
    
    $ size kernel/workqueue.o.cpu_notifier kernel/workqueue.o.hotcpu_notifier
       text	   data	    bss	    dec	    hex	filename
      18513	   2387	   1221	  22121	   5669	kernel/workqueue.o.cpu_notifier
      18082	   2355	   1221	  21658	   549a	kernel/workqueue.o.hotcpu_notifier
    
    tj: Updated description.
    Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    a5b4e57d
workqueue.c 106 KB