lkml.org 
[lkml]   [2021]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: locking/core] sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER()
    The following commit has been merged into the locking/core branch of tip:

    Commit-ID: 2c8bb85151d4bad825f8962792e9f53d22db81db
    Gitweb: https://git.kernel.org/tip/2c8bb85151d4bad825f8962792e9f53d22db81db
    Author: Thomas Gleixner <tglx@linutronix.de>
    AuthorDate: Sun, 15 Aug 2021 23:27:49 +02:00
    Committer: Ingo Molnar <mingo@kernel.org>
    CommitterDate: Tue, 17 Aug 2021 16:57:55 +02:00

    sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER()

    The RT specific spin/rwlock implementation requires special handling of the
    to be woken waiters. Provide a WAKE_Q_HEAD_INITIALIZER(), which can be used by
    the rtmutex code to implement an RT aware wake_q derivative.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210815211302.429918071@linutronix.de
    ---
    include/linux/sched/wake_q.h | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/include/linux/sched/wake_q.h b/include/linux/sched/wake_q.h
    index 26a2013..06cd8fb 100644
    --- a/include/linux/sched/wake_q.h
    +++ b/include/linux/sched/wake_q.h
    @@ -42,8 +42,11 @@ struct wake_q_head {

    #define WAKE_Q_TAIL ((struct wake_q_node *) 0x01)

    -#define DEFINE_WAKE_Q(name) \
    - struct wake_q_head name = { WAKE_Q_TAIL, &name.first }
    +#define WAKE_Q_HEAD_INITIALIZER(name) \
    + { WAKE_Q_TAIL, &name.first }
    +
    +#define DEFINE_WAKE_Q(name) \
    + struct wake_q_head name = WAKE_Q_HEAD_INITIALIZER(name)

    static inline void wake_q_init(struct wake_q_head *head)
    {
    \
     
     \ /
      Last update: 2021-08-17 22:19    [W:4.225 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site