|
@@ -369,16 +369,17 @@ unsigned long shrink_slab(struct shrink_control *shrinkctl,
|
|
|
}
|
|
|
|
|
|
list_for_each_entry(shrinker, &shrinker_list, list) {
|
|
|
- for_each_node_mask(shrinkctl->nid, shrinkctl->nodes_to_scan) {
|
|
|
- if (!node_online(shrinkctl->nid))
|
|
|
- continue;
|
|
|
-
|
|
|
- if (!(shrinker->flags & SHRINKER_NUMA_AWARE) &&
|
|
|
- (shrinkctl->nid != 0))
|
|
|
- break;
|
|
|
-
|
|
|
+ if (!(shrinker->flags & SHRINKER_NUMA_AWARE)) {
|
|
|
+ shrinkctl->nid = 0;
|
|
|
freed += shrink_slab_node(shrinkctl, shrinker,
|
|
|
- nr_pages_scanned, lru_pages);
|
|
|
+ nr_pages_scanned, lru_pages);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ for_each_node_mask(shrinkctl->nid, shrinkctl->nodes_to_scan) {
|
|
|
+ if (node_online(shrinkctl->nid))
|
|
|
+ freed += shrink_slab_node(shrinkctl, shrinker,
|
|
|
+ nr_pages_scanned, lru_pages);
|
|
|
|
|
|
}
|
|
|
}
|