From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48825C388F7 for ; Mon, 26 Oct 2020 03:29:02 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B1B3220885; Mon, 26 Oct 2020 03:29:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sourceforge.net header.i=@sourceforge.net header.b="LzicHi55"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sf.net header.i=@sf.net header.b="cTkxF/vi"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="gxogd0OQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B1B3220885 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-f2fs-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1kWtBs-0007NY-5Q; Mon, 26 Oct 2020 03:29:00 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kWtBq-0007NR-L1 for linux-f2fs-devel@lists.sourceforge.net; Mon, 26 Oct 2020 03:28:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Message-ID:References:In-Reply-To:Subject:Cc:To: From:Date:Content-Transfer-Encoding:Content-Type:MIME-Version:Sender:Reply-To :Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=mlxfck8q9sIQPtbUdbIP5NseLL7/CM6uJ5aM506Ks68=; b=LzicHi55FlMRNIOliumOGoQBY+ BMBtVkGKcpdKMTNe7zKNJBgMo+N5rXvHOywK0QHFkCwXoqSrEErzCNKddrqu6rWLgyYlMM3znjWIn VVDcakVXyLG0g/iuBCZ4jkO7iyMl0oNYY5qlGN3sxekLI0zaLZ9X5WUCIoHxFoBIsQ6A=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Message-ID:References:In-Reply-To:Subject:Cc:To:From:Date: Content-Transfer-Encoding:Content-Type:MIME-Version:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=mlxfck8q9sIQPtbUdbIP5NseLL7/CM6uJ5aM506Ks68=; b=cTkxF/viiAmID8iPZ7r1DdgnIj 25K2/aiGE/KHzvyKweQz/N9BvQhkrVW3dIPmRvkUmiOn3mRyq+VTKouFofMNfc52iY8N2fxk40EEL nTrHAmH8kzRJE09qhVsAUvsaA4xy1ppiHE3g1NuTwg2nqXV1p50KWYQrPhcorgSUOhlM=; Received: from z5.mailgun.us ([104.130.96.5]) by sfi-mx-3.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92.2) id 1kWtBe-0078ly-5X for linux-f2fs-devel@lists.sourceforge.net; Mon, 26 Oct 2020 03:28:58 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1603682926; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=mlxfck8q9sIQPtbUdbIP5NseLL7/CM6uJ5aM506Ks68=; b=gxogd0OQYQa6UlZHnTkoXFYm3FZTK4rK6bAFhk7gvu0KfwZPo3NRpGPOrUMbuqONvaC4IOi3 O6H279mYB3ZMOKYL9X9DqNPgyDC7UI8k2tG4AdwlZxoVa3w151QxZmOSpwTrBIHGCHxq9ZuA KY8my95RyZfgJnN1HXmKwVQe+Sw= X-Mailgun-Sending-Ip: 104.130.96.5 X-Mailgun-Sid: WyI2M2Y4ZiIsICJsaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCIsICJiZTllNGEiXQ== Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n03.prod.us-east-1.postgun.com with SMTP id 5f96425dbb5ba27f0326e372 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Mon, 26 Oct 2020 03:28:29 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 7CB3BC433FF; Mon, 26 Oct 2020 03:28:28 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: cang) by smtp.codeaurora.org (Postfix) with ESMTPSA id EEB9AC433C9; Mon, 26 Oct 2020 03:28:27 +0000 (UTC) MIME-Version: 1.0 Date: Mon, 26 Oct 2020 11:28:27 +0800 From: Can Guo To: Jaegeuk Kim In-Reply-To: <20201024150646.1790529-2-jaegeuk@kernel.org> References: <20201024150646.1790529-1-jaegeuk@kernel.org> <20201024150646.1790529-2-jaegeuk@kernel.org> Message-ID: <68cf5fe17691653f07544db5fe390c97@codeaurora.org> X-Sender: cang@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 X-Headers-End: 1kWtBe-0078ly-5X Subject: Re: [f2fs-dev] [PATCH v3 1/5] scsi: ufs: atomic update for clkgating_enable X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: bvanassche@acm.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, avri.altman@wdc.com, alim.akhtar@samsung.com, kernel-team@android.com, Jaegeuk Kim Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net On 2020-10-24 23:06, Jaegeuk Kim wrote: > From: Jaegeuk Kim > > When giving a stress test which enables/disables clkgating, we hit > device > timeout sometimes. This patch avoids subtle racy condition to address > it. > > If we use __ufshcd_release(), I've seen that gate_work can be called in > parallel > with ungate_work, which results in UFS timeout when doing hibern8. > Should avoid it. > I don't understand this comment. gate_work and ungate_work are queued on an ordered workqueue and an ordered workqueue executes at most one work item at any given time in the queued order. How can the two run in parallel? Thanks, Can Guo. > Signed-off-by: Jaegeuk Kim > --- > drivers/scsi/ufs/ufshcd.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index b8f573a02713..e0b479f9eb8a 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -1807,19 +1807,19 @@ static ssize_t > ufshcd_clkgate_enable_store(struct device *dev, > return -EINVAL; > > value = !!value; > + > + spin_lock_irqsave(hba->host->host_lock, flags); > if (value == hba->clk_gating.is_enabled) > goto out; > > - if (value) { > - ufshcd_release(hba); > - } else { > - spin_lock_irqsave(hba->host->host_lock, flags); > + if (value) > + hba->clk_gating.active_reqs--; > + else > hba->clk_gating.active_reqs++; > - spin_unlock_irqrestore(hba->host->host_lock, flags); > - } > > hba->clk_gating.is_enabled = value; > out: > + spin_unlock_irqrestore(hba->host->host_lock, flags); > return count; > } _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel