Re: [Patch] Re: Nasty suprise with uptime

Andreas Dilger (adilger@turbolabs.com)
Wed, 31 Oct 2001 14:45:20 -0700


On Oct 31, 2001 22:11 +0000, Petr Vandrovec wrote:
> this reminds me. Year or so ago there was patch from someone, which
> detected jiffies overflow in /proc/uptime proc_read() code, so only thing
> you had to do was run 'uptime', 'w', 'top' or something like that
> every 497 days - you can schedule it as cron job for Jan 1, 0:00:00,
> to find some workoholics.

Sorry, your posting is 14 minutes too late ;-). I just re-invented this
wheel. Such is the pace of Linux kernel development.

> static unsigned long long jiffies_hi = 0;
> static unsigned long old_jiffies = 0;
> unsigned long jiffy_cache;
>
> /* some spinlock or inode lock or something like that */
> jiffy_cache = jiffies;
> if (jiffy_cache < old_jiffies) {
> jiffies_hi += 1ULL << BITS_PER_LONG;
> }

Ah, my code only stored the high 32 bits of the jiffies_hi, so we don't
ever do 64-bit math for this, only a simple increment. Otherwise it is
exactly the same, including the "some spinlock or something" comment ;-).

Cheers, Andreas

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

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