[PATCH 0/2] powerpc: perfmon2 prereqs
Kevin Corry
kevcorry at us.ibm.com
Thu May 3 03:08:57 EST 2007
Hi,
This is a repost of a couple patches I posted about a month ago related to
porting perfmon2 to powerpc. I wanted to see if there were any further
comments on these patches, and also wanted to ask if these should be
submitted separately to the ppc kernel maintainers, or if they should be kept
with the perfmon2 patches until those are submitted.
The first patch adds an smp_call_function_single() routine for powerpc. In
2.6.21, there's a prototype for this routine in include/linux/smp.h, and it
is implemented on i386, ia64, and x86-64. Since this routine is very similar
to the existing smp_call_function() routine, the common portions have been
pulled out into __smp_call_function(). Perfmon2 uses this unload a context
that's loaded on a CPU other than the one that's performing the close-context
routine.
The second patch changes the powerpc version of topology_init() from an
__initcall to a subsys_initcall, which matches the definition of
topology_init() on all other architectures. Perfmon2's initialization is done
as a subsys_initcall, but it fails to set up its sysfs information if
topology_init() has not yet run. Changing perfmon2 to an __initcall() was
discussed, but we came to the conclusion that this would not work because the
perfmon2 core must be initialized before any of its sub-modules. These
sub-modules are located in arch/*/perfmon/, and thus if they are built
statically they would run their module_init routines before the perfmon2 core
ran its __initcall routine.
We have been running tests with these patches for the last few weeks on Cell
and Power5 systems without any problems.
Thanks,
--
Kevin Corry
kevcorry at us.ibm.com
http://www.ibm.com/linux/
More information about the Linuxppc-dev
mailing list