Hi Peter,
Sorry for taking so long to respond...
On Thursday 24 November 2016 08:40 PM, Peter Zijlstra wrote:
On Thu, Nov 24, 2016 at 08:14:29PM +0530, Hari Bathini wrote:
@@ -862,6 +875,19 @@ enum perf_event_type {pid,tid and time are already present in sample_id. Many of the 'legacy'
*/
PERF_RECORD_SWITCH_CPU_WIDE = 15,
+ /*
+ * struct {
+ * struct perf_event_header header;
+ *
+ * u32 pid, tid;
+ * u64 time;
record have redundant information since we added sample_id, but most of
the new ones haven't and rely on sample_all being set.
I tried using pid/tid from sample data, but realized that pid/tid in event_id
could be different from the one in sample data, at least for fork/namespaces
events, since __perf_event_header__init_id( ) that updates the sample data
is getting the pid/tid of current task.
I am not sure if it is advisable to change __perf_event_header__init_id( ) for this..?