Conversation

Christian Brauner

Fun, I just stumbled upon:

commit 78ddb08feb7d4fbe3c0a9931804c51ee58be4023
Author:     Johannes Weiner <hannes@cmpxchg.org>
AuthorDate: Tue Apr 14 16:53:05 2009 +0200
Commit:     Ingo Molnar <mingo@elte.hu>
CommitDate: Tue Apr 14 17:17:16 2009 +0200

    wait: don't use __wake_up_common()

    '777c6c5 wait: prevent exclusive waiter starvation' made
    __wake_up_common() global to be used from abort_exclusive_wait().

    It was needed to do a wake-up with the waitqueue lock held while
    passing down a key to the wake-up function.

    Since '4ede816 epoll keyed wakeups: add __wake_up_locked_key() and
    __wake_up_sync_key()' there is an appropriate wrapper for this case:
    __wake_up_locked_key().

    Use it here and make __wake_up_common() private to the scheduler
    again.

    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1239720785-19661-1-git-send-email-hannes@cmpxchg.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

Which is from 2009 and uses “LKML-Reference” as a precursor to what we now simply do in Link:.

1
0
0
/me wonders whether we could extend our poll infra to give us per-subsystem events. It would mean a new epoll system call and some internal work but it would be so nice to have a (poor mans) kqueue available.
0
0
0