|
@@ -4458,8 +4458,9 @@ long si_mem_available(void)
|
|
* Part of the reclaimable slab consists of items that are in use,
|
|
* Part of the reclaimable slab consists of items that are in use,
|
|
* and cannot be freed. Cap this estimate at the low watermark.
|
|
* and cannot be freed. Cap this estimate at the low watermark.
|
|
*/
|
|
*/
|
|
- available += global_page_state(NR_SLAB_RECLAIMABLE) -
|
|
|
|
- min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, wmark_low);
|
|
|
|
|
|
+ available += global_node_page_state(NR_SLAB_RECLAIMABLE) -
|
|
|
|
+ min(global_node_page_state(NR_SLAB_RECLAIMABLE) / 2,
|
|
|
|
+ wmark_low);
|
|
|
|
|
|
if (available < 0)
|
|
if (available < 0)
|
|
available = 0;
|
|
available = 0;
|
|
@@ -4602,8 +4603,8 @@ void show_free_areas(unsigned int filter, nodemask_t *nodemask)
|
|
global_node_page_state(NR_FILE_DIRTY),
|
|
global_node_page_state(NR_FILE_DIRTY),
|
|
global_node_page_state(NR_WRITEBACK),
|
|
global_node_page_state(NR_WRITEBACK),
|
|
global_node_page_state(NR_UNSTABLE_NFS),
|
|
global_node_page_state(NR_UNSTABLE_NFS),
|
|
- global_page_state(NR_SLAB_RECLAIMABLE),
|
|
|
|
- global_page_state(NR_SLAB_UNRECLAIMABLE),
|
|
|
|
|
|
+ global_node_page_state(NR_SLAB_RECLAIMABLE),
|
|
|
|
+ global_node_page_state(NR_SLAB_UNRECLAIMABLE),
|
|
global_node_page_state(NR_FILE_MAPPED),
|
|
global_node_page_state(NR_FILE_MAPPED),
|
|
global_node_page_state(NR_SHMEM),
|
|
global_node_page_state(NR_SHMEM),
|
|
global_page_state(NR_PAGETABLE),
|
|
global_page_state(NR_PAGETABLE),
|