mm: Add comment explaining task state setting in bdi_forker_thread()

CC: Wu Fengguang <fengguang.wu@intel.com>
CC: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
Jan Kara 2011-09-02 17:04:10 -06:00 committed by Jens Axboe
parent 5a042aa4b8
commit 09f40f98bf

View File

@ -401,6 +401,13 @@ static int bdi_forker_thread(void *ptr)
} }
spin_lock_bh(&bdi_lock); spin_lock_bh(&bdi_lock);
/*
* In the following loop we are going to check whether we have
* some work to do without any synchronization with tasks
* waking us up to do work for them. So we have to set task
* state already here so that we don't miss wakeups coming
* after we verify some condition.
*/
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
list_for_each_entry(bdi, &bdi_list, bdi_list) { list_for_each_entry(bdi, &bdi_list, bdi_list) {