Hi Steve, On Wed, May 21, 2014 at 03:07:23AM +0100, Steven Rostedt wrote: > Hmm, I didn't think about cross tree dependencies. I already pushed this > patch to my for-next branch which is already in linux-next, and I do not > rebase this branch unless there's a really good need to. > > I guess I needed to make a separate branch that you could have pulled > separately. I'm not sure how we want to proceed, unless you wait till > Linus pulls my branch before you add this to your tree. > > Maybe it would be OK to cherry pick it? I'm not sure Linus would want > that. > > Maybe I can make a separate branch that only has this patch and merge it > into my tree, where git will handle the duplicate. But then we have a > strange history. > > How urgent is your change? Can it wait till my stuff makes it into > Linus's tree in the 3.16 merge window?
Sorry for the confusion. I was expecting you to merge this patch via your tree. I said that in the cover letter for the series, but I should've repeated it in this patch. I included it in the series for completeness and I'll remove it once it reaches mainline. Cheers, Javi > On Tue, 2014-05-20 at 15:10 +0100, Javi Merino wrote: > > From: "Steven Rostedt (Red Hat)" <rost...@goodmis.org> > > > > Being able to show a cpumask of events can be useful as some events > > may affect only some CPUs. There is no standard way to record the > > cpumask and converting it to a string is rather expensive during > > the trace as traces happen in hotpaths. It would be better to record > > the raw event mask and be able to parse it at print time. > > > > The following macros were added for use with the TRACE_EVENT() macro: > > > > __bitmask() > > __assign_bitmask() > > __get_bitmask() > > > > To test this, I added this to the sched_migrate_task event, which > > looked like this: > > > > TRACE_EVENT(sched_migrate_task, > > > > TP_PROTO(struct task_struct *p, int dest_cpu, const struct cpumask > > *cpus), > > > > TP_ARGS(p, dest_cpu, cpus), > > > > TP_STRUCT__entry( > > __array( char, comm, TASK_COMM_LEN ) > > __field( pid_t, pid ) > > __field( int, prio ) > > __field( int, orig_cpu ) > > __field( int, dest_cpu ) > > __bitmask( cpumask, num_possible_cpus() ) > > ), > > > > TP_fast_assign( > > memcpy(__entry->comm, p->comm, TASK_COMM_LEN); > > __entry->pid = p->pid; > > __entry->prio = p->prio; > > __entry->orig_cpu = task_cpu(p); > > __entry->dest_cpu = dest_cpu; > > __assign_bitmask(cpumask, cpumask_bits(cpus), > > num_possible_cpus()); > > ), > > > > TP_printk("comm=%s pid=%d prio=%d orig_cpu=%d dest_cpu=%d cpumask=%s", > > __entry->comm, __entry->pid, __entry->prio, > > __entry->orig_cpu, __entry->dest_cpu, > > __get_bitmask(cpumask)) > > ); > > > > With the output of: > > > > ksmtuned-3613 [003] d..2 485.220508: sched_migrate_task: > > comm=ksmtuned pid=3615 prio=120 orig_cpu=3 dest_cpu=2 > > cpumask=00000000,0000000f > > migration/1-13 [001] d..5 485.221202: sched_migrate_task: > > comm=ksmtuned pid=3614 prio=120 orig_cpu=1 dest_cpu=0 > > cpumask=00000000,0000000f > > awk-3615 [002] d.H5 485.221747: sched_migrate_task: > > comm=rcu_preempt pid=7 prio=120 orig_cpu=0 dest_cpu=1 > > cpumask=00000000,000000ff > > migration/2-18 [002] d..5 485.222062: sched_migrate_task: > > comm=ksmtuned pid=3615 prio=120 orig_cpu=2 dest_cpu=3 > > cpumask=00000000,0000000f > > > > Link: > > http://lkml.kernel.org/r/1399377998-14870-6-git-send-email-javi.mer...@arm.com > > Link: http://lkml.kernel.org/r/20140506132238.22e13...@gandalf.local.home > > > > Suggested-by: Javi Merino <javi.mer...@arm.com> > > Tested-by: Javi Merino <javi.mer...@arm.com> > > Signed-off-by: Steven Rostedt <rost...@goodmis.org> > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/