• Home
  • Raw
  • Download

Lines Matching refs:pgdat

391 void reset_isolation_suitable(pg_data_t *pgdat)  in reset_isolation_suitable()  argument
396 struct zone *zone = &pgdat->node_zones[zoneid]; in reset_isolation_suitable()
797 static bool too_many_isolated(pg_data_t *pgdat) in too_many_isolated() argument
801 inactive = node_page_state(pgdat, NR_INACTIVE_FILE) + in too_many_isolated()
802 node_page_state(pgdat, NR_INACTIVE_ANON); in too_many_isolated()
803 active = node_page_state(pgdat, NR_ACTIVE_FILE) + in too_many_isolated()
804 node_page_state(pgdat, NR_ACTIVE_ANON); in too_many_isolated()
805 isolated = node_page_state(pgdat, NR_ISOLATED_FILE) + in too_many_isolated()
806 node_page_state(pgdat, NR_ISOLATED_ANON); in too_many_isolated()
833 pg_data_t *pgdat = cc->zone->zone_pgdat; in isolate_migratepages_block() local
849 while (unlikely(too_many_isolated(pgdat))) { in isolate_migratepages_block()
902 && compact_unlock_should_abort(&pgdat->lru_lock, in isolate_migratepages_block()
976 spin_unlock_irqrestore(&pgdat->lru_lock, in isolate_migratepages_block()
1006 locked = compact_lock_irqsave(&pgdat->lru_lock, in isolate_migratepages_block()
1031 lruvec = mem_cgroup_page_lruvec(page, pgdat); in isolate_migratepages_block()
1076 spin_unlock_irqrestore(&pgdat->lru_lock, flags); in isolate_migratepages_block()
1103 spin_unlock_irqrestore(&pgdat->lru_lock, flags); in isolate_migratepages_block()
1909 static bool kswapd_is_running(pg_data_t *pgdat) in kswapd_is_running() argument
1911 return pgdat->kswapd && (pgdat->kswapd->state == TASK_RUNNING); in kswapd_is_running()
1948 static unsigned int fragmentation_score_node(pg_data_t *pgdat) in fragmentation_score_node() argument
1956 zone = &pgdat->node_zones[zoneid]; in fragmentation_score_node()
1963 static unsigned int fragmentation_score_wmark(pg_data_t *pgdat, bool low) in fragmentation_score_wmark() argument
1976 static bool should_proactive_compact_node(pg_data_t *pgdat) in should_proactive_compact_node() argument
1980 if (!sysctl_compaction_proactiveness || kswapd_is_running(pgdat)) in should_proactive_compact_node()
1983 wmark_high = fragmentation_score_wmark(pgdat, false); in should_proactive_compact_node()
1984 return fragmentation_score_node(pgdat) > wmark_high; in should_proactive_compact_node()
2016 pg_data_t *pgdat; in __compact_finished() local
2018 pgdat = cc->zone->zone_pgdat; in __compact_finished()
2019 if (kswapd_is_running(pgdat)) in __compact_finished()
2023 wmark_low = fragmentation_score_wmark(pgdat, true); in __compact_finished()
2583 static void proactive_compact_node(pg_data_t *pgdat) in proactive_compact_node() argument
2597 zone = &pgdat->node_zones[zoneid]; in proactive_compact_node()
2613 pg_data_t *pgdat = NODE_DATA(nid); in compact_node() local
2627 zone = &pgdat->node_zones[zoneid]; in compact_node()
2673 pg_data_t *pgdat = NODE_DATA(nid); in compaction_proactiveness_sysctl_handler() local
2675 if (pgdat->proactive_compact_trigger) in compaction_proactiveness_sysctl_handler()
2678 pgdat->proactive_compact_trigger = true; in compaction_proactiveness_sysctl_handler()
2679 wake_up_interruptible(&pgdat->kcompactd_wait); in compaction_proactiveness_sysctl_handler()
2728 static inline bool kcompactd_work_requested(pg_data_t *pgdat) in kcompactd_work_requested() argument
2730 return pgdat->kcompactd_max_order > 0 || kthread_should_stop() || in kcompactd_work_requested()
2731 pgdat->proactive_compact_trigger; in kcompactd_work_requested()
2734 static bool kcompactd_node_suitable(pg_data_t *pgdat) in kcompactd_node_suitable() argument
2738 enum zone_type highest_zoneidx = pgdat->kcompactd_highest_zoneidx; in kcompactd_node_suitable()
2741 zone = &pgdat->node_zones[zoneid]; in kcompactd_node_suitable()
2746 if (compaction_suitable(zone, pgdat->kcompactd_max_order, 0, in kcompactd_node_suitable()
2754 static void kcompactd_do_work(pg_data_t *pgdat) in kcompactd_do_work() argument
2763 .order = pgdat->kcompactd_max_order, in kcompactd_do_work()
2764 .search_order = pgdat->kcompactd_max_order, in kcompactd_do_work()
2765 .highest_zoneidx = pgdat->kcompactd_highest_zoneidx, in kcompactd_do_work()
2770 trace_mm_compaction_kcompactd_wake(pgdat->node_id, cc.order, in kcompactd_do_work()
2777 zone = &pgdat->node_zones[zoneid]; in kcompactd_do_work()
2826 if (pgdat->kcompactd_max_order <= cc.order) in kcompactd_do_work()
2827 pgdat->kcompactd_max_order = 0; in kcompactd_do_work()
2828 if (pgdat->kcompactd_highest_zoneidx >= cc.highest_zoneidx) in kcompactd_do_work()
2829 pgdat->kcompactd_highest_zoneidx = pgdat->nr_zones - 1; in kcompactd_do_work()
2832 void wakeup_kcompactd(pg_data_t *pgdat, int order, int highest_zoneidx) in wakeup_kcompactd() argument
2837 if (pgdat->kcompactd_max_order < order) in wakeup_kcompactd()
2838 pgdat->kcompactd_max_order = order; in wakeup_kcompactd()
2840 if (pgdat->kcompactd_highest_zoneidx > highest_zoneidx) in wakeup_kcompactd()
2841 pgdat->kcompactd_highest_zoneidx = highest_zoneidx; in wakeup_kcompactd()
2847 if (!wq_has_sleeper(&pgdat->kcompactd_wait)) in wakeup_kcompactd()
2850 if (!kcompactd_node_suitable(pgdat)) in wakeup_kcompactd()
2853 trace_mm_compaction_wakeup_kcompactd(pgdat->node_id, order, in wakeup_kcompactd()
2855 wake_up_interruptible(&pgdat->kcompactd_wait); in wakeup_kcompactd()
2864 pg_data_t *pgdat = (pg_data_t*)p; in kcompactd() local
2868 const struct cpumask *cpumask = cpumask_of_node(pgdat->node_id); in kcompactd()
2875 pgdat->kcompactd_max_order = 0; in kcompactd()
2876 pgdat->kcompactd_highest_zoneidx = pgdat->nr_zones - 1; in kcompactd()
2885 trace_mm_compaction_kcompactd_sleep(pgdat->node_id); in kcompactd()
2886 if (wait_event_freezable_timeout(pgdat->kcompactd_wait, in kcompactd()
2887 kcompactd_work_requested(pgdat), timeout) && in kcompactd()
2888 !pgdat->proactive_compact_trigger) { in kcompactd()
2891 kcompactd_do_work(pgdat); in kcompactd()
2897 if (should_proactive_compact_node(pgdat)) { in kcompactd()
2909 !pgdat->proactive_compact_trigger) { in kcompactd()
2914 prev_score = fragmentation_score_node(pgdat); in kcompactd()
2915 proactive_compact_node(pgdat); in kcompactd()
2916 score = fragmentation_score_node(pgdat); in kcompactd()
2924 if (pgdat->proactive_compact_trigger) in kcompactd()
2925 pgdat->proactive_compact_trigger = false; in kcompactd()
2937 pg_data_t *pgdat = NODE_DATA(nid); in kcompactd_run() local
2940 if (pgdat->kcompactd) in kcompactd_run()
2943 pgdat->kcompactd = kthread_run(kcompactd, pgdat, "kcompactd%d", nid); in kcompactd_run()
2944 if (IS_ERR(pgdat->kcompactd)) { in kcompactd_run()
2946 ret = PTR_ERR(pgdat->kcompactd); in kcompactd_run()
2947 pgdat->kcompactd = NULL; in kcompactd_run()
2977 pg_data_t *pgdat = NODE_DATA(nid); in kcompactd_cpu_online() local
2980 mask = cpumask_of_node(pgdat->node_id); in kcompactd_cpu_online()
2984 set_cpus_allowed_ptr(pgdat->kcompactd, mask); in kcompactd_cpu_online()