Re: POSIX timer syscalls

george anzinger
2003-03-07T01:29:13Z

David Mosberger wrote:
>>>>>>On Thu, 06 Mar 2003 15:53:50 -0800, george anzinger <george@mvista.com> said:
>
>
> George> I think there is a bit of a problem in the idr code
> George> (.../lib/idr.c) which manages the id allocation. Seems we
> George> are returning "long" from functions declared as int. If I
> George> remember the code correctly this will work, but it does
> George> eliminate the sequence number that should be in the high 8
> George> bits of the id.
>
> Yes. We have had some reports of problems with POSIX timers and I
> suspect this might be the reason (though I don't know what the exact
> code-base was that the person reporting the problem was using).
>
> George> This assumes that you never allocate more than 2,147,483,647
> George> timers at once :) I will look at this and send in a patch.
> George> I think we should return what ever timer_t is, so we should
> George> run that to ground first.
>
> Yes, that would be better. According to Uli, a 32-bit timer_t is fine
> as far as the standards are concerned. That's good.
>
> George> I suspect we should also have a look at all the structures
> George> with a view to alignment issues or is this not a problem?
> George> I.e. is this struct ok:
>
> George> struct { long a; int b; long c; }
>
> Such code may be OK correctnesswise, but to avoid wasting space, it's
> clearly better to list larger members first.

Ok, I will fix all the above and shoot you a patch. I assume you can
test it on a 64-bit platform. Right?

-g
>
> --david
>
>

--
George Anzinger george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml