Re: [PATCH] Real-Time Preemption V0.7.52-07: rt_init_MUTEX_LOCKEDdeclaration

From: Steven Rostedt
Date: Mon Aug 01 2005 - 13:58:52 EST


On Mon, 2005-08-01 at 16:26 +0000, Luca Falavigna wrote:
> This patch fixes broken rt_init_MUTEX_LOCKED declaration using rt_sema_init()
> macro. This way we fix a potential compile bug: rt_init_MUTEX_LOCKED calls
> there_is_no_init_MUTEX_LOCKED_for_RT_semaphores, which is not referenced.
> (e.g. drivers/char/watchdog/cpu5wdt.c: "cpu5wdt: Unknown symbol
> there_is_no_init_MUTEX_LOCKED_for_RT_semaphores")
>
>

Ingo,

When did you solve the problem of ownership of locked semaphores? ;-)

Luca,
Unless Ingo did solve the problem of semaphores that can be locked by
one task and unlocked by another task, I wouldn't use your patch.
There's a problem with priority inheritance when it comes to these
semaphores. That is who owns a locked semaphore that will later be
unlocked by someone else? When a RT process blocks on this semaphore,
who does it boost to release it? Ingo purposely put this in to crash
the compile so that we know where this can be a problem right away.

The patch you wanted to send was:

Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Index: linux_realtime_ernie/drivers/char/watchdog/cpu5wdt.c
===================================================================
--- linux_realtime_ernie/drivers/char/watchdog/cpu5wdt.c (revision 265)
+++ linux_realtime_ernie/drivers/char/watchdog/cpu5wdt.c (working copy)
@@ -56,7 +56,7 @@
/* some device data */

static struct {
- struct semaphore stop;
+ struct compat_semaphore stop;
volatile int running;
struct timer_list timer;
volatile int queue;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/