Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Jan Kara <> | Subject | [PATCH 2/2] mm: Add comment explaining task state setting in bdi_forker_thread() | Date | Sat, 3 Sep 2011 00:54:19 +0200 |
| |
CC: Wu Fengguang <fengguang.wu@intel.com> CC: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jan Kara <jack@suse.cz> --- mm/backing-dev.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 94a047b..a87da52 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -401,6 +401,13 @@ static int bdi_forker_thread(void *ptr) } 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); list_for_each_entry(bdi, &bdi_list, bdi_list) { -- 1.7.1
| ![\](/images/icornerr.gif) |