kswapd
bool kswapd; /* allocation in kswapd context */
if (args->kswapd)
args.kswapd = current_is_kswapd();
struct task_struct *kswapd; /* Protected by kswapd_lock */
running = pgdat->kswapd && task_is_running(pgdat->kswapd);
if (!pgdat->kswapd) {
pgdat->kswapd = kthread_create_on_node(kswapd, pgdat, nid, "kswapd%d", nid);
if (IS_ERR(pgdat->kswapd)) {
nid, pgdat->kswapd);
pgdat->kswapd = NULL;
wake_up_process(pgdat->kswapd);
struct task_struct *kswapd;
kswapd = pgdat->kswapd;
if (kswapd) {
kthread_stop(kswapd);
pgdat->kswapd = NULL;