Re: [PATCH] writeback: prevent bandwidth calculation overflow

From: Wu Fengguang
Date: Thu Nov 18 2010 - 11:22:37 EST


On Fri, Nov 19, 2010 at 12:06:52AM +0800, Wu Fengguang wrote:
> On Fri, Nov 19, 2010 at 12:02:01AM +0800, Peter Zijlstra wrote:
> > On Thu, 2010-11-18 at 23:44 +0800, Wu Fengguang wrote:
> > > + pause = HZ * pages_dirtied / (bw + 1);
> >
> > Shouldn't that be using something like div64_u64 ?
>
> OK, but a dumb question: gcc cannot handle this implicitly?

Hmm, I'm tempting to do

pause = HZ * pages_dirtied / ((unsigned long)bw + 1);

because here "bw" is guaranteed to be smaller than ULONG_MAX.

Thanks,
Fengguang

--
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/