mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
revert "percpu_counter: new function percpu_counter_sum_and_set"
Revert
commit e8ced39d5e
Author: Mingming Cao <[email protected]>
Date: Fri Jul 11 19:27:31 2008 -0400
percpu_counter: new function percpu_counter_sum_and_set
As described in
revert "percpu counter: clean up percpu_counter_sum_and_set()"
the new percpu_counter_sum_and_set() is racy against updates to the
cpu-local accumulators on other CPUs. Revert that change.
This means that ext4 will be slow again. But correct.
Reported-by: Eric Dumazet <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Mingming Cao <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]> [2.6.27.x]
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
71c5576fbd
commit
02d2116887
3 changed files with 6 additions and 17 deletions
|
|
@ -609,8 +609,8 @@ int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks)
|
|||
|
||||
if (free_blocks - (nblocks + root_blocks + dirty_blocks) <
|
||||
EXT4_FREEBLOCKS_WATERMARK) {
|
||||
free_blocks = percpu_counter_sum_and_set(fbc);
|
||||
dirty_blocks = percpu_counter_sum_and_set(dbc);
|
||||
free_blocks = percpu_counter_sum_positive(fbc);
|
||||
dirty_blocks = percpu_counter_sum_positive(dbc);
|
||||
if (dirty_blocks < 0) {
|
||||
printk(KERN_CRIT "Dirty block accounting "
|
||||
"went wrong %lld\n",
|
||||
|
|
|
|||
Loading…
Reference in a new issue