The attached patch does the following: Removes C++ comment in favor of C style. Removes the special treatment for MIPS SIGEV values. We only require (and error if this fails) that the SIGEV_THREAD_ID value not share bits with the other SIGEV values. Note that mips has yet to define this value so when they do... Corrects the check for the signal range to be from 1 to SIGRTMAX inclusive. Adds a check to verify that kmem_cache_alloc() actually returned a timer, error if not. Fixes a bug in timer_gettime() where the incorrect value was returned if a signal was pending on the timer OR the timer was a SIGEV_NONE timer. -- 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