aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2011-05-20 13:49:04 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-03 10:34:49 +0900
commitad106f8c9b2493de31e4b560b9aac000aa81ba10 (patch)
treecd64f8c718d8832887d339bc5573e375f39caf51 /block
parentabe87a0b0ba5a0cddfab30bbafc6e2b121537b15 (diff)
ext4: Use schedule_timeout_interruptible() for waiting in lazyinit thread
commit 4ed5c033c11b33149d993734a6a8de1016e8f03f upstream. In order to make lazyinit eat approx. 10% of io bandwidth at max, we are sleeping between zeroing each single inode table. For that purpose we are using timer which wakes up thread when it expires. It is set via add_timer() and this may cause troubles in the case that thread has been woken up earlier and in next iteration we call add_timer() on still running timer hence hitting BUG_ON in add_timer(). We could fix that by using mod_timer() instead however we can use schedule_timeout_interruptible() for waiting and hence simplifying things a lot. This commit exchange the old "waiting mechanism" with simple schedule_timeout_interruptible(), setting the time to sleep. Hence we do not longer need li_wait_daemon waiting queue and others, so get rid of it. Addresses-Red-Hat-Bugzilla: #699708 Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions