[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080326065317.GH18301@elte.hu>
Date: Wed, 26 Mar 2008 07:53:17 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Mike Travis <travis@....com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Philippe Elie <phil.el@...adoo.fr>
Subject: Re: [PATCH 09/10] x86: oprofile: remove NR_CPUS arrays in
arch/x86/oprofile/nmi_int.c
* Mike Travis <travis@....com> wrote:
> Change the following arrays sized by NR_CPUS to be PERCPU variables:
>
> static struct op_msrs cpu_msrs[NR_CPUS];
> static unsigned long saved_lvtpc[NR_CPUS];
>
> Also some minor complaints from checkpatch.pl fixed.
thanks, applied.
> All changes were transparent except for:
>
> static void nmi_shutdown(void)
> {
> + struct op_msrs *msrs = &__get_cpu_var(cpu_msrs);
> nmi_enabled = 0;
> on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1);
> unregister_die_notifier(&profile_exceptions_nb);
> - model->shutdown(cpu_msrs);
> + model->shutdown(msrs);
> free_msrs();
> }
>
> The existing code passed a reference to cpu 0's instance of struct
> op_msrs to model->shutdown, whilst the other functions are passed a
> reference to <this cpu's> instance of a struct op_msrs. This seemed
> to be a bug to me even though as long as cpu 0 and <this cpu> are of
> the same type it would have the same effect...?
i dont think this has any real effect in practice (the model pointers
are not expected to change across cpus on the same system) - but in any
case i've promoted your observation to the main portion of the changelog
so that we'll have notice of this.
(someone might want to play with simulating a weaker CPU on a secondary
core, but we've got tons of other assumptions on CPU type symmetry.)
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists