Re: [PATCH]: jiffies wrap in ll_rw_blk.c

From: Olivier Galibert (galibert@pobox.com)
Date: Wed Nov 20 2002 - 17:20:54 EST


On Wed, Nov 20, 2002 at 09:19:33PM +0000, Alan Cox wrote:
> On Wed, 2002-11-20 at 20:44, Luben Tuikov wrote:
> > --- ll_rw_blk.c.old Wed Nov 20 15:32:50 2002
> > +++ ll_rw_blk.c Wed Nov 20 15:33:06 2002
> > @@ -2092,7 +2092,7 @@
> > complete(req->waiting);
> >
> > if (disk) {
> > - unsigned long duration = jiffies - req->start_time;
> > + unsigned long duration = (signed) jiffies - (signed) req->start_time;
> > switch (rq_data_dir(req)) {
>
> It was right before. Your patch breaks it. Think about it in unsigned
> maths
>
> 0x00000002 - 0xFFFFFFFF = 0x00000003

Signed vs. unsigned is actually irrelevant in two-complement systems
as long as you don't compare. Only the int/long issue has an actual
effect.

  OG.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:34 EST