• Frederic Weisbecker's avatar
    perf_counter: Sleep before refresh using poll in perf top · 0f5486b5
    Frederic Weisbecker authored
    perf top is refreshed every delay_secs the thread runs in such
    loop:
    
    while (sleep(delay_secs)) {
    	print_sym_table();
    }
    
    At the end of print_sym_table(), poll is used without sleep delay
    to check if we have something from stdin.
    
    It means that this check is done only every delay_secs, which can
    be higher that 2 secs if the user defined a custom refresh rate.
    
    We can drop sleep() here and directly use poll to wait between
    refresh periods, so that the reaction after the user stops perf top
    after typing "Enter" is immediate and doesn't suffer from the
    delay_secs latency.
    
    Nb: poll doesn't add any overhead that can parasite perf top measures
    since it sleeps the entire timeout here.
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Marcelo Tosatti <mtosatti@redhat.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    LKML-Reference: <1244141284-7507-1-git-send-email-fweisbec@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    0f5486b5
builtin-top.c 16.4 KB