qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 10/16] dimm: add busy slot check and slot auto-a


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 10/16] dimm: add busy slot check and slot auto-allocation
Date: Fri, 26 Jul 2013 11:26:16 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7

Il 26/07/2013 09:38, Igor Mammedov ha scritto:
> Perhaps denying memory add and suggesting node migration to a node with
> more memory would be right approach, otherwise user is bound to be hit by
> cross node penalty.

Or better, the user can first change the policy from "bind" to
"preferred", and then hotplug.

>> > I agree that specifying the policy on every hotplug complicates
>> > management and may be overkill.  But then, most guests are not NUMA at
>> > all and you would hardly perceive the difference, you would just have to
>> > separate
>> > 
>> >     set-mem-policy 0 size=2G
>> >     device_add dimm,slot=0
> I'm confused, size is inherent property of generic DimmDevice and policies
> are NUMA specific of node.

No, the size is not a property of the DimmDevice, it is a property of
the host object that backs the DimmDevice.  This is like the size is not
a property of a disk, but rather of the image that backs it.

Now, there may be a good reason to remove the host/guest distinction in
the case of memory, but I'm still not sure this is the case.

In the case of NUMA policies, I talked to Andrea Arcangeli and indeed
his suggestion was to have a single policy per guest node (typically
bind or preferred if guest node size <= host node size, interleave if
guest node size > host node size).

However, there are other properties of the memory object (e.g. hugetlbfs
path) that could be customized for every slot.

Paolo

> If there is need for per DIMM policies, I'd store NUMA specific policy inside
> object that implements it (allocates memory), and apply them to DIMM when
> it's realized.
> 
>     set-mem-policy nodeid=X,mem-hostnodes=Z,dev=dimmY
>     device_add dimm,id=dimmY,size=2G,node=X
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]