diff mbox

qemu-timer: remove unnecessary code

Message ID 1468400796-30474-1-git-send-email-caoj.fnst@cn.fujitsu.com
State New
Headers show

Commit Message

Cao jin July 13, 2016, 9:06 a.m. UTC
When passed argument 'ns' is 0, macro DIV_ROUND_UP will return 0 also.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
 qemu-timer.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Paolo Bonzini July 13, 2016, 10:21 a.m. UTC | #1
On 13/07/2016 11:06, Cao jin wrote:
> When passed argument 'ns' is 0, macro DIV_ROUND_UP will return 0 also.

It's potentially slower though.

Paolo

> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
>  qemu-timer.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/qemu-timer.c b/qemu-timer.c
> index eb22e92..cfe0893 100644
> --- a/qemu-timer.c
> +++ b/qemu-timer.c
> @@ -285,12 +285,8 @@ int qemu_timeout_ns_to_ms(int64_t ns)
>          return -1;
>      }
>  
> -    if (!ns) {
> -        return 0;
> -    }
> -
>      /* Always round up, because it's better to wait too long than to wait too
> -     * little and effectively busy-wait
> +     * short and effectively busy-wait
>       */
>      ms = DIV_ROUND_UP(ns, SCALE_MS);
>  
>
Cao jin July 13, 2016, 11:40 a.m. UTC | #2
On 07/13/2016 06:21 PM, Paolo Bonzini wrote:
>
>
> On 13/07/2016 11:06, Cao jin wrote:
>> When passed argument 'ns' is 0, macro DIV_ROUND_UP will return 0 also.
>
> It's potentially slower though.
>

Is it because the function in the i/o loop path, so the potentially 
extra arithmetical instructions matters?

> Paolo
>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>> ---
>>   qemu-timer.c | 6 +-----
>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/qemu-timer.c b/qemu-timer.c
>> index eb22e92..cfe0893 100644
>> --- a/qemu-timer.c
>> +++ b/qemu-timer.c
>> @@ -285,12 +285,8 @@ int qemu_timeout_ns_to_ms(int64_t ns)
>>           return -1;
>>       }
>>
>> -    if (!ns) {
>> -        return 0;
>> -    }
>> -
>>       /* Always round up, because it's better to wait too long than to wait too
>> -     * little and effectively busy-wait
>> +     * short and effectively busy-wait
>>        */
>>       ms = DIV_ROUND_UP(ns, SCALE_MS);
>>
>>
>
>
>
Paolo Bonzini July 13, 2016, 11:40 a.m. UTC | #3
On 13/07/2016 13:40, Cao jin wrote:
> 
> 
> On 07/13/2016 06:21 PM, Paolo Bonzini wrote:
>>
>>
>> On 13/07/2016 11:06, Cao jin wrote:
>>> When passed argument 'ns' is 0, macro DIV_ROUND_UP will return 0 also.
>>
>> It's potentially slower though.
>>
> 
> Is it because the function in the i/o loop path, so the potentially
> extra arithmetical instructions matters?

It is quite common for ns to be zero, for example if a bottom half has
to be invoked.

However, qemu_timeout_ns_to_ms is not used in the really important path
(which is aio_poll in aio-posix.c) so I guess your patch is okay.

Thanks,

Paolo

>> Paolo
>>
>>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>>> ---
>>>   qemu-timer.c | 6 +-----
>>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/qemu-timer.c b/qemu-timer.c
>>> index eb22e92..cfe0893 100644
>>> --- a/qemu-timer.c
>>> +++ b/qemu-timer.c
>>> @@ -285,12 +285,8 @@ int qemu_timeout_ns_to_ms(int64_t ns)
>>>           return -1;
>>>       }
>>>
>>> -    if (!ns) {
>>> -        return 0;
>>> -    }
>>> -
>>>       /* Always round up, because it's better to wait too long than
>>> to wait too
>>> -     * little and effectively busy-wait
>>> +     * short and effectively busy-wait
>>>        */
>>>       ms = DIV_ROUND_UP(ns, SCALE_MS);
>>>
>>>
>>
>>
>>
>
Cao jin July 13, 2016, 12:13 p.m. UTC | #4
On 07/13/2016 07:40 PM, Paolo Bonzini wrote:
>
>
> On 13/07/2016 13:40, Cao jin wrote:
>>
>>
>> On 07/13/2016 06:21 PM, Paolo Bonzini wrote:
>>>
>>>
>>> On 13/07/2016 11:06, Cao jin wrote:
>>>> When passed argument 'ns' is 0, macro DIV_ROUND_UP will return 0 also.
>>>
>>> It's potentially slower though.
>>>
>>
>> Is it because the function in the i/o loop path, so the potentially
>> extra arithmetical instructions matters?
>
> It is quite common for ns to be zero, for example if a bottom half has
> to be invoked.
>

I see. I need dig deeper to understand the wholely I/O mechanism. Thanks 
Paolo!

> However, qemu_timeout_ns_to_ms is not used in the really important path
> (which is aio_poll in aio-posix.c) so I guess your patch is okay.
>
> Thanks,
>
> Paolo
>
diff mbox

Patch

diff --git a/qemu-timer.c b/qemu-timer.c
index eb22e92..cfe0893 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -285,12 +285,8 @@  int qemu_timeout_ns_to_ms(int64_t ns)
         return -1;
     }
 
-    if (!ns) {
-        return 0;
-    }
-
     /* Always round up, because it's better to wait too long than to wait too
-     * little and effectively busy-wait
+     * short and effectively busy-wait
      */
     ms = DIV_ROUND_UP(ns, SCALE_MS);