From patchwork Fri Sep 11 15:54:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 77444 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BC063A04BB; Fri, 11 Sep 2020 17:54:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 82F0AE07; Fri, 11 Sep 2020 17:54:55 +0200 (CEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id A6650DE0 for ; Fri, 11 Sep 2020 17:54:53 +0200 (CEST) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 3EF765C0214; Fri, 11 Sep 2020 11:54:53 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 11 Sep 2020 11:54:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=zlnNXMekPlOE2 4y+3lQt/CPpv6EAVFtC2Cv+SutxVmw=; b=wzb8fh3pE2zz+m7aDvcJiu1mtQbwm DV1hGnzlnVKZQWnXVltJNUiF8QZPBG2FwKe+6dT6bugyc9f+ks92PjbC/JJSH2FG WArRDcsW4b9ZpX1yB+3JprX3M/vLry6ZQaBZuMlQafZIvXNtyImScEl8/H8dMZ+Y 5ECe8TRt+gqmX1z2mG94w1TE+ZAUGS/2ME/XrTObIm0RkUsOJjl/N0w9siOVASBF 9J+5kuCTLqiwJqW01+nnnLWiGuh2fACi5jiRif5S892DzgE8KbR4U9ouIsJJNqy5 Q9Jx+HWOBZg058Bg2RUcM6hilJuH51KC2Iqie3bEEr1B5oFNNdsF2WPyA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=zlnNXMekPlOE24y+3lQt/CPpv6EAVFtC2Cv+SutxVmw=; b=DxhhEepZ kRAVe40goc4lJNKJn0hq81fSdK78RDSdGZb/tp80GB9nN6YF6rIE8O8rz9mQaLWZ GOcwtEz02SUng3LiSc5WsK2qJN8EusYp2syEWyBjCBXYeTmR6XvT8W3iZ+fX1rAB 3Qex3pv0bLNwvQBktnXXuErdqOCCasjXE1mflgavxRRR+mfbB9EtGrODqqCn8Fip 0DkosIwvqzopnMtfhZcoVeiXtxRduV5YKQsdqBtuCoqeyr2+LtyZMRYwBJj+st95 MA1OYfkTcBaqzdtYx4IuwIYl1tFV+o0OZTyrM7O2OQlL3WRp8kHESHen39f8gypN GY3z/CjsdcV7Jg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudehledgleeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgjfhgggfestdekre dtredttdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshes mhhonhhjrghlohhnrdhnvghtqeenucggtffrrghtthgvrhhnpedvteehjeduveeiieffvd euffegteegueehgeffhfevffekgfffkeehgfejjeegffenucffohhmrghinhepughpughk rdhorhhgpddtvddrqdhtohenucfkphepjeejrddufeegrddvtdefrddukeegnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehm ohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 1B4CB328005D; Fri, 11 Sep 2020 11:54:52 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: david.marchand@redhat.com, ferruh.yigit@intel.com, jerinj@marvell.com, stephen@networkplumber.org Date: Fri, 11 Sep 2020 17:54:48 +0200 Message-Id: <20200911155448.2744303-1-thomas@monjalon.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200907225049.547832-1-thomas@monjalon.net> References: <20200907225049.547832-1-thomas@monjalon.net> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2] kernel: remove igb_uio X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" As decided in the Technical Board in November 2019, the kernel module igb_uio is moved to the dpdk-kmods repository in the /linux/igb_uio/ directory. Minutes of Technical Board meeting: https://mails.dpdk.org/archives/dev/2019-November/151763.html Signed-off-by: Thomas Monjalon Acked-by: Stephen Hemminger --- v2: update few docs (including release notes) --- MAINTAINERS | 1 - doc/guides/linux_gsg/enable_func.rst | 5 +- doc/guides/linux_gsg/linux_drivers.rst | 21 +- doc/guides/rel_notes/deprecation.rst | 7 - doc/guides/rel_notes/release_20_11.rst | 3 + kernel/linux/igb_uio/Kbuild | 2 - kernel/linux/igb_uio/compat.h | 154 ------ kernel/linux/igb_uio/igb_uio.c | 660 ------------------------- kernel/linux/igb_uio/meson.build | 20 - kernel/linux/meson.build | 2 +- 10 files changed, 12 insertions(+), 863 deletions(-) delete mode 100644 kernel/linux/igb_uio/Kbuild delete mode 100644 kernel/linux/igb_uio/compat.h delete mode 100644 kernel/linux/igb_uio/igb_uio.c delete mode 100644 kernel/linux/igb_uio/meson.build diff --git a/MAINTAINERS b/MAINTAINERS index 3b16d7a4b8..d74bec58e1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -292,7 +292,6 @@ F: doc/guides/linux_gsg/ Linux UIO M: Ferruh Yigit -F: kernel/linux/igb_uio/ F: drivers/bus/pci/linux/*uio* Linux VFIO diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst index b2bda80bb7..a6c5a980fd 100644 --- a/doc/guides/linux_gsg/enable_func.rst +++ b/doc/guides/linux_gsg/enable_func.rst @@ -129,7 +129,7 @@ Loading the DPDK KNI Kernel Module To run the DPDK Kernel NIC Interface (KNI) sample application, an extra kernel module (the kni module) must be loaded into the running kernel. The module is found in the kmod sub-directory of the DPDK target directory. -Similar to the loading of the ``igb_uio`` module, this module should be loaded using the insmod command as shown below +This module should be loaded using the insmod command as shown below (assuming that the current directory is the DPDK target directory): .. code-block:: console @@ -156,4 +156,5 @@ This results in pass-through of the DMAR (DMA Remapping) lookup in the host. Also, if ``INTEL_IOMMU_DEFAULT_ON`` is not set in the kernel, the ``intel_iommu=on`` kernel parameter must be used too. This ensures that the Intel IOMMU is being initialized as expected. -Please note that while using ``iommu=pt`` is compulsory for ``igb_uio driver``, the ``vfio-pci`` driver can actually work with both ``iommu=pt`` and ``iommu=on``. +Please note that while using ``iommu=pt`` is compulsory for ``igb_uio`` driver, +the ``vfio-pci`` driver can actually work with both ``iommu=pt`` and ``iommu=on``. diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 185074013a..0024b23050 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -27,31 +27,20 @@ can provide the uio capability. This module can be loaded using the command: ``uio_pci_generic`` module doesn't support the creation of virtual functions. -As an alternative to the ``uio_pci_generic``, the DPDK also includes the igb_uio -module which can be found in the kmod subdirectory referred to above. It can -be loaded as shown below: +As an alternative to the ``uio_pci_generic``, there is the ``igb_uio`` module +which can be found in the repository ``dpdk-kmods``. +It can be loaded as shown below: .. code-block:: console sudo modprobe uio - sudo insmod kmod/igb_uio.ko - -.. note:: - - ``igb_uio`` module is disabled by default starting from ``DPDK v20.02``. - To build it, the config option ``CONFIG_RTE_EAL_IGB_UIO`` should be enabled. - It is planned to move ``igb_uio`` module to a different git repository. - -.. note:: - - For some devices which lack support for legacy interrupts, e.g. virtual function - (VF) devices, the ``igb_uio`` module may be needed in place of ``uio_pci_generic``. + sudo insmod igb_uio.ko .. note:: If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO on the system. Therefore, devices for use by DPDK should be bound to the - ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``. + ``vfio-pci`` kernel module rather than any UIO-based module. For more details see :ref:`linux_gsg_binding_kernel` below. .. note:: diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 88d7d07613..64d1c7fdff 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -96,13 +96,6 @@ Deprecation Notices used in the place of rte_cio_*mb APIs. The rte_cio_*mb APIs will be deprecated in 20.11 release. -* igb_uio: In the view of reducing the kernel dependency from the main tree, - as a first step, the Technical Board decided to move ``igb_uio`` - kernel module to the dpdk-kmods repository in the /linux/igb_uio/ directory - in 20.11. - Minutes of Technical Board Meeting of `2019-11-06 - `_. - * lib: will fix extending some enum/define breaking the ABI. There are multiple samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is used by iterators, and arrays holding these values are sized with this diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 667e3d54ad..ba4e237d1f 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -68,6 +68,9 @@ Removed Items Also, make sure to start the actual text at the margin. ======================================================= +kernel: The module ``igb_uio`` has been moved to the git repository +``dpdk-kmods`` in a new directory ``linux/igb_uio``. + API Changes ----------- diff --git a/kernel/linux/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild deleted file mode 100644 index 3ab85c4116..0000000000 diff --git a/kernel/linux/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h deleted file mode 100644 index 8dbb896ae1..0000000000 diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c deleted file mode 100644 index 039f5a5f63..0000000000 diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build deleted file mode 100644 index 80540aecee..0000000000 diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build index da79df1687..5c864a4653 100644 --- a/kernel/linux/meson.build +++ b/kernel/linux/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation -subdirs = ['igb_uio', 'kni'] +subdirs = ['kni'] # if we are cross-compiling we need kernel_dir specified if get_option('kernel_dir') == '' and meson.is_cross_build()