On 03/20, Miklos Szeredi wrote: > > I'm no scheduler expert either. neither me ;)
> --- linux.git.orig/kernel/sched.c 2009-03-18 12:53:47.000000000 +0100 > +++ linux.git/kernel/sched.c 2009-03-20 08:58:13.000000000 +0100 > @@ -4629,7 +4629,8 @@ asmlinkage void __sched preempt_schedule > * If there is a non-zero preempt_count or interrupts are disabled, > * we do not want to preempt the current task. Just return.. > */ > - if (likely(ti->preempt_count || irqs_disabled())) > + if (likely(ti->preempt_count || irqs_disabled() || > + current->state != TASK_RUNNING)) But this was specially designed to allow to preempt !TASK_RUNNING tasks, note the "if (prev->state && !(preempt_count() & PREEMPT_ACTIVE))" in schedule(). Perhaps "|| current->state == TASK_TRACED" makes more sense, TASK_TRACED is special because we know we are going to schedule really soon. But I think your previous patch is better, imho we should change preempt_schedule() to fix the very specific problem with ptrace_notify(). Oleg. ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel