Re: [PATCH 9/9] qemu: Implement VIR_DOMAIN_BANDWIDTH_IN_FLOOR

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

 



On 11.08.2015 03:31, John Ferlan wrote:
> 
> 
> On 08/03/2015 02:39 AM, Michal Privoznik wrote:
>> Well, there are just two places that needs adjustment:
>>
>> qemuDomainGetInterfaceParameters - to report the @floor
>> qemuDomainSetInterfaceParameters - now that the function has been
>> fixed, we can allow updating @floor too.
>>
>> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
>> ---
>>  src/qemu/qemu_driver.c | 23 ++++++++++++++++++-----
>>  1 file changed, 18 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>> index 171b58f..7123083 100644
>> --- a/src/qemu/qemu_driver.c
>> +++ b/src/qemu/qemu_driver.c
>> @@ -138,7 +138,7 @@ VIR_LOG_INIT("qemu.qemu_driver");
>>  
>>  #define QEMU_NB_BLKIO_PARAM  6
>>  
>> -#define QEMU_NB_BANDWIDTH_PARAM 6
>> +#define QEMU_NB_BANDWIDTH_PARAM 7
>>  
>>  static void processWatchdogEvent(virQEMUDriverPtr driver,
>>                                   virDomainObjPtr vm,
>> @@ -11126,6 +11126,8 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
>>                                 VIR_TYPED_PARAM_UINT,
>>                                 VIR_DOMAIN_BANDWIDTH_IN_BURST,
>>                                 VIR_TYPED_PARAM_UINT,
>> +                               VIR_DOMAIN_BANDWIDTH_IN_FLOOR,
>> +                               VIR_TYPED_PARAM_UINT,
>>                                 VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE,
>>                                 VIR_TYPED_PARAM_UINT,
>>                                 VIR_DOMAIN_BANDWIDTH_OUT_PEAK,
>> @@ -11178,6 +11180,9 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
>>              bandwidth->in->peak = params[i].value.ui;
>>          } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_BURST)) {
>>              bandwidth->in->burst = params[i].value.ui;
>> +        } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_FLOOR)) {
>> +            bandwidth->in->floor = params[i].value.ui;
>> +            inboundSpecified = true;
> 
> If 'average' is required, then can one really provide just floor?
> 
>>          } else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE)) {
>>              bandwidth->out->average = params[i].value.ui;
>>              outboundSpecified = true;
>> @@ -11191,7 +11196,7 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
>>      /* average is mandatory, peak and burst are optional. So if no
>>       * average is given, we free inbound/outbound here which causes
>>       * inbound/outbound to not be set. */
> 
> Adjust comment to account for floor...
> 
>> -    if (!bandwidth->in->average)
>> +    if (!bandwidth->in->average && !bandwidth->in->floor)
> 
> Again, I thought average was required ... sorry it's just late. Maybe
> the updated comment will answer my query...

Either average or floor is required. This is what I am squashing in:

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d92c6e0..2e44500 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -11197,9 +11197,9 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
         }
     }
 
-    /* average is mandatory, peak and burst are optional. So if no
-     * average is given, we free inbound/outbound here which causes
-     * inbound/outbound to not be set. */
+    /* average or floor are mandatory, peak and burst are optional.
+     * So if no average or floor is given, we free inbound/outbound
+     * here which causes inbound/outbound to not be set. */
     if (!bandwidth->in->average && !bandwidth->in->floor)
         VIR_FREE(bandwidth->in);
     if (!bandwidth->out->average)


> 
> ACK in principle
> 
> John

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]