lkml.org 
[lkml]   [2009]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 02/10] writeback: switch to per-bdi threads for flushing data
Zhang, Yanmin wrote:
>>> + list_for_each_entry_safe(bdi, tmp, &bdi_list, bdi_list) {
>>> + if (bdi->task || !bdi_has_dirty_io(bdi))
>>> + continue;
>>> +
>>> + bdi_add_default_flusher_task(bdi);
>>> + }
>>> +
>>> + set_current_state(TASK_INTERRUPTIBLE);
>>> +
>> What happens if we are preempted here? Since we have TASK_INTERRUPTIBLE
>> state, we will not come back unless some other task wakes us up. Who
>> would wake us up in this case?
> If it's preempted (CONFIG_PREEMPT=y), it will stay in runqueue. Only when
> it calls schedule initiatively or calls schedule when exiting to user space,
> it will be moved out of runqueue if its state isn't TASK_RUNNING.
>
> See flag PREEMPT_ACTIVE.

OK, thanks for the hint!

--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-07-08 06:51    [W:0.503 / U:0.824 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site