|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv6 5/5] gnttab: use per-VCPU maptrack free lists
On 24/04/15 10:50, Jan Beulich wrote:
>>>> On 24.04.15 at 11:09, <malcolm.crossley@xxxxxxxxxx> wrote:
>> On 23/04/15 17:11, Jan Beulich wrote:
>>>>>> On 22.04.15 at 18:00, <david.vrabel@xxxxxxxxxx> wrote:
>>>> --- a/xen/include/xen/grant_table.h
>>>> +++ b/xen/include/xen/grant_table.h
>>>> @@ -60,6 +60,8 @@ struct grant_mapping {
>>>> u32 ref; /* grant ref */
>>>> u16 flags; /* 0-4: GNTMAP_* ; 5-15: unused */
>>>> domid_t domid; /* granting domain */
>>>> + u32 vcpu; /* vcpu which created the grant mapping */
>>>> + u16 pad[2];
>>>> };
>>> What is this pad[] good for?
>> The pad is to keep the struct power of 2 sized because this allows the
>> compiler to optimise these macro's to right and left shifts:
>>
>> #define MAPTRACK_PER_PAGE (PAGE_SIZE / sizeof(struct grant_mapping))
>> #define maptrack_entry(t, e) \
>> ((t)->maptrack[(e)/MAPTRACK_PER_PAGE][(e)%MAPTRACK_PER_PAGE])
> Okay, then why u16[2] instead of u32? And please add a brief
> comment explaining the reason.
Most likely because vcpu was a u16 in the first draft, and got bumped
during internal review.
>
> Apart from that I wonder whether fitting vcpu in the 10 unused
> flags bits (not 11, as the comment on the field suggests) would be
> an option. That would require limiting vCPU count to 4k, which I
> don't think would really be a problem for anyone.
8k VCPU PV guests do function, and are very good at finding scalability
limits.
It would be nice not to break this.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |