On 2011-7-6 16:56, Nikunj A. Dadhania wrote:
On Wed, 06 Jul 2011 14:56:27 +0800, Gui Jianfeng
<guijianfeng(a)cn.fujitsu.com> wrote:
> On 2011-7-5 16:41, Nikunj A. Dadhania wrote:
>> On Tue, 05 Jul 2011 15:06:06 +0800, Wen Congyang <wency(a)cn.fujitsu.com>
wrote:
>>> At 07/04/2011 07:19 PM, Nikunj A. Dadhania Write:
>>>> On Thu, 30 Jun 2011 11:13:18 +0800, Wen Congyang
<wency(a)cn.fujitsu.com> wrote:
>>>>> We want to control bandwidth for each vcpu, so we can not use the
>>>>> API virDomainSetSchedulerParameters(). Introduce two new APIs to
>>>>> change and query bandwidth for each vcpu.
>>>>>
>>>> Will we have different cpu bandwidth for different vcpus?
>>>>
>>>> Something like this:
>>>>
>>>> vcpu1: 1000000/250000
>>>> vcpu2: 1000000/500000
>>>> vcpu3: 1000000/300000
>>>> vcpu4: 1000000/400000
>>>>
>>>> IMO, that is not required, we can have a top level bandwitdh for the VM
>>>> and then redistribute it among vcpus equally, without user knowing about
>>>> it.
>>>>
>>>> Something like this:
>>>>
>>>> VM1(4vcpu) has to be throttled at 1CPU bandwidth using
SetSchedParamters.
>>>>
>>>> Internally libvirt splits it equally:
>>>> vcpu1: 1000000/250000
>>>> vcpu2: 1000000/250000
>>>> vcpu3: 1000000/250000
>>>> vcpu4: 1000000/250000
>>>>
>>>> So why introduce VCPU level apis?
>>>
>>> Adam Litke said IBM's performance team nead to control cpu bandwidth for
each
>>> vcpu.
>> Right, but we do not export that as a User API, that was my suggestion.
>> We can internally control each vcpu's bandwidth, i.e. divide equally.
>
> Hmm, I heard that some server could run CPUs at different speed.
> May be this patch can simulate this behavior.
That happens on my laptop as well, depending on the machine load CPU
frequency is changed but it is done transparently.
I means explicitly CPU speed configuring. ;)
I am not sure if we are trying to simulate that here.
So why not leave the flexible interface here, and let users make
the decision?
Thanks,
Gui
Regards
Nikunj