• L
    swait: strengthen language to discourage use · c5e7a7ea
    Linus Torvalds 提交于
    We already earlier discouraged people from using this interface in
    commit 88796e7e ("sched/swait: Document it clearly that the swait
    facilities are special and shouldn't be used"), but I just got a pull
    request with a new broken user.
    
    So make the comment *really* clear.
    
    The swait interfaces are bad, and should not be used unless you have
    some *very* strong reasons that include tons of hard performance numbers
    on just why you want to use them, and you show that you actually
    understand that they aren't at all like the normal wait/wakeup
    interfaces.
    
    So far, every single user has been suspect.  The main user is KVM, which
    is completely pointless (there is only ever one waiter, which avoids the
    interface subtleties, but also means that having a queue instead of a
    pointer is counter-productive and certainly not an "optimization").
    
    So make the comments much stronger.
    
    Not that anybody likely reads them anyway, but there's always some
    slight hope that it will cause somebody to think twice.
    
    I'd like to remove this interface entirely, but there is the theoretical
    possibility that it's actually the right thing to use in some situation,
    most likely some deep RT use.
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    c5e7a7ea
swait.h 10.0 KB