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

Olivier Galibert (galibert@pobox.com)
Wed, 20 Nov 2002 17:20:54 -0500


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/