Re: perf report for .ko files
From: john smith
Date: Fri Jan 29 2010 - 13:55:30 EST
> Well, you could reduce the number of samples collected by
> asking perf record to
> include only kernel samples by fiddling with these
> perf_event_attr fields:
> exclude_user : 1, /* don't count user */
> exclude_kernel : 1, /* ditto kernel */
> exclude_hv : 1, /* ditto hypervisor */
> exclude_idle : 1, /* don't count when idle */
> I.e. setting exclude_user, exclude_hv and exclude_idle to
> 1, but this requires
> a patch for tools/perf/builtin-record.c as this is not
> exposed yet.
I did setup attr->exclude_hv, exclude_idle, exclude_user = 1 in create_counter() just before "try_again:" label, no difference in results,
on a 2.6.31 (too old? "perf buildid-list" is not available) kernel version:
# perf record -f -e cycles fio fio_script
(for more than a minute, I increased the sample frequency with different -c values, some locked the machine - expectedly)
# perf report --verbose --dso=/my_module_path/my_module.ko
(--verbose doesn't provide any more info)
return the same "# Samples: 0":
# dso: /my_module_path/my_module.ko
# Samples: 0
> [root@doppio linux-2.6-tip]# perf report --dsos '[e1000e]'
> # dso: [e1000e]
> # Samples: 110518812
'e1000e' module may be be sampled more often than the scsi modules but ...
> > not sure why that is, /proc/kallsyms does seem to
> > include some iwlagn symbols.
/proc/kallsyms includes all syms I need, so is a problem not finding the symbols, does this (Samples: 0) make sens?
"perf report --sort comm,dso,symbol" report has my module symbols.
If I try "perf annotate -l -k /my_module_path/my_module.ko my_symbol" has all the percentages "0.00" where I would expect a % breakdown (considering the total function counter 100%), even if the function represents a small overall counter % compared to the others, any ideas?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/