Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp4422934pxa; Mon, 10 Aug 2020 08:44:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxC/wvan+73EFOjwX23BYCpOvxX6a6l+tc5FwSikdTrBe2/p3bdi+D699E9grxh6yneAJOX X-Received: by 2002:aa7:d291:: with SMTP id w17mr22277531edq.257.1597074250301; Mon, 10 Aug 2020 08:44:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597074250; cv=none; d=google.com; s=arc-20160816; b=XZqj0ht2CD0ObS+VfAb7xALoaCY8ZptoQmjI2sX5LU1q0f+IiyGDJVh1lYQCTl82Cc tNHUky5MZeDosa9zojVCFXmvNPQ0FGhH+gvaiskh+gvVJXzL3lK9eRup68gX0Z6CgcgM AHn4y7z8L6nvx3DBf9IsGwJH+DvDTYSXkM+GFTOO9yogfKb0fDnbvcxawNqAluNcZII9 YkyD/yzrIaiKiACjAl2Q7SLI7oJDpmfoiNI8Oni/fn/7uK12O3KmgaBoL6O7PIi+VBp6 bz2rGfd/SoqESvRLFUH1TusmV1BwZuMYOoiBbSfWBDyNagioVAm13ug4XhH3i3pcEvRV yHlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=pmIlVpEUwH8Ra61hHTKQjyHUWPaGv/XKB/OaiPGgml4=; b=tFqwaObZGkq8va7PE9QAqvk0dAZmV/Qkbk2Lli5f84UAuInjLCeKQ6wqh9Zrf/YMZr X4+tQbiAjQKss/o00DY+k/6Ux/VS2RsCQAmXJfDPev/hBW1zo9bfqA+0OCK3VD78q6jo GhAb/mgG/Ke/dNVYta2OENyFLOBc+3upzbGxtxlcc6PUTMA1ZBlaMWjAaX9SWvQe5jsG BzRVLOWdr0GLm89IjgbiANN6M5QVitr6OoJf99Xl1d9nAzUGARiLl+CbJ5sQOei+uAt/ ewd2ONXB2Q8FXDMJG1QDV85QHTZO/FUaJPxryP28NwWoQKxvFXpUI1XYr3zsqL0YkMJZ yLsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=FeaZuKWK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e11si11596266ejd.431.2020.08.10.08.43.47; Mon, 10 Aug 2020 08:44:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=FeaZuKWK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728912AbgHJPld (ORCPT + 99 others); Mon, 10 Aug 2020 11:41:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728072AbgHJPlb (ORCPT ); Mon, 10 Aug 2020 11:41:31 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B194C061756; Mon, 10 Aug 2020 08:41:31 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id a26so9866333ejc.2; Mon, 10 Aug 2020 08:41:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=pmIlVpEUwH8Ra61hHTKQjyHUWPaGv/XKB/OaiPGgml4=; b=FeaZuKWKfrsCbBnngc7meGA/8HmsVAKD53q8Cyo7sFBt9PJTPl3GoJl5pmkzy6Nic4 COLehlC1DOXZihm0cyjNp0dJzMlc3w6cQ3YohWSQRrx7zaLPeiYgYXX0gqKXlZhP4Hze YEy8O3pOI10tKs3sxEmdupl5nvp2SXyGqUa8IBQTRkTj17mDWfU/odz8fVaQ1dognjwr w/5Nrg1dUcCbYMrXEkUFoeM+XrqcNCaPE0PVJJ/DF5CDcvN6JOxhh34sCgAdr+k/ldJB L0PJkrORF8pmA5EhHEk2iPHGy9Rlfel3eGhJI7I/biwTyR5teXs0X0HNiO2nRrxVs3Hw z/XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=pmIlVpEUwH8Ra61hHTKQjyHUWPaGv/XKB/OaiPGgml4=; b=CpdBNo5T79PKmpzUZs121612OdHmNh+koFMndk+UqSdMcRCmWAbpM6IE8qIbp99Sd5 yXS5uXCUNJwJKgJGvgNHTF93IZjmnHW/yumXCvpA8Bwm5mik48BDmT2mKuVV7XWjJX1F INbZUIhO5dE39sAjWhgcepO9Yr5fWOtYUux10cBU2Bxz02UOqAIXVkvG4gYcoMFcJwGG sZ78WSG25QUxDdiwEoR5lpDLSV8wFwmMd327UkyCzspE+prLrQkTgKVsX/nLr/LSCOrh cD97kCFtfrRhmtFzDoeFGFzeph2zL7nzlb4NGfPwGKNsgNoK1PW/T0WlTUfeleKwlvxK rJZw== X-Gm-Message-State: AOAM531bdee6FjwOXkZXhx7C3P+YkENxeTrhiM0t08BVty/1V5LP0ctt bvjZyroNRB4KIiDAKLfeaP4= X-Received: by 2002:a17:906:1cd3:: with SMTP id i19mr7158892ejh.552.1597074089772; Mon, 10 Aug 2020 08:41:29 -0700 (PDT) Received: from ubuntu-laptop ([2a01:598:b910:3189:44c:d55b:5f94:2fc4]) by smtp.googlemail.com with ESMTPSA id b13sm12551297edw.69.2020.08.10.08.41.27 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Aug 2020 08:41:29 -0700 (PDT) Message-ID: <5c6f1ad9f703cc5721e081452e869a9ee6bc4ab6.camel@gmail.com> Subject: Re: [PATCH v1] scsi: ufs: no need to send one Abort Task TM in case the task in DB was cleared From: Bean Huo To: Can Guo , Stanley Chu Cc: alim.akhtar@samsung.com, avri.altman@wdc.com, asutoshd@codeaurora.org, jejb@linux.ibm.com, martin.petersen@oracle.com, stanley.chu@mediatek.com, beanhuo@micron.com, bvanassche@acm.org, tomas.winkler@intel.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 10 Aug 2020 17:41:22 +0200 In-Reply-To: <5ad1dbd76a0d5d476641a01bfb8bd435@codeaurora.org> References: <20200804123534.29104-1-huobean@gmail.com> <871fdbc1719d7a3c469bf857071aa2c6bd71ddaf.camel@gmail.com> <5ad1dbd76a0d5d476641a01bfb8bd435@codeaurora.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2020-08-06 at 18:07 +0800, Can Guo wrote: > Hi Bean, > > On 2020-08-06 17:50, Bean Huo wrote: > > > > > > Please check Stanley's recent change to ufshcd_abort, you may > > > want to rebase your change on his and do goto cleanup here. > > > @Stanley correct me if I am wrong. > > > > > > But even if you do a goto cleanup here, we still lost the > > > chances to dump host infos/regs like it does in the old code. > > > If a cmd was completed but without a notifying intr, this is > > > kind of a problem that we/host should look into, because it's > > > pasted at least 30 sec since the cmd was sent, so those dumps > > > are necessary to debug the problem. How about moving blow prints > > > in front of this part? > > > > > > Thanks, > > > > > > Can Guo. > > > > > > > } > > > > > > > > /* Print Transfer Request of aborted task */ > > > > Hi Can > > > > Thanks, do you mean that change to like this: > > > > > > Author: Bean Huo > > Date: Thu Aug 6 11:34:45 2020 +0200 > > > > scsi: ufs: no need to send one Abort Task TM in case the task > > in > > was cleared > > > > If the bit corresponds to a task in the Doorbell register has > > been > > cleared, no need to poll the status of the task on the device > > side > > and to send an Abort Task TM. > > This patch also deletes dispensable dev_err() in case of the > > task > > already completed. > > > > Signed-off-by: Bean Huo > > > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > > index 307622284239..f7c91ce9e294 100644 > > --- a/drivers/scsi/ufs/ufshcd.c > > +++ b/drivers/scsi/ufs/ufshcd.c > > @@ -6425,23 +6425,9 @@ static int ufshcd_abort(struct scsi_cmnd > > *cmd) > > return ufshcd_eh_host_reset_handler(cmd); > > > > ufshcd_hold(hba, false); > > - reg = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL); > > /* If command is already aborted/completed, return SUCCESS > > */ > > - if (!(test_bit(tag, &hba->outstanding_reqs))) { > > - dev_err(hba->dev, > > - "%s: cmd at tag %d already completed, > > outstanding=0x%lx, doorbell=0x%x\n", > > - __func__, tag, hba->outstanding_reqs, reg); > > + if (!(test_bit(tag, &hba->outstanding_reqs))) > > goto out; > > - } > > - > > - if (!(reg & (1 << tag))) { > > - dev_err(hba->dev, > > - "%s: cmd was completed, but without a notifying > > intr, > > tag = %d", > > - __func__, tag); > > - } > > - > > - /* Print Transfer Request of aborted task */ > > - dev_err(hba->dev, "%s: Device abort task at tag %d\n", > > __func__, tag); > > > > /* > > * Print detailed info about aborted request. > > @@ -6462,6 +6448,17 @@ static int ufshcd_abort(struct scsi_cmnd > > *cmd) > > } > > hba->req_abort_count++; > > > > + reg = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL); > > + if (!(reg & (1 << tag))) { > > + dev_err(hba->dev, > > + "%s: cmd was completed, but without a notifying > > intr, > > tag = %d", > > + __func__, tag); > > + goto cleanup; > > + } > > + > > + /* Print Transfer Request of aborted task */ > > + dev_err(hba->dev, "%s: Device abort task at tag %d\n", > > __func__, tag); > > + > > The rest looks good but let below two lines stay where they were. > > /* Print Transfer Request of aborted task */ > dev_err(hba->dev, "%s: Device abort task at tag %d\n", > __func__, tag); > > > Thanks, > > Can Guo. > Hi Can I will change it in the next version. Hi Stanly would you mind I take your patch into my next version patchset? Since we both will add a new same goto label. I will keep your patch authorship. Thanks, Bean