Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp3720534pxy; Tue, 4 May 2021 08:28:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQQaO+akn3ZM5holQdDt2KBC2SaVwf9y7cOrd5SO/4PTYYFKBgydqZ8ZYdLw+OZMTs9U9a X-Received: by 2002:a17:902:dacf:b029:ee:ac0e:d0fe with SMTP id q15-20020a170902dacfb02900eeac0ed0femr22079980plx.30.1620142112375; Tue, 04 May 2021 08:28:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620142112; cv=none; d=google.com; s=arc-20160816; b=nWfNdXGvddNi6CgzlmfRID6OUXDioH39LQvZdWHxqHpkHNesXZWv1tdDyNxnzS++Re +ii52eU/uRDaVIiWzeoLnpOcVP5HCUq8uGkMEj1Tz9jvmttB2ysPMT/C0ZLNdOr8OaaY /OZsb+V+toVL1OKtWYrUuK0rw37eJpIeUYJJutBLRKPlUMD5QRmn1tEpa5jsMq2YL8/z vJRXrsqJ+sjI4jqjJBsn2jfSN/UvgwqIsHxrVaozw2keDEKw8LQjNzNPYEeM9eQ9b0Uy FNb6tYSy9KOOOkcqlGyeC/EyBKDkkwMbGhtsQaEQXOHBdgsRBuWAFqPrKG1LO9mMJYLy vu8A== 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:mail-followup-to:message-id:subject:cc:to:from:date :dkim-signature; bh=ensQSDTh3BO9iGPVrV6EYBnSBYEfz7lspMmgWRr6tEM=; b=xfJinV0MyOTMWvr80N6qLc66SlygtBKnkCu1V1HTFIgzM7ZTNEoSQ2wMUCCS4SWaw+ d3xqwvth1p51A1kAsnX3epRwEIWqlvotXCQgNUk6BEidc4hF4E4gKbXyx++wLVvbSh5A KjuL5TNAkOD6cqHsuNUrYx4TQju55gdAzvfoLulW50/q9UnSlvAY7pivRePBs90YBO8s wXnBMVOVEJ/Yc0G10fIx8q87RJp2fS7cEEV/cHfsuhOsCciDrlilHh2dNwLVPXENUU/s A0MwSiXqx9bhJax6HoZHd6mjE02EIvN7o/J+rsCSh4Y1vBbJ3LK/S7Bhk7UXMffjELSR Mf4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="A/agEr85"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z12si4287872pgu.582.2021.05.04.08.28.00; Tue, 04 May 2021 08:28:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="A/agEr85"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231553AbhEDOYk (ORCPT + 99 others); Tue, 4 May 2021 10:24:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231393AbhEDOYj (ORCPT ); Tue, 4 May 2021 10:24:39 -0400 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BADEC061574 for ; Tue, 4 May 2021 07:23:44 -0700 (PDT) Received: by mail-ej1-x62e.google.com with SMTP id y7so13438116ejj.9 for ; Tue, 04 May 2021 07:23:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to; bh=ensQSDTh3BO9iGPVrV6EYBnSBYEfz7lspMmgWRr6tEM=; b=A/agEr85m2gTABKwkX7MweJdDLUWMMy/uuv8cOATtF0IOSbqQGQWqB7WVO/2i6CTej A/xEN0wabqwjnysRyxUsM6987Nm7ZjOXb3ElY7BOmpcbi2Nz6d878YWmh7i2EiFYeKva NM7Q/fRoU0PTIKl2uxcCG8z+XO6JfxPjFQ6us= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to; bh=ensQSDTh3BO9iGPVrV6EYBnSBYEfz7lspMmgWRr6tEM=; b=Ji0pMH66a/EYnkgyWMYV7Hk5UR9ZSDwk+URjN5FeDuT2lh05Zo7syrNgWpDJynINCv kLV9SLddc02IG3SZ8VyUMUD+i2gc597sMWwFzMfolyLq17yGikfG9L7mGS4r4qoKi6U6 QArrzmaNqSeLNIJjE8lh/iTtfs2qS8fpeMlKjd/qHv+FjK/KHWoiGSlV44yQP8VxppZI RBo9KxrXeKgDhOlRCpHzL96dN314GP+ss1fQoPqblVjnRoZ034a0qrtz4UGrz9MPCev/ /UN4rEsseelW90oegiR2Gddad+1LN7qMOViaBnJ5Iu13e3sRAGDSy5d8t06Xaa0geaUD naYw== X-Gm-Message-State: AOAM531AbXS555BcE3YfHMhQSe9VcZOZWCFhFNdLlo1W6Jme3/b9FX5k MBeTQNeZUXeQ1Bw1UgMrCvVQYA== X-Received: by 2002:a17:906:194d:: with SMTP id b13mr22253337eje.83.1620138223252; Tue, 04 May 2021 07:23:43 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id t14sm1462204ejc.121.2021.05.04.07.23.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 May 2021 07:23:42 -0700 (PDT) Date: Tue, 4 May 2021 16:23:40 +0200 From: Daniel Vetter To: Greg Kurz Cc: Greg Kroah-Hartman , Christoph Hellwig , Michael Ellerman , Alex Williamson , Jason Gunthorpe , kvm@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Paul Mackerras , Daniel Vetter , linux-api@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org Subject: Re: remove the nvlink2 pci_vfio subdriver v2 Message-ID: Mail-Followup-To: Greg Kurz , Greg Kroah-Hartman , Christoph Hellwig , Michael Ellerman , Alex Williamson , Jason Gunthorpe , kvm@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Paul Mackerras , linux-api@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org References: <20210326061311.1497642-1-hch@lst.de> <20210504142236.76994047@bahia.lan> <20210504152034.18e41ec3@bahia.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210504152034.18e41ec3@bahia.lan> X-Operating-System: Linux phenom 5.10.32scarlett+ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 04, 2021 at 03:20:34PM +0200, Greg Kurz wrote: > On Tue, 4 May 2021 14:59:07 +0200 > Greg Kroah-Hartman wrote: > > > On Tue, May 04, 2021 at 02:22:36PM +0200, Greg Kurz wrote: > > > On Fri, 26 Mar 2021 07:13:09 +0100 > > > Christoph Hellwig wrote: > > > > > > > Hi all, > > > > > > > > the nvlink2 vfio subdriver is a weird beast. It supports a hardware > > > > feature without any open source component - what would normally be > > > > the normal open source userspace that we require for kernel drivers, > > > > although in this particular case user space could of course be a > > > > kernel driver in a VM. It also happens to be a complete mess that > > > > does not properly bind to PCI IDs, is hacked into the vfio_pci driver > > > > and also pulles in over 1000 lines of code always build into powerpc > > > > kernels that have Power NV support enabled. Because of all these > > > > issues and the lack of breaking userspace when it is removed I think > > > > the best idea is to simply kill. > > > > > > > > Changes since v1: > > > > - document the removed subtypes as reserved > > > > - add the ACK from Greg > > > > > > > > Diffstat: > > > > arch/powerpc/platforms/powernv/npu-dma.c | 705 --------------------------- > > > > b/arch/powerpc/include/asm/opal.h | 3 > > > > b/arch/powerpc/include/asm/pci-bridge.h | 1 > > > > b/arch/powerpc/include/asm/pci.h | 7 > > > > b/arch/powerpc/platforms/powernv/Makefile | 2 > > > > b/arch/powerpc/platforms/powernv/opal-call.c | 2 > > > > b/arch/powerpc/platforms/powernv/pci-ioda.c | 185 ------- > > > > b/arch/powerpc/platforms/powernv/pci.c | 11 > > > > b/arch/powerpc/platforms/powernv/pci.h | 17 > > > > b/arch/powerpc/platforms/pseries/pci.c | 23 > > > > b/drivers/vfio/pci/Kconfig | 6 > > > > b/drivers/vfio/pci/Makefile | 1 > > > > b/drivers/vfio/pci/vfio_pci.c | 18 > > > > b/drivers/vfio/pci/vfio_pci_private.h | 14 > > > > b/include/uapi/linux/vfio.h | 38 - > > > > > > > > > Hi Christoph, > > > > > > FYI, these uapi changes break build of QEMU. > > > > What uapi changes? > > > > All macros and structure definitions that are being removed > from include/uapi/linux/vfio.h by patch 1. Just my 2cents from drm (where we deprecate old gunk uapi quite often): Imo it's best to keep the uapi headers as-is, but exchange the documentation with a big "this is removed, never use again" warning: - it occasionally serves as a good lesson for how to not do uapi (whatever the reasons really are in the specific case) - it's good to know which uapi numbers (like parameter extensions or whatever they are in this case) are defacto reserved, because there are binaries (qemu in this) that have code acting on them out there. The only exception where we completely nuke the structs and #defines is when uapi has been only used by testcases. Which we know, since we defacto limit our stable uapi guarantee to the canonical open&upstream userspace drivers only (for at least the driver-specific stuff, the cross-driver interfaces are hopeless). Anyway feel free to ignore since this might be different than drivers/gpu. Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch