diff mbox

[3/7] test-coroutine: avoid overflow on 32-bit systems

Message ID 1417183941-26329-4-git-send-email-pbonzini@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini Nov. 28, 2014, 2:12 p.m. UTC
unsigned long is not large enough to represent 1000000000 * duration there.
Just use floating point.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/test-coroutine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ming Lei Dec. 1, 2014, 1:28 a.m. UTC | #1
On Fri, Nov 28, 2014 at 10:12 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> unsigned long is not large enough to represent 1000000000 * duration there.
> Just use floating point.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/test-coroutine.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/test-coroutine.c b/tests/test-coroutine.c
> index e22fae1..27d1b6f 100644
> --- a/tests/test-coroutine.c
> +++ b/tests/test-coroutine.c
> @@ -337,7 +337,7 @@ static void perf_cost(void)
>                     "%luns per coroutine",
>                     maxcycles,
>                     duration, ops,
> -                   (unsigned long)(1000000000 * duration) / maxcycles);
> +                   (unsigned long)(1000000000.0 * duration / maxcycles));

One more single bracket.

thanks,
Ming Lei
Paolo Bonzini Dec. 1, 2014, 12:41 p.m. UTC | #2
On 01/12/2014 02:28, Ming Lei wrote:
>> > -                   (unsigned long)(1000000000 * duration) / maxcycles);
>> > +                   (unsigned long)(1000000000.0 * duration / maxcycles));
> One more single bracket.

I don't understand?

Paolo
Ming Lei Dec. 2, 2014, 1:20 a.m. UTC | #3
On Mon, Dec 1, 2014 at 8:41 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 01/12/2014 02:28, Ming Lei wrote:
>>> > -                   (unsigned long)(1000000000 * duration) / maxcycles);
>>> > +                   (unsigned long)(1000000000.0 * duration / maxcycles));
>> One more single bracket.
>
> I don't understand?

Sorry, it is my fault, :-(

Thanks
diff mbox

Patch

diff --git a/tests/test-coroutine.c b/tests/test-coroutine.c
index e22fae1..27d1b6f 100644
--- a/tests/test-coroutine.c
+++ b/tests/test-coroutine.c
@@ -337,7 +337,7 @@  static void perf_cost(void)
                    "%luns per coroutine",
                    maxcycles,
                    duration, ops,
-                   (unsigned long)(1000000000 * duration) / maxcycles);
+                   (unsigned long)(1000000000.0 * duration / maxcycles));
 }
 
 int main(int argc, char **argv)