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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A5A9C0018A for ; Mon, 6 Nov 2023 15:16:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E17B8D0020; Mon, 6 Nov 2023 10:16:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 891648D0002; Mon, 6 Nov 2023 10:16:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 732908D0020; Mon, 6 Nov 2023 10:16:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 5FE058D0002 for ; Mon, 6 Nov 2023 10:16:41 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2BEA3C072C for ; Mon, 6 Nov 2023 15:16:41 +0000 (UTC) X-FDA: 81427881402.13.41FBA3C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf01.hostedemail.com (Postfix) with ESMTP id DBC1540007 for ; Mon, 6 Nov 2023 15:16:37 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=p1efQTYv; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of kbusch@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=kbusch@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699283798; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AdTigk0ftvm8sG0zjFow/cFK5/uHW/07OE92zT2WfrU=; b=m+u89OvHPQ5ocoSj/KzOpjLbFhGOR3ls7qg7BIfLhc6jtdX7CMgHvBu8vwbp1Dr0RMy2sw h8bolBIvooMdpMe8nRcchFb96Xgn14/4k6ijYd1pFUiTHLz6xIKMYvte+kCjW8sekCfHjt OvT1CQvfxIdNITk2lMIDxRti32qjNbQ= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=p1efQTYv; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of kbusch@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=kbusch@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699283798; a=rsa-sha256; cv=none; b=DiSWDT/L8eUKciuXb3HNNOy89dZt1r/HM7G6AlfYKJxb/AHY5pygL2kh/0bBz5EEjX2Owj cvxwAYyPTdA1izXlmf9Zqu9sAJVXKRX5uJ5R/1yozuSh6IFURXZZAZRX+Hss3VHd2YFmz1 VgieQPDJMikJCGOF+YipiZXoTnJ2WyY= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 1393660F89; Mon, 6 Nov 2023 15:16:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97714C433BC; Mon, 6 Nov 2023 15:16:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699283796; bh=/HAwmovzMZdoeZvZsHcdokGslREftSrFRuxNINmZTNE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=p1efQTYvGf8rVFkUIm2klEwzrW2mtKPa5EF8rwprtr9zH5WwvnNajfJl+shtHJF50 /ZnBBtxAYwFDXG51JGihfmCzTaX4OxyMbmJEk3SUsAA17/dTb9U9/QQvh52VD84FTM VfEN6nj25Eenlmdmzjt6BJwNVvI+dgDFpIybQyLD9c+5Ee4exOLb3CTy9naiQDXXhU Cw/TfswQygCrntLmNHPTMdYdv3g15hW+NIhMfAYqmc2HfwvR4gsKunhB1q+pSmO1C1 Pz32FeIJO3uX+B6Vw1z/QG9JVxwaQX4FzOdrrkHTjHSL4DFDV5YjUDxfCNKfOStlS5 LYvEnkgAbPC1A== Date: Mon, 6 Nov 2023 08:16:33 -0700 From: Keith Busch To: Mikulas Patocka Cc: Christoph Hellwig , Juergen Gross , Stefano Stabellini , xen-devel@lists.xenproject.org, iommu@lists.linux.dev, Marek Marczykowski-G'orecki , Jens Axboe , Sagi Grimberg , Jan Kara , Vlastimil Babka , Andrew Morton , Matthew Wilcox , Michal Hocko , stable@vger.kernel.org, regressions@lists.linux.dev, Alasdair Kergon , Mike Snitzer , dm-devel@lists.linux.dev, linux-mm@kvack.org Subject: Re: [PATCH] swiotlb-xen: provide the "max_mapping_size" method Message-ID: References: <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com> <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com> <20231106071008.GB17022@lst.de> <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: DBC1540007 X-Stat-Signature: jfyb3mc5unf6mqgm47coyd81eeczumyk X-Rspam-User: X-HE-Tag: 1699283797-848092 X-HE-Meta: U2FsdGVkX19jitHfIlrgSnFV7/DPArGdzyE3nuLEO7yEfvnYoz+vHGX6lHnlX07icwRchL3R8PY7OU4yzexQd2/xHxtWePifzDdlmHJUn0teShhf08/RwoeluuJ+t3rL25rIcpo+8UFY+3zXi9NDZ8rZPKU8/muJizx4AuuMAFLXuzOc9KGlgbjC0DFWh0/7xOGgiTJnDnUJy78Uv+lRHOGezA45qK2oIPzT7aneJn+WKTre+NulWTUeH8toEnHCQI5omID+OqfARcVzX0luGUGi5TP30FzLvRG+aEUhBoBziXhxQjTsDLHhenzf+Rl9hiRVp9JEP/BzKVzr1+7ccIedBjoKfcZONCfK7C7EJ8KNbnqY5xj6Q1KxJuyQ28p1EjLShJSdFCqK/RlbHSqnTkIi21NrEITuwtuoErC9JvOFPksIEQnx8FoTan2d8FDPJpyaauxM0XZjpz5qvmzsVJrGNEQNLfrZDnPsrteEceB/oJ6xnAJcbM74MRTLNI0EpuPFSkNMF7E4ul5BIPaD8wE2OD3RJderDRf3C5m6VfjuRAV9OdWWa62GppMjHVOxGguU8k4Ozx14rzHOpop+i0eW56DJ0mpVOWyTlba+W6mojSMXQxcnzIbDO2yhSEscp770yRuQjJBPRtqFxLXW2PCkuzn/sciIEbX08kWqVVdjOrubFWhORIAvb+QzCnGO5iI31xkXBhZuXd4fK2B6tCmTz7fChj2HNy95+Qaou+ccmgvveYJ8ZXxHWKWBJYKg3C+7O7SZdlmbOIBh7Dk3kwbK1+c+mafAUdyD3KEB9edn2GD569uFrhb6Ye69oLJyb+BEWDbMvqKTL+sfWk7JOG6v3i2VLXsT32Pe4oc2qttgpNakCeOX70U5QAFjmaoomhnLtTripsE3Qcg9UL8oZENLx60Wmu2ESvyH8ggVGX81+YnURLlBJDq7FMdC+q2JH4uszCWEQGihNy4JIa3 fSYr1tr3 CFqnu4sH3b+9t1DLrXbqYlQTZKSWhB/VHc8U19wOeiRhYP3c6g7RkWs8hGyzTMQER6HmXuTLeH9VHELrA7V6FXppYK4v7bQtnet3y2MY7rVAxpx5ju9c/JvgDv5a2GF888ZBtlGPSwt9Xt05LqdGmbP5HZvcJDgFJV6tmiYtCJuSRPWVszwwYPXDFIqCZQD8ipvi3fkVUAqeMS3c7EtrLGQzasKQkRug+CPiqr6tgCjfuil5DqBVM3WVCaswjHtkfPsSY0b3YdSIFBYhEeMAQ5JWQHqiaJHgSMIUARGTEf8WzXmG8FCFM+M/2nft//eTvVBM4c30yB0znAcGIXPejWN3tfg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Nov 06, 2023 at 03:59:40PM +0100, Mikulas Patocka wrote: > There's a bug that when using the XEN hypervisor with dm-crypt on NVMe, > the kernel deadlocks [1]. > > The deadlocks are caused by inability to map a large bio vector - > dma_map_sgtable always returns an error, this gets propagated to the block > layer as BLK_STS_RESOURCE and the block layer retries the request > indefinitely. > > XEN uses the swiotlb framework to map discontiguous pages into contiguous > runs that are submitted to the PCIe device. The swiotlb framework has a > limitation on the length of a mapping - this needs to be announced with > the max_mapping_size method to make sure that the hardware drivers do not > create larger mappings. > > Without max_mapping_size, the NVMe block driver would create large > mappings that overrun the maximum mapping size. > > [1] https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/ This should be a "Link:" tag. > Signed-off-by: Mikulas Patocka > Reported-by: Marek Marczykowski-G'orecki > Tested-by: Marek Marczykowski-G'orecki > Suggested-by: Keith Busch I was about to send the same thing. I did a little more than suggest this: it's is the very patch I wrote for testing, minus the redundant nvme bits! But since you already have a commit message for it... Acked-by: Keith Busch > Suggested-by: Christoph Hellwig > Cc: stable@vger.kernel.org > > --- > drivers/xen/swiotlb-xen.c | 1 + > 1 file changed, 1 insertion(+) > > Index: linux-stable/drivers/xen/swiotlb-xen.c > =================================================================== > --- linux-stable.orig/drivers/xen/swiotlb-xen.c 2023-11-03 17:57:18.000000000 +0100 > +++ linux-stable/drivers/xen/swiotlb-xen.c 2023-11-06 15:30:59.000000000 +0100 > @@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma > .get_sgtable = dma_common_get_sgtable, > .alloc_pages = dma_common_alloc_pages, > .free_pages = dma_common_free_pages, > + .max_mapping_size = swiotlb_max_mapping_size, > };