diff options
Diffstat (limited to 'mm/workingset.c')
| -rw-r--r-- | mm/workingset.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/mm/workingset.c b/mm/workingset.c index f2a0ecaf708d..c22adb93622a 100644 --- a/mm/workingset.c +++ b/mm/workingset.c @@ -618,6 +618,7 @@ struct list_lru shadow_nodes;  void workingset_update_node(struct xa_node *node)  {  	struct address_space *mapping; +	struct page *page = virt_to_page(node);  	/*  	 * Track non-empty nodes that contain only shadow entries; @@ -633,12 +634,12 @@ void workingset_update_node(struct xa_node *node)  	if (node->count && node->count == node->nr_values) {  		if (list_empty(&node->private_list)) {  			list_lru_add_obj(&shadow_nodes, &node->private_list); -			__inc_lruvec_kmem_state(node, WORKINGSET_NODES); +			__inc_node_page_state(page, WORKINGSET_NODES);  		}  	} else {  		if (!list_empty(&node->private_list)) {  			list_lru_del_obj(&shadow_nodes, &node->private_list); -			__dec_lruvec_kmem_state(node, WORKINGSET_NODES); +			__dec_node_page_state(page, WORKINGSET_NODES);  		}  	}  } @@ -742,7 +743,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,  	}  	list_lru_isolate(lru, item); -	__dec_lruvec_kmem_state(node, WORKINGSET_NODES); +	__dec_node_page_state(virt_to_page(node), WORKINGSET_NODES);  	spin_unlock(lru_lock);  |