On Fri, 8 Jan 2016 17:49:31 +0100 Petr Mladek <pmladek@xxxxxxxx> wrote: > Is the __preempt_schedule() a problem? It allows to switch the process > when needed. I thought that it was safe because try_to_freeze() might > have slept as well. > not a problem. i originally thought queue_kthread_work() may add delay but it doesn't since there is no other work on this kthread. > > > - vulnerable to future changes of queuing work > > The question is if it is safe to sleep, freeze, or even migrate > the system between the works. It looks like because of the > try_to_freeze() and schedule_interrupt() calls in the original code. > > BTW: I wonder if the original code correctly handle freezing after > the schedule_timeout(). It does not call try_to_freeze() > there and the forced idle states might block freezing. > I think that the small overhead of kthread works is worth > solving such bugs. It makes it easier to maintain these > sleeping states. it is in a while loop, so try_to_freeze() gets called. Am I missing something? Thanks, Jacob -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html