• Namhyung Kim's avatar
    perf bench: Flush stdout before starting bench suite · 9b494ea2
    Namhyung Kim authored
    perf bench prints header message for bench suite before starting the
    benchmark.  However if the stdout is redirected to a file and bench
    suite forks child processes this (and possibly other debugging
    messages too) will be repeated multiple times.
    
      $ perf bench sched messaging
      # Running sched/messaging benchmark...
      # 20 sender and receiver processes per group
      # 10 groups == 400 processes run
    
           Total time: 0.100 [sec]
    
      $ perf bench sched messaging > result.txt
      $ wc -l result.txt
      391
    
    In this file, there were so many "Running sched/messaging benchmark..."
    lines.  This was because stdout is converted to fully-buffered due to
    the redirection and inherited child processes.  Other lines are printed
    after reaping all those tasks.
    
    So fix it by flushing stdout before starting bench suites.
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarHitoshi Mitake <h.mitake@gmail.com>
    Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1357637966-8216-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9b494ea2
builtin-bench.c 4.94 KB