On Mon, Nov 23, 2009 at 2:45 PM, Peter Zijlstra <pet...@infradead.org> wrote: > On Mon, 2009-11-23 at 14:34 +0100, stephane eranian wrote: > >> > Won't this give very funny results for mixed pmu groups? >> > >> >> What do you mean by 'mixed pmu groups'? > > We currently have a number of struct pmu objects: > > perf_ops_generic > perf_ops_cpu_clock > perf_ops_task_clock > > which are all software based PMUs, and one of: > > pmu (arch/x86/kernel/cpu/perf_event.c) > power_pmu (arch/powerpc/kernel/perf_event.c) > > To represent the hardware PMU. > > Now say you mix software events and hardware events into a single group, > the loop in validate_group: > > list_for_each_entry(sibling, &leader->sibling_list, group_entry) { > if (!validate_event(&fake_pmu, sibling)) > return -ENOSPC; > } > > could pass a !hardware event into validate_event(), which currently > ignores it because event->pmu won't be &pmu, however if you remove that > check, it'll try and call x86 routines on a software event, which is > bound to go funny. > Ok, so it seems the only valid test to check if the event is related to the HW PMU is to compare event->pmu with pmu (arch/x86/.../perf_event.c).
In that case you first suggestion is fine. > Now Frederic is going to make things more interesting by representing HW > breakpoints as another HW PMU (the distinction between hw/sw pmu is in > scheduling, you can always schedule a software event). > > This weakens the !is_software_event(), in that !software doesn't tell > you which hardware event it is -- something which needs mending in your > more complex x86 constraints scheduling patch. > That means we can drop is_software_event() in this code and instead define locally in x86 a is_hw_pmu_event() function as event->pmu == &pmu. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel