Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932359AbZLHPzI (ORCPT ); Tue, 8 Dec 2009 10:55:08 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932343AbZLHPzG (ORCPT ); Tue, 8 Dec 2009 10:55:06 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:57719 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S932333AbZLHPzE (ORCPT ); Tue, 8 Dec 2009 10:55:04 -0500 Date: Tue, 8 Dec 2009 10:55:10 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Linus Torvalds cc: "Rafael J. Wysocki" , Zhang Rui , LKML , ACPI Devel Maling List , pm list Subject: Re: Async resume patch (was: Re: [GIT PULL] PM updates for 2.6.33) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1463 Lines: 33 On Tue, 8 Dec 2009, Linus Torvalds wrote: > Please just use the lock. Don't make up your own locking crap. Really. > > Your patch is horrible. Exactly because your locking is horribly > mis-designed. You can't say things are complete from an interrupt, for > example, since you made it some random bitfield, which has unknown > characteristics (ie non-atomic read-modify-write etc). > > The fact is, any time anybody makes up a new locking mechanism, THEY > ALWAYS GET IT WRONG. Don't do it. > > I suggested using the rwsem locking for a good reason. It made sense. It > was simpler. Just do it that way, stop making up crap. The semantics needed for this kind of lock aren't really the same as for an rwsem (although obviously an rwsem will do the job). Basically it needs to have the capability for multiple users to lock it (no blocking when acquiring a lock) and the capability for a user to wait until it is totally unlocked. It could be implemented trivially using an atomic_t counter and a waitqueue head. Is this a standard sort of lock? It's a lot simpler than most others. I don't recall seeing anything quite like it anywhere; the closest thing might be some kind of barrier. Alan Stern -- 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/