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 23125C4167D for ; Tue, 7 Nov 2023 04:18:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 476486B0144; Mon, 6 Nov 2023 23:18:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 426BF6B014E; Mon, 6 Nov 2023 23:18:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 29F3D6B014C; Mon, 6 Nov 2023 23:18:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 15D656B0143 for ; Mon, 6 Nov 2023 23:18:42 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CD2D38064E for ; Tue, 7 Nov 2023 04:18:41 +0000 (UTC) X-FDA: 81429852042.20.965AD01 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf09.hostedemail.com (Postfix) with ESMTP id 0F8CD140003 for ; Tue, 7 Nov 2023 04:18:39 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Bp79TRjy; spf=pass (imf09.hostedemail.com: domain of sstabellini@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sstabellini@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699330720; 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=JkOOA9qevNn+5JDS94xonR5LGK3ujHRIksApQEwnUtI=; b=m3Z28zGQbr8TP9NoUd/ZHIsZLJvEv8e8KitYdS2/pTdmKDuQA/OtDcT2IA5q9XEWLp5nYx /1LqOoxpOXnUGSXtG0SjVdeSVsisLuWqg6k7zzo+3hmAb2ao9AQ+d52CK/d/2njLcjUgd3 BKC+W4s7IbnqpBax5zGqYjc/9nKR9EI= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Bp79TRjy; spf=pass (imf09.hostedemail.com: domain of sstabellini@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sstabellini@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699330720; a=rsa-sha256; cv=none; b=F9BMJS/ym07TsUp4xu0b+Sx+tVXtdro3gTp0kwACE31OlydAX2zY7cPVm41Bq7Oi4C+9wo h5lCr4L9UZLmG4bnHqq+RbGVeTSE3FOX09gUcKYNGFPIStzOCCNHsbuoi66Xm7Cb1dBpwX abuJxv/UwMuAd41K1dhOElspAOg9vOQ= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id EBFF461118; Tue, 7 Nov 2023 04:18:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD399C433C7; Tue, 7 Nov 2023 04:18:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699330718; bh=5PvihFHBU7SqgdRwrtVBo1+6I/pEiB/RH5ISX/VMPpA=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=Bp79TRjy24dSDD/qE6n8ck8XIFc1iINY8FONEu+yGlfyIKf7sAGTIkE76bM888oZi t/diEaICWenT4mb89FLqqlQdr/kMR8ohF/pvt10vL2t3MlUQZ7W5Ej0iBA4Ey2oOkN piKy8MQFGWSR8jbtWOGfriFcQA+cCu5jAMkoeQ0AKDSBphqAXqQgoJX2EBGq7AUs9m ioOn9opMSHLLz4obHlrt6gDID/c0CNS2W8XpnuwKZL3U7uIcedn3ZGSugjsSZyBJeb 8rD6UJHi0B64OlMSCYXWFRgCRWeUB583TG1QBgNuSaaCB5p2ZG8ANgU7du4WCoaekW pOdtrknRPGb8A== Date: Mon, 6 Nov 2023 20:18:31 -0800 (PST) From: Stefano Stabellini X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop To: Mikulas Patocka cc: Mike Snitzer , Keith Busch , 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 , dm-devel@lists.linux.dev, linux-mm@kvack.org Subject: Re: [PATCH v2] swiotlb-xen: provide the "max_mapping_size" method In-Reply-To: <151bef41-e817-aea9-675-a35fdac4ed@redhat.com> 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> <151bef41-e817-aea9-675-a35fdac4ed@redhat.com> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="8323329-46487316-1699301481=:3478774" Content-ID: X-Rspamd-Queue-Id: 0F8CD140003 X-Rspam-User: X-Stat-Signature: webi89q1nkm8oynjnk94fjhxp1f1nkka X-Rspamd-Server: rspam01 X-HE-Tag: 1699330719-857196 X-HE-Meta: U2FsdGVkX1+acBHh/I1FdC5q/h7wss/iJ2x9eGyMJfF5TZs4DRfJk2IYzl8dqujFeYRzi9iAgva5SdtjeEZ/MBWzjt3lwyS5KW6/hVVkXPXwDNeZz0c92jSFkh93YDWs1dBqQwJGuvlIWx3fgRnmgaYIejYULHW4vUyg5iNpQMXBnp6NahsTOL1aghO+GUiFFmkn6lyJnU4ZCWB/1/Ot5E23ZymVQ8j/E6vBlXm7oRR/VmwvqzyrY7FwZ4EO6B5aEFOGhqdbs85rojgwzdaS5LdjOfH9wLrbY1lvBbbXu12xCkhjFb6kxcxlwSXNDjHCsUCk6LHwZNie/9OEcfJjJBYJ5vsRhDBJL1N4nVz5d8ZBbD4ZblSAJafJca7jm8w5vYh9+gcwBA2jCxO7mDhVBKG2dQxH/FcZYPWgcsSxfodA1f80G6QyCw3SYm7Mzv4w9iY9A7qY+d79GJ+YXvEw/RyYKjZRayjcuCcS0jVW4tSc0bStFfgYZ12EHNoTbWoD6XiUOAtM09FYY78lpizzua9BDeTCdnubCWU/LWQ5tRhPqYIBSVs+tnS/5IAKRSKSJ76JMQBGpyuzUk0FgPxC06g4RAzJWnM79JgV+wj7UqoDOOphIAF0C2/MLNj5vF+JUKXb8bBlQyPfCspvVKypNE5q9ibYJwX1Oq6HPtWDwJb54RaCwUMsYDe8yWbnUCwQjqTZom52QMknXQtmZHdm9lOdrG37jLqgNkepDMgegrqKYc7gE7UZ5shNf+6iOyfCzC3543yTgWa1aOxnOP5y6JxZZW7H5il2YdKN7Ta7Xxiq1NeLE1FEOKj/N0JUZk/kETsCjfN9YB7CKe+g8JhcM2GH8i9MSyg5ZoW7MtcAlS3mPS+x2LGtbYkbxcZEaNCqMSE2oZVdHXxW/h7sb4Sz/OWnIvlLi+tNA+nLZ0oXMkZyrBMwwDFgbcpWBPgJn1mNKckvfArlVvbu29Qkmcy pAN8+VUf pW+rFPy8LhHsxHqfIH7ecEAM+AGaqQg2pfb0U2ds5Rp/IrpCHnN04UD5jaCO3iFgADinS9GxAuWA1vmR+SZh9GkSFe3fdTOj6UO4QhUqvHK7HRN/+aM3kFyjezjqYr3LWR1bxI4kO5597p6uTqw6lo3nhIAf/fBjwg9+x9Vq2ainS6adtT6srzP07UU1WaW50aaafUXZi6Y3RYIoasO2Wqokp9lrppOs5pwch9jJWIiKFfMrx+O3XBoERgdO1tqdB1IBwx4wZGI9cb/5h9O0g+RRmUkZQBhtUfJcXebpXVjttDZoEZk98TU1cIV3lfxbNSaSyDI+VKsaLosHMWO4RcNjibTJEK2P10Y8PfFhgH03WSf8oI/eGxJ7dDoqcZB7IqeGO9HXJFD2GNmXYCiuQruZy2W2p3+HB5sJv/8rWpTOY393LRDOlZFdVmcByayXuJGX9Yq2u1ahJYdM= 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: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-46487316-1699301481=:3478774 Content-Type: text/plain; CHARSET=UTF-8 Content-Transfer-Encoding: 8BIT Content-ID: On Mon, 6 Nov 2023, Mikulas Patocka wrote: > From: Keith Busch > > There's a bug that when using the XEN hypervisor with bios with large > multi-page bio vectors 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. > > Reported-by: Marek Marczykowski-Górecki > Link: https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/ [1] > Tested-by: Marek Marczykowski-Górecki > Suggested-by: Christoph Hellwig > Cc: stable@vger.kernel.org > Signed-off-by: Keith Busch > Signed-off-by: Mikulas Patocka Acked-by: Stefano Stabellini > --- > 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, > }; --8323329-46487316-1699301481=:3478774--