Messages in this thread | | | Date | Wed, 10 Feb 2010 14:23:27 +0300 | Subject | Re: [RFC perf,x86] P4 PMU early draft | From | Cyrill Gorcunov <> |
| |
On 2/10/10, Peter Zijlstra <peterz@infradead.org> wrote: > 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? >
yeah, seems so!
> 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. > >
ok, thanks for explanation, Peter! I'll take a closer look as only get back from office.
| |