Let's try a try:
#define time_before(unknown, known) ((long)(unkown) - (long)(known) < 0)
, , long - , [0, 0xFFFF].
, [0, 0xFFFF] [0, 0x7FFF], [0x8000, 0xFFFF]. [0, 32767], [-32768, -1]. :
[0x0 - - - 0xFFFF]
[0x0 0x7FFF][0x8000 0xFFFF]
[0 32,767][-32,768 -1]
timeout - 32 000. , -, , jiffies -31,000. , jiffies < timeout, True. , :
time_before(jiffies, offset)
== ((long)(jiffies) - (long)(offset) < 0)
== (-31000 - 32000 < 0)
== (-31000 - 1768 - 1 - 30231 < 0)
== (-32768 - 1 - 30232 < 0)
== (32767 - 30232 < 0)
== (2535 < 0)
== False
jiffies - 4 , 2, . ?