vmscan.c (6e9015716ae9b59e9635d692fddfcfb9582c146c) | vmscan.c (c9f299d9862deadf9fbee3ca28d915fdb006975a) |
---|---|
1/* 2 * linux/mm/vmscan.c 3 * 4 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds 5 * 6 * Swap reorganised 29.12.95, Stephen Tweedie. 7 * kswapd added: 7.1.96 sct 8 * Removed kswapd_ctl limits, and swap out as many pages as needed --- 122 unchanged lines hidden (view full) --- 131#endif 132 133static struct zone_reclaim_stat *get_reclaim_stat(struct zone *zone, 134 struct scan_control *sc) 135{ 136 return &zone->reclaim_stat; 137} 138 | 1/* 2 * linux/mm/vmscan.c 3 * 4 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds 5 * 6 * Swap reorganised 29.12.95, Stephen Tweedie. 7 * kswapd added: 7.1.96 sct 8 * Removed kswapd_ctl limits, and swap out as many pages as needed --- 122 unchanged lines hidden (view full) --- 131#endif 132 133static struct zone_reclaim_stat *get_reclaim_stat(struct zone *zone, 134 struct scan_control *sc) 135{ 136 return &zone->reclaim_stat; 137} 138 |
139static unsigned long zone_nr_pages(struct zone *zone, struct scan_control *sc, 140 enum lru_list lru) 141{ 142 return zone_page_state(zone, NR_LRU_BASE + lru); 143} 144 145 |
|
139/* 140 * Add a shrinker callback to be called from the vm 141 */ 142void register_shrinker(struct shrinker *shrinker) 143{ 144 shrinker->nr = 0; 145 down_write(&shrinker_rwsem); 146 list_add_tail(&shrinker->list, &shrinker_list); --- 1213 unchanged lines hidden (view full) --- 1360 1361 /* If we have no swap space, do not bother scanning anon pages. */ 1362 if (nr_swap_pages <= 0) { 1363 percent[0] = 0; 1364 percent[1] = 100; 1365 return; 1366 } 1367 | 146/* 147 * Add a shrinker callback to be called from the vm 148 */ 149void register_shrinker(struct shrinker *shrinker) 150{ 151 shrinker->nr = 0; 152 down_write(&shrinker_rwsem); 153 list_add_tail(&shrinker->list, &shrinker_list); --- 1213 unchanged lines hidden (view full) --- 1367 1368 /* If we have no swap space, do not bother scanning anon pages. */ 1369 if (nr_swap_pages <= 0) { 1370 percent[0] = 0; 1371 percent[1] = 100; 1372 return; 1373 } 1374 |
1368 anon = zone_page_state(zone, NR_ACTIVE_ANON) + 1369 zone_page_state(zone, NR_INACTIVE_ANON); 1370 file = zone_page_state(zone, NR_ACTIVE_FILE) + 1371 zone_page_state(zone, NR_INACTIVE_FILE); | 1375 anon = zone_nr_pages(zone, sc, LRU_ACTIVE_ANON) + 1376 zone_nr_pages(zone, sc, LRU_INACTIVE_ANON); 1377 file = zone_nr_pages(zone, sc, LRU_ACTIVE_FILE) + 1378 zone_nr_pages(zone, sc, LRU_INACTIVE_FILE); |
1372 free = zone_page_state(zone, NR_FREE_PAGES); 1373 1374 /* If we have very few page cache pages, force-scan anon pages. */ 1375 if (unlikely(file + free <= zone->pages_high)) { 1376 percent[0] = 100; 1377 percent[1] = 0; 1378 return; 1379 } --- 1262 unchanged lines hidden --- | 1379 free = zone_page_state(zone, NR_FREE_PAGES); 1380 1381 /* If we have very few page cache pages, force-scan anon pages. */ 1382 if (unlikely(file + free <= zone->pages_high)) { 1383 percent[0] = 100; 1384 percent[1] = 0; 1385 return; 1386 } --- 1262 unchanged lines hidden --- |