[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <7411386347644@web22m.yandex.ru>
Date: Fri, 06 Dec 2013 20:34:04 +0400
From: Kirill Tkhai <tkhai@...dex.ru>
To: Paul Gortmaker <paul.gortmaker@...driver.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC 0/1] wait queue head; locking considerations
Hi,
06.12.2013, 19:24, "Paul Gortmaker" <paul.gortmaker@...driver.com>:
> Peter pointed out[1] that the simple wait queues in RT could
> run any number of wakeups with the wait queue head lock held.
>
> It turns out that this isnt really specific to RT, but it is
> mainline too -- all the __wake_up_XYZ that in turn use the
> __wake_up_common boiler plate end up looping over all the
> callbacks (normally ttwu) while holding the head lock.
<snip>
One more problem with wait queues in RT case.
Wait queues moving from spinlocks to rt_mutexes makes timerfd
not irqsafe on RT. This makes it unusable for some user tasks.
> fs/timerfd.c | 26 ++++++-------
> include/linux/wait.h | 36 +++++++++++++++---
> kernel/sched/completion.c | 24 ++++++------
> kernel/sched/core.c | 8 ++--
> kernel/sched/wait.c | 44 +++++++++++-----------
> mm/filemap.c | 4 +-
> net/sunrpc/sched.c | 4 +-
> 14 files changed, 150 insertions(+), 126 deletions(-)
--
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