khugepaged
khugepaged_thread = kthread_run(khugepaged, NULL,
return kthread_func(current) == khugepaged;
.khugepaged = {
default_settings.khugepaged.max_ptes_none = hpage_pmd_nr - 1;
default_settings.khugepaged.max_ptes_swap = hpage_pmd_nr / 8;
default_settings.khugepaged.max_ptes_shared = hpage_pmd_nr / 2;
default_settings.khugepaged.pages_to_scan = hpage_pmd_nr * 8;
settings.khugepaged.max_ptes_none = max_ptes_none;
thp_current_settings()->khugepaged.max_ptes_shared);
settings->khugepaged = (struct khugepaged_settings) {
struct khugepaged_settings *khugepaged = &settings->khugepaged;
thp_write_num("khugepaged/defrag", khugepaged->defrag);
khugepaged->alloc_sleep_millisecs);
khugepaged->scan_sleep_millisecs);
thp_write_num("khugepaged/max_ptes_none", khugepaged->max_ptes_none);
thp_write_num("khugepaged/max_ptes_swap", khugepaged->max_ptes_swap);
thp_write_num("khugepaged/max_ptes_shared", khugepaged->max_ptes_shared);
thp_write_num("khugepaged/pages_to_scan", khugepaged->pages_to_scan);
struct khugepaged_settings khugepaged;