From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [BUG on PREEMPT_RT, 2.6.23.1-rt5] in rt-mutex code and signals Date: Sat, 17 Nov 2007 18:46:08 +0100 Message-ID: <20071117174608.GA30641@elte.hu> References: <3efb10970711160751l279fe99dl9f3a130a4373a449@mail.gmail.com> <3efb10970711161502m6216bf5rc19a34184b4f3a2b@mail.gmail.com> <3efb10970711170344n670d8b69w6679d494922c5bb@mail.gmail.com> <1195316550.25393.21.camel@imap.mvista.com> <3efb10970711170909n3acca605j70525e36faf8da7f@mail.gmail.com> <1195320569.25393.38.camel@imap.mvista.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Remy Bohmer , Steven Rostedt , Thomas Gleixner , RT , linux-kernel To: Daniel Walker Return-path: Received: from mx2.mail.elte.hu ([157.181.151.9]:52297 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756590AbXKQRqc (ORCPT ); Sat, 17 Nov 2007 12:46:32 -0500 Content-Disposition: inline In-Reply-To: <1195320569.25393.38.camel@imap.mvista.com> Sender: linux-rt-users-owner@vger.kernel.org List-Id: linux-rt-users.vger.kernel.org * Daniel Walker 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