Re: [PATCH] Make shr to divide by power of 2 (resend)

From: Robert P. J. Day
Date: Sat Aug 15 2009 - 09:52:16 EST


On Sat, 15 Aug 2009, Jiri Slaby wrote:

> On 08/15/2009 03:43 PM, Sergey Senozhatsky wrote:
> > Make an arithmetic right shift to divide by power of 2.
>
> Why? Is out there a compiler not doing that?
>
> Seems like it should be rather converted to DIV_ROUND_UP.
>
> > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
> > ---
> > diff --git a/drivers/video/console/bitblit.c b/drivers/video/console/bitblit.c
> > index 69864b1..b816151 100644
> > --- a/drivers/video/console/bitblit.c
> > +++ b/drivers/video/console/bitblit.c
> > @@ -144,7 +144,7 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
> > int fg, int bg)
> > {
> > struct fb_image image;
> > - u32 width = (vc->vc_font.width + 7)/8;
> > + u32 width = (vc->vc_font.width + 7) >> 3;
> > u32 cellsize = width * vc->vc_font.height;
> > u32 maxcnt = info->pixmap.size/cellsize;
> > u32 scan_align = info->pixmap.scan_align - 1;

it does seem like a DIV_ROUND_UP would be better but perhaps another
solution would be to define a meaningful macro name for that
operation. if that conversion is going to be done regularly, a macro
with an informative name might be in order. if it's a one-shot
operation, though, not much point.

rday
--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Annoying Kernel Pedantry.

Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/