[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] apic: clean up msr handling



On Friday 11 June 2010 15:49:39 Keir Fraser wrote:
> On 11/06/2010 14:40, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:
> >>>> On 11.06.10 at 15:22, Christoph Egger <Christoph.Egger@xxxxxxx> wrote:
> >>
> >> -static inline void write_efer(u64 val)
> >> -{
> >> -    this_cpu(efer) = val;
> >> -    wrmsrl(MSR_EFER, val);
> >> -}
> >> +#define write_efer(val) do { \
> >> +    this_cpu(efer) = val; \
> >> +    wrmsrl(MSR_EFER, val); \
> >> +} while(0)
> >
> > This isn't a good change imo: You now require all current and future
> > users of write_efer() to not pass expressions with side effects.
> >
> > Also, is doesn't really look like a cleanup to me, more like a
> > complication.
>
> Hm, I didn't spot that one. It's odd since I thought Christoph was changign
> macros into inlien functions where possible. Maybe he just changes in
> whichever direction makes his patch bigger? ;-)

No, this change has to do with 'smp_processor_id() undefined'.
The root problem is a circular dependency with inclusion of headers.
The right fix is to clean up the headers.

Christoph

-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.