Messages in this thread | | | Subject | Re: [RFC perf,x86] P4 PMU early draft | From | Peter Zijlstra <> | Date | Wed, 10 Feb 2010 11:52:55 +0100 |
| |
On Wed, 2010-02-10 at 13:38 +0300, Cyrill Gorcunov wrote: > > I'd try BUG_ON(cpu != smp_processor_id()) and scrap passing that cpu > > thing around. > > > > no, i need cpu to find out if event has migrated from other thread and > then i switch > some thread dependant flags in hw::config (ie escr and cccr), or i > miss something and events in one cpu just can't migrate to another > cpu?
Well, if we validate that cpu == smp_processor_id() (looking at kernel/perf_event.c that does indeed seem true for hw_perf_group_sched_in() -- which suggests we should simply remove that cpu argument), and that cpu will stay constant throughout the whole callchain (it does, its a local variable), we can remove it and substitute smp_processor_id(), right?
As to migration of the event, its tied to a task, we're now installing the event for a task it wouldn't make sense to allow that to be preemptible.
| |