This is the mail archive of the
mailing list for the glibc project.
- From: George Anzinger <george at mvista dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: libc-alpha at gcc dot gnu dot org
- Date: Mon, 23 Feb 2004 13:32:25 -0800
- Subject: Re: __profile_frequency
- Organization: MontaVista Software
- References: <20030630195819.GA31661@twiddle.net>
Richard Henderson wrote:
Um, so how's
45 tim.it_interval.tv_sec = 0;
46 tim.it_interval.tv_usec = 1;
47 tim.it_value.tv_sec = 0;
48 tim.it_value.tv_usec = 0;
49 __setitimer(ITIMER_REAL, &tim, 0);
50 __setitimer(ITIMER_REAL, 0, &tim);
51 if (tim.it_interval.tv_usec < 2)
52 return 0;
53 return (1000000 / tim.it_interval.tv_usec);
supposed to work? AFAICS there's no reason for the kernel
(1) not to round down instead of up and (2) not do something
else legal like schedule in between the two __setitimer calls.
Time is ALWAYS rounded UP as required by the standard. 2 is legal, however.
On alpha-linux 2.5.73, tim is always zero after the second
call, which results in divide-by-zero FPE in __sprofil.
Why wouldn't this be the same as __getclktck?
George Anzinger email@example.com
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml