Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751338AbVLMIAP (ORCPT ); Tue, 13 Dec 2005 03:00:15 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751340AbVLMIAP (ORCPT ); Tue, 13 Dec 2005 03:00:15 -0500 Received: from pentafluge.infradead.org ([213.146.154.40]:2952 "EHLO pentafluge.infradead.org") by vger.kernel.org with ESMTP id S1751324AbVLMIAN (ORCPT ); Tue, 13 Dec 2005 03:00:13 -0500 Subject: Re: [PATCH 1/19] MUTEX: Introduce simple mutex implementation From: Arjan van de Ven To: Ingo Molnar Cc: Andrew Morton , David Howells , torvalds@osdl.org, hch@infradead.org, matthew@wil.cx, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org In-Reply-To: <20051213075441.GB6765@elte.hu> References: <20051212161944.3185a3f9.akpm@osdl.org> <20051213075441.GB6765@elte.hu> Content-Type: text/plain Date: Tue, 13 Dec 2005 09:00:04 +0100 Message-Id: <1134460804.2866.17.camel@laptopd505.fenrus.org> Mime-Version: 1.0 X-Mailer: Evolution 2.2.3 (2.2.3-2.fc4) Content-Transfer-Encoding: 7bit X-Spam-Score: 1.8 (+) X-Spam-Report: SpamAssassin version 3.0.4 on pentafluge.infradead.org summary: Content analysis details: (1.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.1 RCVD_IN_SORBS_DUL RBL: SORBS: sent directly from dynamic IP address [213.93.14.173 listed in dnsbl.sorbs.net] 1.7 RCVD_IN_NJABL_DUL RBL: NJABL: dialup sender did non-local SMTP [213.93.14.173 listed in combined.njabl.org] X-SRS-Rewrite: SMTP reverse-path rewritten from by pentafluge.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1758 Lines: 38 On Tue, 2005-12-13 at 08:54 +0100, Ingo Molnar wrote: > * Andrew Morton wrote: > > > I'd have thought that the way to do this is to simply reimplement > > down(), up(), down_trylock(), etc using the new xchg-based code and to > > then hunt down those few parts of the kernel which actually use the > > old semaphore's counting feature and convert them to use down_sem(), > > up_sem(), etc. And rename all the old semaphore code: > > s/down/down_sem/etc. > > even better than that, why not use the solution that we've implemented > for the -rt patchset, more than a year ago? > > the solution i took was this: > > - i did not touch the 'struct semaphore' namespace, but introduced a > 'struct compat_semaphore'. which I think is wrong. THis naming sucks. Sure doing a full sed on the tree is not pretty but it's also not THAT painful. And the pain of wrong names is something the kernel needs to carry around for years. > > - i introduced a 'type-sensitive' macro wrapper that switches down() > (and the other APIs) to either to the assembly variant (if the > variable's type is struct compat_semaphore), or switches it to the new > generic mutex (if the type is struct semaphore), at build-time. There > is no runtime overhead due to this build-time-switching. while this is a smart trick, I rather prefer seperate functions, just so that people are "aware" which they use. Since 99% of the users is a mutex anyway, the new names are only used in a few special cases. - 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/