Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1408549rwd; Thu, 18 May 2023 11:33:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4o21n3moBUAS7sm9SjFYL888V/tzeuFPefFR4y7ADdiCWTX7eLUNECmorxS+f03kPF4+y0 X-Received: by 2002:a17:90b:e96:b0:253:3e9d:f925 with SMTP id fv22-20020a17090b0e9600b002533e9df925mr3450428pjb.31.1684434815983; Thu, 18 May 2023 11:33:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684434815; cv=none; d=google.com; s=arc-20160816; b=Fi1Z4ECbBca4mjwAGkneOyqxftlNkrM3yplwXj1pDQIbJ/wHw49vLRCVFURAfhjfP9 QdPldWPxGH48HkEbC0YkcwbA9Vj+Nvh8TFk9Bdob5SfNpNADfqZ8YW3q1VR2mYqzpG40 8za662RM8+ZNF13V6xv4F4kChlyula7ucEUqWTiOzuJPZQgy8ajMA+gBlGKiXVR2ipNn QGRe0V/lpC0tj/uNAb7a1IghIo/iuoFabD05iXjrKV3NU2aCellBDn/vW8YMreAde+wM lTDazzDHfP1VPLfTX92F/eNePu/gnhzGX1Z42KC65KEhW2nDAaYY3IsmwbPBUWy8J1qE ookA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:feedback-id :dkim-signature:dkim-signature; bh=8axqpDZcBJUL6/RSlQEGx3UykZkeYDfsoFqsKS4DlH8=; b=E9d1q7yiBURoFnJiU7KClD/wz9WGPWSsndA2490X6vNL9fi+EKDXGV9WqlbG1Tv5Gs QfVYMlgnMTXI+FMR+MobSeiS5H/j/Rdgso2YCVMD6sBDHahpu7B28m4LsTYrOkoOgqIH Ea6CL+3HOsXONX+RLyGBabR+j1RCg2IRCe1NpVGQ0Eq1Bm3Xn2siPosZkfCw2vIHzwFy MxzuPcZZyrIxDLSZV/M7MGlPI6jRtTOl+wME707vGs5odFzC4cJ+868GLp2qHu7HgZKF n3nwbqN8ZkgJTv2D9EHfcAKz9p+mNcyu+8vc7aLuJ+SMyuDTF/0opIPToJRcRqpanPrh r75g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@invisiblethingslab.com header.s=fm3 header.b=LTDJ72ZJ; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=ahTrDDMN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h13-20020a17090a470d00b002533b600bbesi14202pjg.101.2023.05.18.11.33.23; Thu, 18 May 2023 11:33:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@invisiblethingslab.com header.s=fm3 header.b=LTDJ72ZJ; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=ahTrDDMN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229718AbjERSSu (ORCPT + 99 others); Thu, 18 May 2023 14:18:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229451AbjERSSt (ORCPT ); Thu, 18 May 2023 14:18:49 -0400 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D826FA0 for ; Thu, 18 May 2023 11:18:47 -0700 (PDT) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 467EA5C0189; Thu, 18 May 2023 14:18:45 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Thu, 18 May 2023 14:18:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= invisiblethingslab.com; h=cc:cc:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1684433925; x=1684520325; bh=8axqpDZcBJUL6/RSlQEGx3UykZkeYDfsoFq sKS4DlH8=; b=LTDJ72ZJBNU4Q+wdQtTMHbKI7Rf7xCwPmPlFPa/OWtk6KR2yIsb wUx4TgI9fwxNTiD9tCkEW9fGhx6uFOOexL8CANKKVptANJ3uJC8nIcLpDQnNeuJ5 9tieBz0pNDhKd4uSNPNux7XAJUkWci2MO18bTW3KhOKheIthnn54/C2EIz2B7n0p ArsV7dtXoA+8i7LqZVw5QBTuof9aSMA381lGLdwimEdPy6/4q2hSQupv4lFLphcq Xz1nGSd9blAmwB1xoafB3KUXW/7h0gRdkot2+/Ph2RsVSc6V0quQymU13VP2wcXw AuAa+ike1zV5TPGd9EvSg2UdVQTk5IVi74g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1684433925; x=1684520325; bh=8axqpDZcBJUL6 /RSlQEGx3UykZkeYDfsoFqsKS4DlH8=; b=ahTrDDMNHMprtR6j7zsInmHT0unIR qAyeVpbtq7fyzs/HsksHaOtng51EzIdD1Y4DmO8WoPBkTWZ5M3rG0m/mcJ6JDmPw Ecy4AFX/C+Uewwq8xxSQ0sk7Is2WYhYYslyESxZijdWH/cei3IxLH5Fq8X6pTphq SxFdOZPf2JQXVzxxMxEilNQPw4mbB+ZrezIiDlKcdSqxv2j25fEZnzUl0MJ8yfLX 4IBsMTnU58G/IcA7jgPp15uxmuqzn8dHYvRHo01VfoDYtRBqchFq9RUOtpPcUI9N ZflIOipXAScjPuYZeecwD2XoSt2p9rjtUfsNR+ACw3XeX8tFtlst0182g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeifedguddvfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm X-ME-Proxy: Feedback-ID: i1568416f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 18 May 2023 14:18:42 -0400 (EDT) Date: Thu, 18 May 2023 20:18:39 +0200 From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= To: Christoph Hellwig Cc: Juergen Gross , Stefano Stabellini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Ben Skeggs , Karol Herbst , Lyude Paul , xen-devel@lists.xenproject.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, nouveau@lists.freedesktop.org Subject: Re: [PATCH 2/4] x86: always initialize xen-swiotlb when xen-pcifront is enabling Message-ID: References: <20230518134253.909623-1-hch@lst.de> <20230518134253.909623-3-hch@lst.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="CsM+DO8kg05XbydD" Content-Disposition: inline In-Reply-To: <20230518134253.909623-3-hch@lst.de> X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --CsM+DO8kg05XbydD Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Date: Thu, 18 May 2023 20:18:39 +0200 From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= To: Christoph Hellwig Cc: Juergen Gross , Stefano Stabellini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Ben Skeggs , Karol Herbst , Lyude Paul , xen-devel@lists.xenproject.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, nouveau@lists.freedesktop.org Subject: Re: [PATCH 2/4] x86: always initialize xen-swiotlb when xen-pcifront is enabling On Thu, May 18, 2023 at 03:42:51PM +0200, Christoph Hellwig wrote: > Remove the dangerous late initialization of xen-swiotlb in > pci_xen_swiotlb_init_late and instead just always initialize > xen-swiotlb in the boot code if CONFIG_XEN_PCIDEV_FRONTEND is enabled. >=20 > Signed-off-by: Christoph Hellwig Doesn't it mean all the PV guests will basically waste 64MB of RAM by default each if they don't really have PCI devices? > --- > arch/x86/include/asm/xen/swiotlb-xen.h | 6 ------ > arch/x86/kernel/pci-dma.c | 25 +++---------------------- > drivers/pci/xen-pcifront.c | 6 ------ > 3 files changed, 3 insertions(+), 34 deletions(-) >=20 > diff --git a/arch/x86/include/asm/xen/swiotlb-xen.h b/arch/x86/include/as= m/xen/swiotlb-xen.h > index 77a2d19cc9909e..abde0f44df57dc 100644 > --- a/arch/x86/include/asm/xen/swiotlb-xen.h > +++ b/arch/x86/include/asm/xen/swiotlb-xen.h > @@ -2,12 +2,6 @@ > #ifndef _ASM_X86_SWIOTLB_XEN_H > #define _ASM_X86_SWIOTLB_XEN_H > =20 > -#ifdef CONFIG_SWIOTLB_XEN > -extern int pci_xen_swiotlb_init_late(void); > -#else > -static inline int pci_xen_swiotlb_init_late(void) { return -ENXIO; } > -#endif > - > int xen_swiotlb_fixup(void *buf, unsigned long nslabs); > int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order, > unsigned int address_bits, > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c > index f887b08ac5ffe4..c4a7ead9eb674e 100644 > --- a/arch/x86/kernel/pci-dma.c > +++ b/arch/x86/kernel/pci-dma.c > @@ -81,27 +81,6 @@ static void __init pci_xen_swiotlb_init(void) > if (IS_ENABLED(CONFIG_PCI)) > pci_request_acs(); > } > - > -int pci_xen_swiotlb_init_late(void) > -{ > - if (dma_ops =3D=3D &xen_swiotlb_dma_ops) > - return 0; > - > - /* we can work with the default swiotlb */ > - if (!io_tlb_default_mem.nslabs) { > - int rc =3D swiotlb_init_late(swiotlb_size_or_default(), > - GFP_KERNEL, xen_swiotlb_fixup); > - if (rc < 0) > - return rc; > - } > - > - /* XXX: this switches the dma ops under live devices! */ > - dma_ops =3D &xen_swiotlb_dma_ops; > - if (IS_ENABLED(CONFIG_PCI)) > - pci_request_acs(); > - return 0; > -} > -EXPORT_SYMBOL_GPL(pci_xen_swiotlb_init_late); > #else > static inline void __init pci_xen_swiotlb_init(void) > { > @@ -111,7 +90,9 @@ static inline void __init pci_xen_swiotlb_init(void) > void __init pci_iommu_alloc(void) > { > if (xen_pv_domain()) { > - if (xen_initial_domain() || x86_swiotlb_enable) > + if (xen_initial_domain() || > + IS_ENABLED(CONFIG_XEN_PCIDEV_FRONTEND) || > + x86_swiotlb_enable) > pci_xen_swiotlb_init(); > return; > } > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index 83c0ab50676dff..11636634ae512f 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -22,7 +22,6 @@ > #include > #include > #include > -#include > #include > =20 > #include > @@ -669,11 +668,6 @@ static int pcifront_connect_and_init_dma(struct pcif= ront_device *pdev) > =20 > spin_unlock(&pcifront_dev_lock); > =20 > - if (!err && !is_swiotlb_active(&pdev->xdev->dev)) { > - err =3D pci_xen_swiotlb_init_late(); > - if (err) > - dev_err(&pdev->xdev->dev, "Could not setup SWIOTLB!\n"); > - } > return err; > } > =20 > --=20 > 2.39.2 >=20 >=20 --=20 Best Regards, Marek Marczykowski-G=C3=B3recki Invisible Things Lab --CsM+DO8kg05XbydD Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmRma/8ACgkQ24/THMrX 1yzT+gf/S1uwHKmjBfQtKqzw50EE/PUeNAO8869wN0cpWYT6WkKJT5BxXOVgbJfW 9mibLfMCcVO0H1cE8+PCxvC9BIv3ldhC7KVtSQks99V24zf0mPiqBiGM2mAI9VRD SYMwmipIXDSRFERIcBo1XomAt4ytJj/BkqCv+Xy5PgYIqdABz9R4G3HT2q6rN0Lq M2sLnKWdGwoYdk8hOmlTY5F3/iYdv/Zlel4Ki2s5ZzLUBxCZ1IKErb31wRaRid8p APcTnrs8RZE8+YBL7nzdr9HudKMlaChsiZsPkIo0v0aI5oFa+OHs6Z5sOXOP0RAB qmCDKShHiVUc6Lqc1gT6VHLmZdEEig== =Y97F -----END PGP SIGNATURE----- --CsM+DO8kg05XbydD--