Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 257363
b: refs/heads/master
c: e9299f5
h: refs/heads/master
i:
  257361: b20771c
  257359: 06d1ae9
v: v3
  • Loading branch information
Dave Chinner authored and Al Viro committed Jul 20, 2011
1 parent c6f620c commit 0f34391
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3567b59aa80ac4417002bf58e35dce5c777d4164
refs/heads/master: e9299f5058595a655c3b207cda9635e28b9197e6
1 change: 1 addition & 0 deletions trunk/include/linux/mm.h
Original file line number Diff line number Diff line change
Expand Up @@ -1150,6 +1150,7 @@ struct shrink_control {
struct shrinker {
int (*shrink)(struct shrinker *, struct shrink_control *sc);
int seeks; /* seeks to recreate an obj */
long batch; /* reclaim batch size, 0 = default */

/* These are for internal use */
struct list_head list;
Expand Down
11 changes: 6 additions & 5 deletions trunk/mm/vmscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,8 @@ unsigned long shrink_slab(struct shrink_control *shrink,
int shrink_ret = 0;
long nr;
long new_nr;
long batch_size = shrinker->batch ? shrinker->batch
: SHRINK_BATCH;

/*
* copy the current shrinker scan count into a local variable
Expand Down Expand Up @@ -303,19 +305,18 @@ unsigned long shrink_slab(struct shrink_control *shrink,
nr_pages_scanned, lru_pages,
max_pass, delta, total_scan);

while (total_scan >= SHRINK_BATCH) {
long this_scan = SHRINK_BATCH;
while (total_scan >= batch_size) {
int nr_before;

nr_before = do_shrinker_shrink(shrinker, shrink, 0);
shrink_ret = do_shrinker_shrink(shrinker, shrink,
this_scan);
batch_size);
if (shrink_ret == -1)
break;
if (shrink_ret < nr_before)
ret += nr_before - shrink_ret;
count_vm_events(SLABS_SCANNED, this_scan);
total_scan -= this_scan;
count_vm_events(SLABS_SCANNED, batch_size);
total_scan -= batch_size;

cond_resched();
}
Expand Down

0 comments on commit 0f34391

Please sign in to comment.