Re: [patch] Real-Time Preemption, -RT-2.6.12-rc4-V0.7.47-06

Michal Schmidt
2005-05-30T16:48:44Z

[-- Attachment #1: Type: text/plain, Size: 747 bytes --]

Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>>agreed - i've added your patch to my tree.
>
> with a small modification: i turned the error into a link-time error,
> because gcc parses both branches and will give a compiler-time warning
> even if the proper compat_semaphore is used.

Oh, sorry. I actually had it produce a link-time error at first. But I
wanted so much to make it fail at compile time that I screwed it up and
didn't test both cases.

However, what you have in RT-V0.7.47-13 is still not correct. Now it
again produces only a warning :-)
Patch attached. This time I really tested it in both cases. For struct
semaphore it fails at link-time. For struct compat_semaphore it compiles
without problems.

Michal

[-- Attachment #2: rt_init_MUTEX_LOCKED.diff --]
[-- Type: text/x-patch, Size: 707 bytes --]

diff -Nurp -X linux-RT/Documentation/dontdiff linux-RT/include/linux/rt_lock.h linux-RT.mich/include/linux/rt_lock.h
--- linux-RT/include/linux/rt_lock.h 2005-05-30 18:40:07.000000000 +0200
+++ linux-RT.mich/include/linux/rt_lock.h 2005-05-30 18:29:53.000000000 +0200
@@ -210,7 +210,7 @@ extern void there_is_no_init_MUTEX_LOCKE
* No locked initialization for RT semaphores
*/
#define rt_init_MUTEX_LOCKED(sem) \
- there_is_no_init_MUTEX_LOCKED_for_RT_semaphores
+ there_is_no_init_MUTEX_LOCKED_for_RT_semaphores()
extern void FASTCALL(rt_down(struct semaphore *sem));
extern int FASTCALL(rt_down_interruptible(struct semaphore *sem));
extern int FASTCALL(rt_down_trylock(struct semaphore *sem));