Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5330107rdb; Wed, 13 Dec 2023 05:59:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IF7dfcrrGMsQGaAuQT2b3FJHM2DaugkZOkvB0cE4ItH3X/MIt0ewo29iMV46KUS8y9tsNgD X-Received: by 2002:a17:90b:38c3:b0:286:6cc1:2caf with SMTP id nn3-20020a17090b38c300b002866cc12cafmr3773181pjb.57.1702475958459; Wed, 13 Dec 2023 05:59:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702475958; cv=none; d=google.com; s=arc-20160816; b=l1FIxPYs5djarWrK2l2sfX9ZFkylCdrAhYoXOI83D7URQfVMw5wtvJNFmiWERF5IO2 Ng7/Q5riGjaGRqjSSR8dA71AVCsoIS7EwEldEu1d/QmU2ba4DW+qoh4EALtLWsA2ueae ZqBOInBHHD+gHW+eU+QTgbAq6W4j5TNdmIgJqo8cBmgzRCw8j2xTYfCLyIuSQ6h0sAP/ Vbs6EH9NfnViBMmDtAX277Vm0VHWbaZV7z8cJWK4CMu5/BdCnvnjlLPGSydTD7QUVOgb zz4o2UcibRaLZFyhQdJNbe8wVDuSN67qXC/nmLvdc4dz1wTo5gX+rI0F0iA50FKYiy3a iUag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=UQL3AC8TmSII1aJS7/zFe2ykV3SHHImXlwGwos8RUp8=; fh=BiTih3HBn05OJvpBeKJCJhFgvirybBPBq65CdTV6sMo=; b=RW67nPXeaXU9n5Ev/8QVAKN+kmiV4zVDFo2LysLkykw70EVRJZ1j/pQyHD5kuj+/1i TnBpN+PcYkz1mLvPw/x5EQlz7HXIgYMw11DRgG8uYTaeISUfoBATtS+wPesVPfsioRk1 SNAU11dRiB47ix6Rio4sGbZprfXQPhU+ceVVFOKvNZOfv2tOayE44ljbZoe6xx+HhrdA 2Jw3RmENlEvYneCuw+IA5UF3lCREkWRnjtA8EIMjEnGzT5gKWp+DyxdsD8/4wwCGORAW lK8Fr5VWFIChaVAEx5vzH2qYT31P96wa7pyXePYGJS7K7osqkU8RF1YZ+OvpT3eYmO1C V5KQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id s18-20020a17090aad9200b002864ea2384dsi10843654pjq.42.2023.12.13.05.59.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 05:59:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id BF5088047DB0; Wed, 13 Dec 2023 05:59:15 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235222AbjLMN6z (ORCPT + 99 others); Wed, 13 Dec 2023 08:58:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379469AbjLMN62 (ORCPT ); Wed, 13 Dec 2023 08:58:28 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B7D92134; Wed, 13 Dec 2023 05:57:15 -0800 (PST) X-IronPort-AV: E=McAfee;i="6600,9927,10922"; a="2137204" X-IronPort-AV: E=Sophos;i="6.04,272,1695711600"; d="scan'208";a="2137204" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2023 05:56:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10922"; a="773957518" X-IronPort-AV: E=Sophos;i="6.04,272,1695711600"; d="scan'208";a="773957518" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2023 05:56:30 -0800 Received: from andy by smile.fi.intel.com with local (Exim 4.97) (envelope-from ) id 1rDPiu-00000005XZ7-116V; Wed, 13 Dec 2023 15:56:28 +0200 Date: Wed, 13 Dec 2023 15:56:27 +0200 From: Andy Shevchenko To: Kent Gibson Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, brgl@bgdev.pl, linus.walleij@linaro.org Subject: Re: [PATCH 3/4] gpiolib: cdev: reduce locking in gpio_desc_to_lineinfo() Message-ID: References: <20231212054253.50094-1-warthog618@gmail.com> <20231212054253.50094-4-warthog618@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231212054253.50094-4-warthog618@gmail.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 13 Dec 2023 05:59:16 -0800 (PST) On Tue, Dec 12, 2023 at 01:42:52PM +0800, Kent Gibson wrote: > Reduce the time holding the gpio_lock by snapshotting the desc flags, > rather than testing them individually while holding the lock. > > Accept that the calculation of the used field is inherently racy, and > only check the availabilty of the line from pinctrl if other checks > pass, so avoiding the check for lines that are otherwise in use. ... > - bool ok_for_pinctrl; > - unsigned long flags; > + unsigned long iflags, dflags; With a preliminary conversion to cleanup.h this whole change becomes cleaner, no? -- With Best Regards, Andy Shevchenko