[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] xen/arm: flush D-cache and I-cache when appropriate
At 13:56 +0000 on 19 Nov (1353333381), Ian Campbell wrote: > On Mon, 2012-11-19 at 13:08 +0000, Tim Deegan wrote: > > Sorry for the late review - I meant to get to these on Thursday but > > hadn't time. > > > > At 12:55 +0000 on 19 Nov (1353329757), Ian Campbell wrote: > > > > +/* Macro for flushing a single small item. The predicate is always > > > > + * compile-time constant so this will compile down to 3 instructions in > > > > + * the common case. > > > > This is no longer true! The predicate now depends on the alignment of > > the pointer, so this will compile to quite a bit of code, including the > > memory barrier I was trying to avoid. > > If p is static then isn't p + sizeof(*p) etc static and therefore the > compiler can figure it out? No. Cacheline_bytes isn't known until run time, and even if p is static, its value isn't known until link time. :( > Stefano, what does it actually compile down to in practice? > > > If we can sensibly restrict this to naturally-aligned objects smaller > > than a cacheline, we should go back to the previous version of this > > macro. If not, I think we might as well just use > > flush_xen_dcache_va_range(_p, sizeof *_p) and be done with it. > > I've already committed it, so please send a followup patch of whichever > sort is needed. Will do. Again, probably Thursday before I can get to it. Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |