[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0807301038170.3334@nehalem.linux-foundation.org>
Date: Wed, 30 Jul 2008 10:42:28 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Oleg Nesterov <oleg@...sign.ru>
cc: Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Roland McGrath <roland@...hat.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] wait_task_inactive: don't use the dummy version when
!SMP && PREEMPT
On Wed, 30 Jul 2008, Oleg Nesterov wrote:
>
> The patch looks monstrous because it moves the (unchanged) definition
> of wait_task_inactive() outside of "#ifdef CONFIG_SMP", but it is quite
> trivial.
Hmm. Doesn't this just deadlock in UP (PREEMPT) if wait_task_interactive()
is ever called from a no-preempt context?
And if that's never the case, the comment should be updated to reflect
that (right now it says that it's only invalid to call it with interrupts
disabled to avoid cross-IPI deadlocks).
Oh, and shouldn't it do a "yield()" instead of a cpu_relax() on UP?
Inquiring minds want to know. That function was very much expressly
designed for SMP, not for preemption, and I want to understand why it's
ok (_if_ it's ok).
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists