setitimer shows different between amd64 and ia32

Mulyadi Santosa mulyadi.santosa at gmail.com
Mon Jul 25 00:06:13 EDT 2011


Hi....

On Mon, Jul 25, 2011 at 03:10, Adam Lee <adam8157 at gmail.com> wrote:
> Hi, all
>
> I'm working on a test which invoking setitimer(), and it hang in
> ia32 and ppc, but passed in amd64, could you guys give some help?
>
> 1, I know the 'value.it_interval.tv_usec' is too short, but why amd64
> passed?

All of my answers are pure speculation. Regarding AMD64 that
successfully run the code, I am not sure it's due to the processor
itself. Maybe because...in your machine that use AMD64, it uses HPET
by default?

> 2, If I switch clock source from "tsc" to "hpet" on ia32, it passed.

This is interesting. I can only offer one explanation: finer grained
timer resolution. TSC itself should be fast, but I am not whether it
triggers interrupt...while on the other hand HPET will deliver
interrupt.

> 3, I compiled it in ia32 and run it with ia32-libs in amd64, it passed.

Very confusing to me.  Again I can only guess that maybe in your AMD64
machine, HPET is default timer?

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list