Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763269AbXKQRql (ORCPT ); Sat, 17 Nov 2007 12:46:41 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756850AbXKQRqd (ORCPT ); Sat, 17 Nov 2007 12:46:33 -0500 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 Date: Sat, 17 Nov 2007 18:46:08 +0100 From: Ingo Molnar To: Daniel Walker Cc: Remy Bohmer , Steven Rostedt , Thomas Gleixner , RT , linux-kernel Subject: Re: [BUG on PREEMPT_RT, 2.6.23.1-rt5] in rt-mutex code and signals 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 Content-Disposition: inline In-Reply-To: <1195320569.25393.38.camel@imap.mvista.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.1.7-deb -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1747 Lines: 51 * 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/