• Peter Zijlstra's avatar
    perf_counter: fix perf_poll() · c7138f37
    Peter Zijlstra authored
    Impact: fix kerneltop 100% CPU usage
    
    Only return a poll event when there's actually been one, poll_wait()
    doesn't actually wait for the waitq you pass it, it only enqueues
    you on it.
    
    Only once all FDs have been iterated and none of thm returned a
    poll-event will it schedule().
    
    Also make it return POLL_HUP when there's not mmap() area to read from.
    
    Further, fix a silly bug in the write code.
    Reported-by: default avatarMike Galbraith <efault@gmx.de>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Orig-LKML-Reference: <1237897096.24918.181.camel@twins>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    c7138f37
perf_counter.c 60.2 KB