[PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit

Paul Mundt lethal at linux-sh.org
Wed Oct 6 14:50:57 EDT 2010


On Wed, Oct 06, 2010 at 08:44:07PM +0200, Robert Richter wrote:
> On 06.10.10 14:23:17, Grant Likely wrote:
> > >> diff --git a/drivers/oprofile/oprof.c b/drivers/oprofile/oprof.c
> > >> index b336cd9..76d97a5 100644
> > >> --- a/drivers/oprofile/oprof.c
> > >> +++ b/drivers/oprofile/oprof.c
> > >> @@ -252,6 +252,8 @@ static int __init oprofile_init(void)
> > >> ?{
> > >> ? ? ? int err;
> > >>
> > >> + ? ? memset(&oprofile_ops, 0, sizeof(struct oprofile_operations));
> > >> +
> > >
> > > Yes, this looks much better. Thanks Paul.
> > 
> > oprofile_ops is allocated in bss and so is already zeroed.  No need to
> > do it explicitly.
> 
> Before oprofile_arch_init() it isn't necessarily needed, but we should
> definitely add it before oprofile_timer_init(). For code readability I
> would rather tend to let the first in too.
> 
No, it was intentionally not added in between because architectures could
set a backtrace op even if they had no actual counter information to plug
in. oprofile_timer_init() is pretty careful to clear out all of the
unused fields manually, while leaving the backtrace setting untouched.

sh, ia64, and s390 all depend on this behaviour.



More information about the linux-arm-kernel mailing list