Messages in this thread |  | | Date | Thu, 1 Nov 2001 12:02:22 -0500 | From | Benjamin LaHaise <> | Subject | Re: [Patch] Re: Nasty suprise with uptime |
| |
On Thu, Nov 01, 2001 at 10:34:53AM -0500, Richard B. Johnson wrote: > Well not exactly zealots. I test a lot of stuff. In fact, the code > you propose: > > if(++jiffies==0) jiffies_hi++; > > ... actually works quite well:
Uhm, no, it really doesn't. See how it pairs with other instructions and what the cost is when it doesn't have to be as bad:
this: unsigned long a, b; if (++a == 0) b++; gives: movl a, %eax movl %esp, %ebp incl %eax testl %eax, %eax movl %eax, a je .L3 .L2: popl %ebp ret .p2align 4,,7 .L3: incl b jmp .L2
which is really gross considering that:
unsigned long long c; c++;
gives:
addl $1, c adcl $0, c+4
which is quite excellent.
-ben - 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/
|  |