On 10/26/18 7:45 AM, Matthew Wilcox wrote: > struct fpu user_fpu; /* 2176 4160 */ > struct fpu guest_fpu; /* 6336 4160 */ Those are *not* supposed to be embedded in any other structures. My bad for not documenting this better. It also seems really goofy that we need an xsave buffer in the task_struct for user fpu state, then another in the vcpu. Isn't one for user state enough? In any case, I'd suggest getting rid of 'user_fpu', then either moving 'guest_fpu' to the bottom of the structure, or just make it a 'struct fpu *' and dynamically allocating it separately. To do this, I'd take fpu__init_task_struct_size(), and break it apart a bit to tell you the size of the 'struct fpu' separately from the size of the 'task struct'.