Re: [Patch] Re: Nasty suprise with uptime

Andreas Dilger (adilger@turbolabs.com)
Thu, 1 Nov 2001 18:23:34 -0700


On Nov 02, 2001 01:28 +0100, Tim Schmielau wrote:
> Well, I did the next patch without waiting for progress on the stability
> front (fsck still in heavy use here). As an excercise I added proper
> locking to get_jiffies64().

Looks good.

> idle = init_tasks[0]->times.tms_utime + init_tasks[0]->times.tms_stime;
> [snip]
> */
> #if HZ!=100
> len = sprintf(page,"%lu.%02lu %lu.%02lu\n",
> - uptime / HZ,
> - (((uptime % HZ) * 100) / HZ) % 100,
> + (unsigned long) uptime,
> + (remainder * 100) / HZ,
> idle / HZ,
> (((idle % HZ) * 100) / HZ) % 100);

Probably need to make idle a 64-bit value as well, even if the individual
items are not, just to avoid potential overflow... Calling do_div(idle,HZ)
may end up being just as fast as the hoops we jump through above to calculate
the fractions (2 divides, 2 modulus, and one multiply).

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/