*参照元 [#k7c2b51b] #backlinks *説明 [#c117d982] -パス: [[linux-2.6.33/kernel/workqueue.c]] -ワークキューの初期化。 --[[linux-2.6/ワークキュー]] **引数 [#i8123856] -なし **返り値 [#c350f968] -なし **参考 [#h13fe700] *実装 [#g2024916] void __init init_workqueues(void) { alloc_cpumask_var(&cpu_populated_map, GFP_KERNEL); -cpu_populated_map は static 変数、cpumask_var_t 型 --[[linux-2.6.33/cpumask_var_t] - --[[linux-2.6.33/GFP_KERNEL]] - --[[linux-2.6.33/alloc_cpumask_var()]] cpumask_copy(cpu_populated_map, cpu_online_mask); -cpu_online_mask は、cpumask 型のグローバル変数 --[[linux-2.6.33/cpu_online_mask(global)]] --[[linux-2.6.33/cpumask]] - --[[linux-2.6.33/cpumask_copy()]] singlethread_cpu = cpumask_first(cpu_possible_mask); -cpu_possible_mask は、cpumask 型のグローバル変数 --[[linux-2.6.33/cpu_possible_mask(global)]] - --[[linux-2.6.33/cpumask_first()]] cpu_singlethread_map = cpumask_of(singlethread_cpu); -cpu_singlethread_map は、static 変数、cpumask 型 - --[[linux-2.6.33/cpumask_of()]] hotcpu_notifier(workqueue_cpu_callback, 0); - --[[linux-2.6.33/hotcpu_notifier()]] - --[[linux-2.6.33/workqueue_cpu_callback()]] keventd_wq = create_workqueue("events"); -keventd_wq は、static 変数、workqueue_struct 型 --[[linux-2.6.33/workqueue_struct]] - --[[linux-2.6.33/create_workqueue()]] BUG_ON(!keventd_wq); - --[[linux-2.6.33/BUG_ON()]] } *コメント [#i740acf6]