2.6.31-rt10 a mutex by another name

Linux 2.6.31-rt10 (final) is released. Reportedly this does not work with the Nvidia module because of missing #define of init_MUTEX(mutex) used in usr/src/nv/nv-linux.h line 739:

[codebox]#if defined(CONFIG_PREEMPT_RT)

// #define NV_INIT_MUTEX(mutex) init_MUTEX(mutex)

#define NV_INIT_MUTEX(mutex) sema_init(mutex,1) // possible fix ??

#else

#if !defined(__SEMAPHORE_INITIALIZER) && defined(__COMPAT_SEMAPHORE_INITIALIZER)

#define __SEMAPHORE_INITIALIZER __COMPAT_SEMAPHORE_INITIALIZER

#endif[/codebox]

Anybody looking into this?

http://www.nvnews.net/vbulletin/showthread.php?t=138651

EDIT: Apparently Jan Engelhardt has:

http://www.spinics.net/lists/linux-rt-users/msg04834.html

OK. that was fast :-D

User ibuclaw at nvnews took the above mentioned work for a spin, and came up with a patch for nvidia-190-32:
http://www.nvnews.net/vbulletin/showpost.p…mp;postcount=13

I am still at nvidia driver 190.18 but will try this one out later today with Linux kernel 2.6.29-rt before attempting to upgrade to 2.6.31-rt

BTW: When did Nvidia start including CONFIG_PREEMPT_RT in the driver? It really changes the whole paradigm for what is possible to do with CUDA. For instance, I have an audio application that runs 0.5 ms every 1.0 ms. With preempt I can then also run several instances of glxgears (to produce a test load) as well as a fullscreen video framegrabber. Hey, I can even run an instance of FlightGear (although with this card not in fullscreen…)