[PATCH 4/7] ARM: oprofile: Move non-ARM code into separate init/exit
Robert Richter
robert.richter at amd.com
Wed Oct 6 10:59:03 EDT 2010
On 06.10.10 10:53:11, Paul Mundt wrote:
> On Wed, Oct 06, 2010 at 04:49:21PM +0200, Robert Richter wrote:
> > On 06.10.10 15:33:09, Robert Richter wrote:
> > > On 04.10.10 16:44:22, Matt Fleming wrote:
> > > > -void __exit oprofile_arch_exit(void)
> > > > +int __init oprofile_arch_init(struct oprofile_operations *ops)
> > > > +{
> > >
> > > We should do here a:
> > >
> > > memset(ops, 0, sizeof(*ops));
> >
> > Matt,
> >
> > an alternative would be to move this to oprofile_perf_init() and
> > modify ops->backtrace afterwards, but then we will lose the function's
> > tail call. Not sure that is better. Paul, what do you think?
> >
> I'm a bit confused as to why we just don't do:
>
> ---
>
> 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.
-Robert
> err = oprofile_arch_init(&oprofile_ops);
> if (err < 0 || timer) {
> printk(KERN_INFO "oprofile: using timer interrupt.\n");
>
--
Advanced Micro Devices, Inc.
Operating System Research Center
More information about the linux-arm-kernel
mailing list