@@ -618,6 +618,7 @@ struct list_lru shadow_nodes;
618
618
void workingset_update_node (struct xa_node * node )
619
619
{
620
620
struct address_space * mapping ;
621
+ struct page * page = virt_to_page (node );
621
622
622
623
/*
623
624
* Track non-empty nodes that contain only shadow entries;
@@ -633,12 +634,12 @@ void workingset_update_node(struct xa_node *node)
633
634
if (node -> count && node -> count == node -> nr_values ) {
634
635
if (list_empty (& node -> private_list )) {
635
636
list_lru_add_obj (& shadow_nodes , & node -> private_list );
636
- __inc_lruvec_kmem_state ( node , WORKINGSET_NODES );
637
+ __inc_node_page_state ( page , WORKINGSET_NODES );
637
638
}
638
639
} else {
639
640
if (!list_empty (& node -> private_list )) {
640
641
list_lru_del_obj (& shadow_nodes , & node -> private_list );
641
- __dec_lruvec_kmem_state ( node , WORKINGSET_NODES );
642
+ __dec_node_page_state ( page , WORKINGSET_NODES );
642
643
}
643
644
}
644
645
}
@@ -742,7 +743,7 @@ static enum lru_status shadow_lru_isolate(struct list_head *item,
742
743
}
743
744
744
745
list_lru_isolate (lru , item );
745
- __dec_lruvec_kmem_state ( node , WORKINGSET_NODES );
746
+ __dec_node_page_state ( virt_to_page ( node ) , WORKINGSET_NODES );
746
747
747
748
spin_unlock (lru_lock );
748
749
0 commit comments