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.
--david
-
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/