Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754258AbbEKOqJ (ORCPT ); Mon, 11 May 2015 10:46:09 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:34882 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751208AbbEKOqG (ORCPT ); Mon, 11 May 2015 10:46:06 -0400 Date: Mon, 11 May 2015 08:46:08 -0600 From: Lina Iyer To: Ohad Ben-Cohen Cc: "Anna, Suman" , Bjorn Andersson , Andy Gross , "linux-arm-msm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Kumar Gala , Jeffrey Hugo Subject: Re: [PATCH RFC] hwspinlock: Don't take software spinlock before hwspinlock Message-ID: <20150511144608.GB16124@linaro.org> References: <1430500026-47990-1-git-send-email-lina.iyer@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1692 Lines: 41 On Sat, May 09 2015 at 03:25 -0600, Ohad Ben-Cohen wrote: >Hi Lina, > >On Fri, May 1, 2015 at 8:07 PM, Lina Iyer wrote: >> Some uses of the hwspinlock could be that one entity acquires the lock >> and the other entity releases the lock. This allows for a serialized >> traversal path from the locking entity to the other. >> >> For example, the cpuidle entry from Linux to the firmware to power down >> the core, can be serialized across the context switch by locking the >> hwspinlock in Linux and releasing it in the firmware. >> >> Do not force the caller of __hwspin_trylock() to acquire a kernel >> spinlock before acquiring the hwspinlock. > >Let's discuss whether we really want to expose this functionality >under the same hwspinlock API or not. > >In this new mode, unlike previously, users will now be able to sleep >after taking the lock, and others trying to take the lock might poll >the hardware for a long period of time without the ability to sleep >while waiting for the lock. It almost sounds like you were looking for >some hwmutex functionality. > >What do you think about this? I agree, that it opens up a possiblity that user may sleep after holding a hw spinlock. But really, why should it prevents us from using it as a hw mutex, if the need is legitimate? We could make a check that the caller with NO_LOCK option calls only with irq disabled, if thats required. Thanks for the review. -- Lina -- 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/