Received: by 10.223.185.116 with SMTP id b49csp1650045wrg; Sat, 24 Feb 2018 01:05:40 -0800 (PST) X-Google-Smtp-Source: AH8x227OlwA3163RTp1dA8JrI5JiEoRtbiHIpUw8Fh6NBjaZpLBQN6Gtv53/v3BtumohOv408bse X-Received: by 10.99.4.131 with SMTP id 125mr3449350pge.375.1519463140710; Sat, 24 Feb 2018 01:05:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519463140; cv=none; d=google.com; s=arc-20160816; b=RA0t1EM0DoPvASG85PxCZuzfkIT1JWr5Ch9RSdiMs+/CdNUnPcBnuOnEs6RzhEDdgQ Mgr5xVETbCwxgTB05tj/+vqxQW227wYeL6v6XD5hvU2GiLbltin//0L+N+rLko/1CwT3 YriUsRKIhPI/RCNX7u0xaQxLBLv0kezAnKWMTJsk3iVDfEyywNGYOhP1RGAzDoXCS/xw Ynm0BO4G5AC6wJ2B7wtR3RrHPWMV0yiboqamJucvPPStWM/3zxvEkgzB5uElHhvWEsk6 BK1bQpkcqEoOifNvPqgJwNB2IX8CcdUbsGkrq/kI8GEzGqdGbGfLfVmnZGxrBtsnNGhZ aiEA== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=HKHE/Ik8cIelHnYFm13Hkq65SGJqlVbb3ufopyyoJjw=; b=SHMcC50tUnJIuQ/Ur/eCsqxr3bsETy9hvAKMXeLxdO+cpfdu/mUczpaNSQpyAy1BJG TxVYspVbRYF5ZVmqs0JchyOJHb6JrryMBiVjzWLargElhnIMfVKNbC7Hg8eAN/42yekq KwKUFsSyByclHQPjqiA/0ADPQldU9UA/TxXFKFtsq1FRnZU8dNGiuDQXllwnYl7TK/jM FFFt+BRa4doVEigq93rglQYfeJw5Ghln86craGoHJb5CVQv+mRT2LxIiRoPZTX/S2BUl 6se0EOOLMFSAMUUYfPndqVMtCd6k+zGUWmbebFwoaai8TR8Pszpa59GQILzRFlh3BCok Uvmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=cX730QWr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i35-v6si3230274plg.48.2018.02.24.01.05.25; Sat, 24 Feb 2018 01:05:40 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=cX730QWr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751165AbeBXJEp (ORCPT + 99 others); Sat, 24 Feb 2018 04:04:45 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:57524 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750751AbeBXJEm (ORCPT ); Sat, 24 Feb 2018 04:04:42 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w1O93cOi080213; Sat, 24 Feb 2018 09:04:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=corp-2017-10-26; bh=HKHE/Ik8cIelHnYFm13Hkq65SGJqlVbb3ufopyyoJjw=; b=cX730QWrcybyuQNg3nPI3o05frEvLVq6lHrcI7qt1YIX07E6Tq2s0oxvrmDuNguQnEUt 06nsTC/IgZ7Sfp2fUxEIF01nP9/kZ0rngq/M5+mjYLNkBQVtQuYQUIkSBUR1wwHZnllH BesWspSi0ckoJWdSg2AWZYl5nuvtGlXegJraBexmSwwxPt9tOo2O1XwkUKyqGHKayCg2 Od5WOUtCI1NCTe7qZd6Yqri1f1z/LAkBq1UAu3FMQErVjQzqy6mEjF2Vm6+Xld5Xk4BB Sn0lJ4Lk/bxE3SXjzl3lH544Yru+PyE9WrrB/LEtXqZ00weCsMzMHUKYjJSW6q7kNncC 6w== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2gb51qr05g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 24 Feb 2018 09:04:13 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w1O94BRq010302 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sat, 24 Feb 2018 09:04:12 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w1O94AYr010793; Sat, 24 Feb 2018 09:04:10 GMT Received: from [10.182.69.179] (/10.182.69.179) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sat, 24 Feb 2018 01:04:10 -0800 Subject: Re: [PATCH V2] nvme-pci: set cq_vector to -1 if io queue setup fails To: keith.busch@intel.com, axboe@fb.com, hch@lst.de, sagi@grimberg.me Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org References: <1518693221-2430-1-git-send-email-jianchao.w.wang@oracle.com> From: "jianchao.wang" Message-ID: <204f523b-b4dd-d0d4-a5c8-8f0a744eb54f@oracle.com> Date: Sat, 24 Feb 2018 17:04:11 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <1518693221-2430-1-git-send-email-jianchao.w.wang@oracle.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8813 signatures=668678 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1802240117 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Keith Can you take a review on this ? Thanks in advance Really appreciate Jianchao On 02/15/2018 07:13 PM, Jianchao Wang wrote: > nvme cq irq is freed based on queue_count. When the sq/cq creation > fails, irq will not be setup. free_irq will warn 'Try to free > already-free irq'. > > To fix it, set the nvmeq->cq_vector to -1, then nvme_suspend_queue > will ignore it. > > Change log: > V1 -> V2 > - Follow Keith's suggestion, just set cq_vector to -1 if io queue setup > fails. > - Change patch name and comment > > Signed-off-by: Jianchao Wang > --- > drivers/nvme/host/pci.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c > index 4a7c420..f4528ef 100644 > --- a/drivers/nvme/host/pci.c > +++ b/drivers/nvme/host/pci.c > @@ -1452,7 +1452,7 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid) > nvmeq->cq_vector = qid - 1; > result = adapter_alloc_cq(dev, qid, nvmeq); > if (result < 0) > - return result; > + goto clean_cq_vector; > > result = adapter_alloc_sq(dev, qid, nvmeq); > if (result < 0) > @@ -1461,14 +1461,17 @@ static int nvme_create_queue(struct nvme_queue *nvmeq, int qid) > nvme_init_queue(nvmeq, qid); > result = queue_request_irq(nvmeq); > if (result < 0) > - goto release_sq; > + goto offline; > > return result; > > - release_sq: > +offline: > + dev->online_queues--; > adapter_delete_sq(dev, qid); > - release_cq: > +release_cq: > adapter_delete_cq(dev, qid); > +clean_cq_vector: > + nvmeq->cq_vector = -1; > return result; > } > >