lkml.org 
[lkml]   [2008]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] virtio_balloon: fix towards_target when deflating balloon


On Mon, 18 Aug 2008, Anthony Liguori wrote: <
>
> This handles the case where v < vb->num_pages and ensures we get a
> small, negative, s64 as the result.

That's just horrible code.

Maybe the compiler notices that you're doing something stupid, but
basically, please don't do this.

> - return v - vb->num_pages;
> + if (v < vb->num_pages)
> + return -(s64)(vb->num_pages - v);
> + else
> + return v - vb->num_pages;

What's wrong with just doing

return (s64)v - vb->num_pages;

instead?

Casting 'v' to s64 guarantees that the subtraction will eb done in 64
bits, and the compiler can just generate the trivial non-conditional code.

Linus


\
 
 \ /
  Last update: 2008-08-19 02:45    [W:0.044 / U:0.704 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site