• T
    perf record: Change warning for missing sysfs entry to debug · 4f75f1cb
    Thomas Richter 提交于
    Using perf on 4.16.0 kernel on s390 shows this warning:
    
       failed: can't open node sysfs data
    
    each time I run command perf record ... for example:
    
      [root@s35lp76 perf]# ./perf record -e rB0000 -- sleep 1
      [ perf record: Woken up 1 times to write data ]
      failed: can't open node sysfs data
      [ perf record: Captured and wrote 0.001 MB perf.data (4 samples) ]
      [root@s35lp76 perf]#
    
    It turns out commit e2091ced ("perf tools: Add MEM_TOPOLOGY feature
    to perf data file") tries to open directory named /sys/devices/system/node/
    which does not exist on s390.
    
    This is the call stack:
     __cmd_record
     +---> perf_session__write_header
           +---> perf_header__adds_write
                 +---> do_write_feat
    	           +---> write_mem_topology
    		         +---> build_mem_topology
    			       prints warning
    
    The issue starts in do_write_feat() which unconditionally loops over all
    features and now includes HEADER_MEM_TOPOLOGY and calls write_mem_topology().
    
    Function record__init_features() at the beginning of __cmd_record() sets
    all features and then turns off some of them.
    
    Fix this by changing the warning to a level 2 debug output statement.
    
    So it is only shown when debug level 2 or higher is set.
    Signed-off-by: NThomas Richter <tmricht@linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Link: http://lkml.kernel.org/r/20180412133246.92801-1-tmricht@linux.ibm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    4f75f1cb
header.c 82.5 KB