diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-22 12:23:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-22 12:23:15 -0700 |
commit | 55d8538498f62ec72b5ba67aa386c7726f630475 (patch) | |
tree | 15ebcc7a51fdf1ff2bf76ade337a637c0990055d /mm/vmscan.c | |
parent | 481c5346d0981940ee63037eb53e4e37b0735c10 (diff) | |
download | linux-55d8538498f62ec72b5ba67aa386c7726f630475.tar.gz linux-55d8538498f62ec72b5ba67aa386c7726f630475.tar.bz2 linux-55d8538498f62ec72b5ba67aa386c7726f630475.zip |
Fix performance regression on lmbench select benchmark
Christian Borntraeger reported that reinstating cond_resched() with
CONFIG_PREEMPT caused a performance regression on lmbench:
For example select file 500:
23 microseconds
32 microseconds
and that's really because we totally unnecessarily do the cond_resched()
in the innermost loop of select(), which is just silly.
This moves it out from the innermost loop (which only ever loops ove the
bits in a single "unsigned long" anyway), which makes the performance
regression go away.
Reported-and-tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmscan.c')
0 files changed, 0 insertions, 0 deletions