*参照元 [#d4fa7b7a] #backlinks *説明 [#d7f1d2d7] -パス: [[linux-2.6.33/mm/vmscan.c]] -FIXME: これは何? --説明 **引数 [#v6229ef7] -int nid -- **返り値 [#he825d7a] -int --成功した場合、または既に kswapd カーネルスレッドが存在する場合は 0、 失敗した場合は -1 **参考 [#h55d7fd8] *実装 [#j565af84] /* * This kswapd start function will be called by init and node-hot-add. * On node-hot-add, kswapd will moved to proper cpus if cpus are hot-added. */ int kswapd_run(int nid) { pg_data_t *pgdat = NODE_DATA(nid); int ret = 0; - --[[linux-2.6.33/pg_data_t]] - --[[linux-2.6.33/NODE_DATA()]] if (pgdat->kswapd) return 0; pgdat->kswapd = kthread_run(kswapd, pgdat, "kswapd%d", nid); if (IS_ERR(pgdat->kswapd)) { /* failure at boot is fatal */ BUG_ON(system_state == SYSTEM_BOOTING); printk("Failed to start kswapd on node %d\n",nid); ret = -1; } - --[[linux-2.6.33/kthread_run()]] - --[[linux-2.6.33/kswapd()]] - --[[linux-2.6.33/IS_ERR()]] - --[[linux-2.6.33/BUG_ON()]] - -system_state はグローバル変数、enum system_states 型 --[[linux-2.6.33/system_states]] --[[linux-2.6.33/system_state(global)]] - --[[linux-2.6.33/SYSTEM_BOOTING]] - --[[linux-2.6.33/printk()]] return ret; } *コメント [#g45ce18c]