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

Re: [Xen-devel] 32/64-bit hypercall interface - padding

On 3 Oct 2005, at 20:16, Hollis Blanchard wrote:

However, since we're not actually changing the size of any types, this
change isn't essential to rush through before 3.0, though it might be
nice as it should be very low risk.

I'm working on this patch now.

However, ureg_t alone will not alleviate the padding issues that the dom0_ops structures have. Since we're insisting on using types that change size (and alignment requirements), only reordering the fields will help there. Poor structure layout impacts memory usage and cache footprint, as you mention

Well, at least this patch will be benign, but on its own it is also *totally* pointless. You can't use it to get 64-bit struct arrangement on 32-bit builds because it will leave pointers as 32-bit aligned and sized fields. We could macro up pointer fields I suppose:
#define XENIF_PTR(type, name) type name
So that macro can be overridden to get 64-bit sized and aligned pointer fields?

And ureg_t is a name that's bound to clash with something down the road. Maybe xenreg_t, or even just be explicit about what it is and call it xenif_ulong_t?

 -- Keir

Xen-devel mailing list



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