(BUG?) round_jiffies() is non-monotonic on SMP

From: Alan Stern
Date: Sat Nov 01 2008 - 12:14:52 EST


Is it generally recognized that round_jiffies() can be non-monotonic on
SMP systems? By this, I mean that if cpu-a and cpu-b respectively do:

ra = round_jiffies(ja);

and

rb = round_jiffies(jb);

then the ordering of ra and rb can be opposite the ordering of ja and
jb.

If this is known, is it regarded as a potential problem? It certainly
seems likely that some code somewhere depends on timeouts expiring in
the correct order.

Alan Stern

P.S.: As a related matter, it seems very odd that we don't have a
round_jiffies_up() routine. Surely there are plenty of places where it
doesn't matter if an event is a little late but where the event must
not be early. (I know two such places offhand.) Any objection to
having one added?

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