Re: [Patch] Re: Nasty suprise with uptime

Richard B. Johnson
2001-10-31T21:11:41Z

On Wed, 31 Oct 2001, Tim Schmielau wrote:

> On Wed, 31 Oct 2001, vda wrote:
>
[SNIPPED...]
>
> btw.: can someone please explain to me why do_timer uses
> (*(unsigned long *)&jiffies)++;
> instead of just doing jiffies++ ?
>
> Tim

It's an attempt to prevent the 'C' compiler from doing this:

movl (jiffies), %eax # Read
incl %eax # Modify
movl %eax, (jiffies) # Write

Instead, we want it to do this:

movl jiffies, %ebx # init a pointer
incl (%ebx) # Modify directly

With some gcc versions, it works. Others, it doesn't hurt.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).

I was going to compile a list of innovations that could be
attributed to Microsoft. Once I realized that Ctrl-Alt-Del
was handled in the BIOS, I found that there aren't any.