list_lru: get rid of ->active_nodes
The active_nodes mask allows us to skip empty nodes when walking over list_lru items from all nodes in list_lru_count/walk. However, these functions are never called from hot paths, so it doesn't seem we need such kind of optimization there. OTOH, removing the mask will make it easier to make list_lru per-memcg. Signed-off-by: Vladimir Davydov <vdavydov@parallels.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.cz> Cc: Greg Thelen <gthelen@google.com> Cc: Glauber Costa <glommer@gmail.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
05257a1a3d
commit
ff0b67ef5b
@@ -31,7 +31,6 @@ struct list_lru_node {
|
||||
|
||||
struct list_lru {
|
||||
struct list_lru_node *node;
|
||||
nodemask_t active_nodes;
|
||||
};
|
||||
|
||||
void list_lru_destroy(struct list_lru *lru);
|
||||
@@ -94,7 +93,7 @@ static inline unsigned long list_lru_count(struct list_lru *lru)
|
||||
long count = 0;
|
||||
int nid;
|
||||
|
||||
for_each_node_mask(nid, lru->active_nodes)
|
||||
for_each_node_state(nid, N_NORMAL_MEMORY)
|
||||
count += list_lru_count_node(lru, nid);
|
||||
|
||||
return count;
|
||||
@@ -142,7 +141,7 @@ list_lru_walk(struct list_lru *lru, list_lru_walk_cb isolate,
|
||||
long isolated = 0;
|
||||
int nid;
|
||||
|
||||
for_each_node_mask(nid, lru->active_nodes) {
|
||||
for_each_node_state(nid, N_NORMAL_MEMORY) {
|
||||
isolated += list_lru_walk_node(lru, nid, isolate,
|
||||
cb_arg, &nr_to_walk);
|
||||
if (nr_to_walk <= 0)
|
||||
|
||||
Reference in New Issue
Block a user