Re: [BUG on PREEMPT_RT, 2.6.23.1-rt5] in rt-mutex code and signals

From: Ingo Molnar
Date: Sat Nov 17 2007 - 12:46:41 EST



* Daniel Walker <dwalker@xxxxxxxxxx> wrote:

> > Actually, IMO, compat_semaphores behave like semaphores should
> > behave, and thus the same as they behave on a non-RT kernel, and at
> > the locations where the semaphores are now misused as mutexes on RT,
> > we should replace them by differently-named-mutex-type-semaphores,
> > or better: real-RT-mutexes..
>
> The vast majority of semaphore are actually binary semaphores in the
> Linux kernel .. So it's easier to mass convert semaphores to mutexes,
> then address the ones that don't conform.. Usually they are converted
> to the complete API in mainline..

right now there are 3992 mutex_lock() critical sections in the kernel
and only 351 down() based critical sections are left.

fixing the top 20:

4 &vuart_bus_priv.probe_mutex
5 &connections_lock
5 &irq_ptr->setting_up_sema
5 &kbd->sem
5 &pnp_res_mutex
5 &port->port_lock
5 &tq_init_sem
6 &adb_handler_sem
6 &dev->parent->sem
6 &driver_lock
6 &ha->vport_sem
7 &big_buffer_sem
8 &dir_f->sem
9 &c->alloc_sem
11 &dev->sem
11 &usbvision->lock
12 &c->erase_free_sem
15 &u132->scheduler_lock
16 &zfcp_data.config_sema
17 &f->sem

would remove 164 of them, so it would convert half of the remaining
semaphore use in the kernel. So the job is almost finished - would
anyone like to go for the final grand feat: complete removal of
semaphores from the kernel? :-)

Ingo
-
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/