Messages in this thread | | | Date | Fri, 11 Dec 2009 08:30:39 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH] x86, msr: add support for non-contiguous cpumasks |
| |
On Thu, Dec 10, 2009 at 05:49:02PM -0800, H. Peter Anvin wrote: > On 12/07/2009 04:21 AM, Borislav Petkov wrote: > > > > struct msr { > > + int cpu; > > union { > > struct { > > u32 l; > > I really don't like this patch, for multiple reasons. One of them is > the above: this has no business being part of struct msr, which reflects > an MSR value (and ideally should replace at least the use of two > pointers in other places over time). Having a CPU field and not an MSR > number field particular doesn't make any sense.
Why, MSRs are per-CPU. My reasoning here is to reflect the value of an MSR on a particular CPU...
[..]
> The ideal probably would be to use a percpu variable. Now, this would > either have to be a dynamic percpu allocation (which would have to be > the responsibility of the caller, and reused, lest this would be a > *very* expensive proposition), or we would have to make these functions > run under a mutex. However, as long as the expected callers of this are > things that get set up once and then pretty much stick around, a percpu > variable might just work.
I think this would be the cleanest way. Also, best it'll be to allocate those dynamically only when they're really needed (e.g. on driver loading) and later reuse them.
[..]
> The third option would be to at least require that the struct msr > contents are at least serial in the order of the bitmask, not by adding > another field.
I had that version already done but it seemed half-baked and clumsy for the MSRs array to traverse. I'll give the percpu variables a shot and get back to you when I have something ready.
Thanks for reviewing.
-- Regards/Gruss, Boris.
Operating | Advanced Micro Devices GmbH System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany Research | Geschäftsführer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München (OSRC) | Registergericht München, HRB Nr. 43632
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |