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

Re: [Xen-devel] [PATCHv4 8/8] x86: reduce struct hvm_domain size



On 08/05/15 10:47, Jan Beulich wrote:
>>>> On 30.04.15 at 17:33, <david.vrabel@xxxxxxxxxx> wrote:
>> Pack struct hvm_domain to reduce it by 8 bytes.  Thus reducing the
>> size of struct domain by 8 bytes.
> 
> Is that really true _after_ the change to ticket locks?

Yes.

>> @@ -137,6 +131,12 @@ struct hvm_domain {
>>      bool_t                 is_s3_suspended;
>>      bool_t                 introspection_enabled;
>>  
>> +    /* If one of vcpus of this domain is in no_fill_mode or
>> +     * mtrr/pat between vcpus is not the same, set is_in_uc_mode
>> +     */
>> +    bool_t                 is_in_uc_mode;
>> +    spinlock_t             uc_lock;
>> +
>>      /*
>>       * TSC value that VCPUs use to calculate their tsc_offset value.
>>       * Used during initialization and save/restore.
> 
> And here it follows 5 bool_t-s, and is being followed by an 8-byte
> aligned field. I.e. without ticket locks it exactly fills the 3 byte gap,
> but with ticket locks it requires a second 8-byte slot.

No.  The old byte locks were 4-bytes in size (not 2 bytes).

> Additionally I wonder whether the reduced distance between
> uc_lock and msixtbl_list_lock would now lead to (or, going forward,
> at least risk) them being on the same cache line.

They're still on different cache lines.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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