get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/108742/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 108742,
    "url": "http://patches.dpdk.org/api/patches/108742/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220316134551.1099599-6-bruce.richardson@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20220316134551.1099599-6-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220316134551.1099599-6-bruce.richardson@intel.com",
    "date": "2022-03-16T13:45:47",
    "name": "[v2,5/9] doc: emphasise VFIO over UIO-based modules in GSG",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e32760e1f7794333b0c813dca76b79506fa96364",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220316134551.1099599-6-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 22162,
            "url": "http://patches.dpdk.org/api/series/22162/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=22162",
            "date": "2022-03-16T13:45:42",
            "name": "Improve Linux drivers GSG section",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/22162/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/108742/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/108742/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 4DCEDA0032;\n\tWed, 16 Mar 2022 14:46:39 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E2EF741174;\n\tWed, 16 Mar 2022 14:46:14 +0100 (CET)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n by mails.dpdk.org (Postfix) with ESMTP id C3104410F6;\n Wed, 16 Mar 2022 14:46:07 +0100 (CET)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 16 Mar 2022 06:46:07 -0700",
            "from silpixa00399126.ir.intel.com ([10.237.223.34])\n by orsmga005.jf.intel.com with ESMTP; 16 Mar 2022 06:46:06 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1647438368; x=1678974368;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=6T7m2SDFr6Ll49aO5uLStzvMbZCAJFecSt/Wpj1zHcA=;\n b=UB85sJSnsBEw3fba8IKIC1WW3DhQGr9tXPMfYi/tE5Awn9zyBUfIBeRF\n M4xKcY5zYRN6/MTKfQm4zIb0E0k2bQzUSkH+Q0QXOyGXbBP01Ahoh/BR2\n yCZrUTtxyuEEcY0XBjhsob0QtXT/Q0p2OFUtwrIH0sMLun/TevPppCp1C\n C1Mvw/AOStzb3L+lTu2Mcjdf7OyRg3s3qlRPNsOOAN/HFNEOyLv+0fY8b\n yhJCzTkry8ENiKlkDivFTO4wIJIiNto9n7GAUAJw13S3UmeNFtXc1BE8w\n 7urzgZ7A0yH/EbW3iAHsMM+XWvcGmXi07tnCsWRwcivTJHX6g7vpM3OIT A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10286\"; a=\"256780570\"",
            "E=Sophos;i=\"5.90,186,1643702400\"; d=\"scan'208\";a=\"256780570\"",
            "E=Sophos;i=\"5.90,186,1643702400\"; d=\"scan'208\";a=\"714606501\""
        ],
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>,\n\tstable@dpdk.org",
        "Subject": "[PATCH v2 5/9] doc: emphasise VFIO over UIO-based modules in GSG",
        "Date": "Wed, 16 Mar 2022 13:45:47 +0000",
        "Message-Id": "<20220316134551.1099599-6-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.32.0",
        "In-Reply-To": "<20220316134551.1099599-1-bruce.richardson@intel.com>",
        "References": "<20220302172217.472279-1-bruce.richardson@intel.com>\n <20220316134551.1099599-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "VFIO is to be strongly preferred over uio-based modules, so update our\ntext and examples to only refer to vfio, giving an initial reference at\nthe start to uio as a fallback option.\n\nCc: stable@dpdk.org\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n doc/guides/linux_gsg/linux_drivers.rst | 47 +++++++++++++++-----------\n 1 file changed, 28 insertions(+), 19 deletions(-)\n\n--\n2.32.0",
    "diff": "diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst\nindex b93feae7a1..bd649db929 100644\n--- a/doc/guides/linux_gsg/linux_drivers.rst\n+++ b/doc/guides/linux_gsg/linux_drivers.rst\n@@ -25,14 +25,18 @@ Binding and Unbinding Network Ports to/from the Kernel Modules\n    This section is for PMDs which use the UIO or VFIO drivers.\n    See :ref:`bifurcated_driver` section for more details.\n\n-As of release 1.4, DPDK applications no longer automatically unbind all supported network ports from the kernel driver in use.\n-Instead, in case the PMD being used use the VFIO or UIO drivers,\n-all ports that are to be used by a DPDK application must be bound to\n-the ``vfio-pci``, ``uio_pci_generic``, or ``igb_uio`` module\n-before the application is run.\n-For such PMDs, any network ports under Linux* control will be ignored and cannot be used by the application.\n-\n-To bind ports to the ``vfio-pci``, ``uio_pci_generic`` or ``igb_uio`` module\n+.. note::\n+\n+   It is recommended that ``vfio-pci`` be used as the kernel module for DPDK-bound ports in all cases.\n+   If an IOMMU is unavailable, the ``vfio-pci`` can be used in :ref:`no-iommu<vfio_noiommu>` mode.\n+   If, for some reason, vfio is unavailable, then UIO-based modules, ``igb_uio`` and ``uio_pci_generic`` may be used.\n+   See section :ref:`uio` for details.\n+\n+Most devices require that the hardware to be used by DPDK be unbound from the kernel driver it uses,\n+and instead be bound to the ``vfio-pci`` kernel module before the application is run.\n+For such PMDs, any network ports or other hardware under Linux* control will be ignored and cannot be used by the application.\n+\n+To bind ports to the ``vfio-pci`` module\n for DPDK use, or to return ports to Linux control,\n a utility script called ``dpdk-devbind.py`` is provided in the ``usertools`` subdirectory.\n This utility can be used to provide a view of the current state of the network ports on the system,\n@@ -72,37 +76,38 @@ To see the status of all network ports on the system:\n\n     Network devices using DPDK-compatible driver\n     ============================================\n-    0000:82:00.0 '82599EB 10-GbE NIC' drv=uio_pci_generic unused=ixgbe\n-    0000:82:00.1 '82599EB 10-GbE NIC' drv=uio_pci_generic unused=ixgbe\n+    0000:82:00.0 '82599EB 10-GbE NIC' drv=vfio-pci unused=ixgbe\n+    0000:82:00.1 '82599EB 10-GbE NIC' drv=vfio-pci unused=ixgbe\n\n     Network devices using kernel driver\n     ===================================\n-    0000:04:00.0 'I350 1-GbE NIC' if=em0  drv=igb unused=uio_pci_generic *Active*\n-    0000:04:00.1 'I350 1-GbE NIC' if=eth1 drv=igb unused=uio_pci_generic\n-    0000:04:00.2 'I350 1-GbE NIC' if=eth2 drv=igb unused=uio_pci_generic\n-    0000:04:00.3 'I350 1-GbE NIC' if=eth3 drv=igb unused=uio_pci_generic\n+    0000:04:00.0 'I350 1-GbE NIC' if=em0  drv=igb unused=vfio-pci *Active*\n+    0000:04:00.1 'I350 1-GbE NIC' if=eth1 drv=igb unused=vfio-pci\n+    0000:04:00.2 'I350 1-GbE NIC' if=eth2 drv=igb unused=vfio-pci\n+    0000:04:00.3 'I350 1-GbE NIC' if=eth3 drv=igb unused=vfio-pci\n\n     Other network devices\n     =====================\n     <none>\n\n-To bind device ``eth1``,``04:00.1``, to the ``uio_pci_generic`` driver:\n+To bind device ``eth1``,``04:00.1``, to the ``vfio-pci`` driver:\n\n .. code-block:: console\n\n-    ./usertools/dpdk-devbind.py --bind=uio_pci_generic 04:00.1\n+    ./usertools/dpdk-devbind.py --bind=vfio-pci 04:00.1\n\n or, alternatively,\n\n .. code-block:: console\n\n-    ./usertools/dpdk-devbind.py --bind=uio_pci_generic eth1\n+    ./usertools/dpdk-devbind.py --bind=vfio-pci eth1\n\n-To restore device ``82:00.0`` to its original kernel binding:\n+When specifying device ids, wildcards can be used for the final part of the address.\n+To restore device ``82:00.0`` and ``82:00.1`` to their original kernel binding:\n\n .. code-block:: console\n\n-    ./usertools/dpdk-devbind.py --bind=ixgbe 82:00.0\n+    ./usertools/dpdk-devbind.py --bind=ixgbe 82:00.*\n\n VFIO\n ----\n@@ -210,6 +215,8 @@ to use IO virtualization (such as Intel\\ |reg| VT-d).\n For proper operation of VFIO when running DPDK applications as a non-privileged user, correct permissions should also be set up.\n For more information, please refer to :ref:`Running_Without_Root_Privileges`.\n\n+.. _vfio_noiommu:\n+\n VFIO no-IOMMU mode\n ------------------\n\n@@ -240,6 +247,8 @@ After that, VFIO can be used with hardware devices as usual.\n    to keep the degree of device access and programming that VFIO has,\n    in situations where IOMMU is not available.\n\n+.. _uio:\n+\n UIO\n ---\n\n",
    "prefixes": [
        "v2",
        "5/9"
    ]
}