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=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 A749FC4CEC9 for ; Wed, 18 Sep 2019 13:22:49 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (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 7B6C420856 for ; Wed, 18 Sep 2019 13:22:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B6C420856 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 5CA96CAC; Wed, 18 Sep 2019 13:22:49 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 13445CAB for ; Wed, 18 Sep 2019 13:22:48 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 7687583A for ; Wed, 18 Sep 2019 13:22:47 +0000 (UTC) Received: by verein.lst.de (Postfix, from userid 2407) id CC48268B05; Wed, 18 Sep 2019 15:22:42 +0200 (CEST) Date: Wed, 18 Sep 2019 15:22:42 +0200 From: Christoph Hellwig To: "Lendacky, Thomas" Subject: Re: [bug] __blk_mq_run_hw_queue suspicious rcu usage Message-ID: <20190918132242.GA16133@lst.de> References: <20190905060627.GA1753@lst.de> <1d74607e-37f7-56ca-aba3-5a3bd7a68561@amd.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1d74607e-37f7-56ca-aba3-5a3bd7a68561@amd.com> User-Agent: Mutt/1.5.17 (2007-11-01) Cc: Jens Axboe , "Singh, Brijesh" , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , Ming Lei , "iommu@lists.linux-foundation.org" , Peter Gonda , David Rientjes , Keith Busch , Christoph Hellwig , Jianxiong Gao X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org On Tue, Sep 17, 2019 at 06:41:02PM +0000, Lendacky, Thomas wrote: > > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c > > --- a/drivers/nvme/host/pci.c > > +++ b/drivers/nvme/host/pci.c > > @@ -1613,7 +1613,8 @@ static int nvme_alloc_admin_tags(struct nvme_dev *dev) > > dev->admin_tagset.timeout = ADMIN_TIMEOUT; > > dev->admin_tagset.numa_node = dev_to_node(dev->dev); > > dev->admin_tagset.cmd_size = sizeof(struct nvme_iod); > > - dev->admin_tagset.flags = BLK_MQ_F_NO_SCHED; > > + dev->admin_tagset.flags = BLK_MQ_F_NO_SCHED | > > + BLK_MQ_F_BLOCKING; > > I think you want to only set the BLK_MQ_F_BLOCKING if the DMA is required > to be unencrypted. Unfortunately, force_dma_unencrypted() can't be called > from a module. Is there a DMA API that could be called to get that info? The DMA API must support non-blocking calls, and various drivers rely on that. So we need to provide that even for the SEV case. If the actual blocking can't be made to work we'll need to wire up the DMA pool in kernel/dma/remap.c for it (and probably move it to separate file). _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu 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=-5.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 1ADE5C4CEC9 for ; Wed, 18 Sep 2019 13:22:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D21E921920 for ; Wed, 18 Sep 2019 13:22:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727497AbfIRNWq (ORCPT ); Wed, 18 Sep 2019 09:22:46 -0400 Received: from verein.lst.de ([213.95.11.211]:33283 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726545AbfIRNWq (ORCPT ); Wed, 18 Sep 2019 09:22:46 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id CC48268B05; Wed, 18 Sep 2019 15:22:42 +0200 (CEST) Date: Wed, 18 Sep 2019 15:22:42 +0200 From: Christoph Hellwig To: "Lendacky, Thomas" Cc: David Rientjes , Christoph Hellwig , Keith Busch , Jens Axboe , "Singh, Brijesh" , Ming Lei , Peter Gonda , Jianxiong Gao , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "iommu@lists.linux-foundation.org" Subject: Re: [bug] __blk_mq_run_hw_queue suspicious rcu usage Message-ID: <20190918132242.GA16133@lst.de> References: <20190905060627.GA1753@lst.de> <1d74607e-37f7-56ca-aba3-5a3bd7a68561@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1d74607e-37f7-56ca-aba3-5a3bd7a68561@amd.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 17, 2019 at 06:41:02PM +0000, Lendacky, Thomas wrote: > > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c > > --- a/drivers/nvme/host/pci.c > > +++ b/drivers/nvme/host/pci.c > > @@ -1613,7 +1613,8 @@ static int nvme_alloc_admin_tags(struct nvme_dev *dev) > > dev->admin_tagset.timeout = ADMIN_TIMEOUT; > > dev->admin_tagset.numa_node = dev_to_node(dev->dev); > > dev->admin_tagset.cmd_size = sizeof(struct nvme_iod); > > - dev->admin_tagset.flags = BLK_MQ_F_NO_SCHED; > > + dev->admin_tagset.flags = BLK_MQ_F_NO_SCHED | > > + BLK_MQ_F_BLOCKING; > > I think you want to only set the BLK_MQ_F_BLOCKING if the DMA is required > to be unencrypted. Unfortunately, force_dma_unencrypted() can't be called > from a module. Is there a DMA API that could be called to get that info? The DMA API must support non-blocking calls, and various drivers rely on that. So we need to provide that even for the SEV case. If the actual blocking can't be made to work we'll need to wire up the DMA pool in kernel/dma/remap.c for it (and probably move it to separate file).