[v9,6/6] doc: update docs for ntb driver
Checks
Commit Message
Update related documents for ntb pmd and example.
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
MAINTAINERS | 9 +++++
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rawdevs/ntb_rawdev.rst | 41 ++++++++++++++++++++++
doc/guides/rel_notes/release_19_08.rst | 15 ++++++++
doc/guides/sample_app_ug/index.rst | 1 +
doc/guides/sample_app_ug/ntb.rst | 47 ++++++++++++++++++++++++++
6 files changed, 114 insertions(+)
create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
create mode 100644 doc/guides/sample_app_ug/ntb.rst
Comments
28/06/2019 04:53, Xiaoyun Li:
> +NTB Rawdev
> +M: Xiaoyun Li <xiaoyun.li@intel.com>
> +M: Jingjing Wu <jingjing.wu@intel.com>
> +F: drivers/raw/ntb_rawdev/
> +F: doc/guides/rawdevs/ntb_rawdev.rst
Please update MAINTAINERS while introducing files in previous patches.
> +++ b/doc/guides/rawdevs/ntb_rawdev.rst
> +And this PMD only supports intel skylake platform.
I guess the platform name require some uppercase or other characters.
Please request a full review of the doc by Intel colleagues.
> --- a/doc/guides/rel_notes/release_19_08.rst
> +++ b/doc/guides/rel_notes/release_19_08.rst
> +* **Introduced NTB PMD.**
> +
> + The PMD provided a non-transparent bridge between two separate hosts so
> + that they can communicate with each other. Thus, many user cases can
> + benefit from this, such as fault tolerance and visual acceleration.
> +
> + This PMD implemented the following features:
> + * Handshake for device start and stop between two hosts.
> + * Memory allocation for the peer to access and read/write allocated
> + memory from peer.
> + * Use doorbell registers to notify the peer and share some information
> + by using scratchpad registers.
> +
> + But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
> + And this PMD only supports intel skylake platform.
You don't need to repeat the full doc in the release notes.
Please make it shorter.
And please update the release notes in the same patch as the code.
Thanks
Got it. Thanks.
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Monday, July 1, 2019 22:24
> To: Li, Xiaoyun <xiaoyun.li@intel.com>
> Cc: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Wiles, Keith
> <keith.wiles@intel.com>; Liang, Cunming <cunming.liang@intel.com>; Maslekar,
> Omkar <omkar.maslekar@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v9 6/6] doc: update docs for ntb driver
>
> 28/06/2019 04:53, Xiaoyun Li:
> > +NTB Rawdev
> > +M: Xiaoyun Li <xiaoyun.li@intel.com>
> > +M: Jingjing Wu <jingjing.wu@intel.com>
> > +F: drivers/raw/ntb_rawdev/
> > +F: doc/guides/rawdevs/ntb_rawdev.rst
>
> Please update MAINTAINERS while introducing files in previous patches.
>
> > +++ b/doc/guides/rawdevs/ntb_rawdev.rst
> > +And this PMD only supports intel skylake platform.
>
> I guess the platform name require some uppercase or other characters.
> Please request a full review of the doc by Intel colleagues.
>
> > --- a/doc/guides/rel_notes/release_19_08.rst
> > +++ b/doc/guides/rel_notes/release_19_08.rst
> > +* **Introduced NTB PMD.**
> > +
> > + The PMD provided a non-transparent bridge between two separate
> > + hosts so that they can communicate with each other. Thus, many user
> > + cases can benefit from this, such as fault tolerance and visual acceleration.
> > +
> > + This PMD implemented the following features:
> > + * Handshake for device start and stop between two hosts.
> > + * Memory allocation for the peer to access and read/write allocated
> > + memory from peer.
> > + * Use doorbell registers to notify the peer and share some information
> > + by using scratchpad registers.
> > +
> > + But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
> > + And this PMD only supports intel skylake platform.
>
> You don't need to repeat the full doc in the release notes.
> Please make it shorter.
> And please update the release notes in the same patch as the code.
>
> Thanks
>
@@ -1078,6 +1078,11 @@ M: Nipun Gupta <nipun.gupta@nxp.com>
F: drivers/raw/dpaa2_cmdif/
F: doc/guides/rawdevs/dpaa2_cmdif.rst
+NTB Rawdev
+M: Xiaoyun Li <xiaoyun.li@intel.com>
+M: Jingjing Wu <jingjing.wu@intel.com>
+F: drivers/raw/ntb_rawdev/
+F: doc/guides/rawdevs/ntb_rawdev.rst
Packet processing
-----------------
@@ -1454,3 +1459,7 @@ F: examples/tep_termination/
F: examples/vmdq/
F: examples/vmdq_dcb/
F: doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
+
+M: Xiaoyun Li <xiaoyun.li@intel.com>
+F: examples/ntb/
+F: doc/guides/sample_app_ug/ntb.rst
@@ -14,3 +14,4 @@ application through rawdev API.
dpaa2_cmdif
dpaa2_qdma
ifpga_rawdev
+ ntb_rawdev
new file mode 100644
@@ -0,0 +1,41 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2018 Intel Corporation.
+
+NTB Rawdev Driver
+=================
+
+The ``ntb`` rawdev driver provides a non-transparent bridge between two
+separate hosts so that they can communicate with each other. Thus, many
+user cases can benefit from this, such as fault tolerance and visual
+acceleration.
+
+This PMD allows two hosts to handshake for device start and stop, memory
+allocation for the peer to access and read/write allocated memory from peer.
+Also, the PMD allows to use doorbell registers to notify the peer and share
+some information by using scratchpad registers.
+
+But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
+And this PMD only supports intel skylake platform.
+
+BIOS setting on skylake platform
+--------------------------------
+
+Intel non-transparent bridge needs special BIOS setting. Since the PMD only
+supports intel skylake platform, introduce BIOS setting here. The referencce
+is https://www.intel.com/content/dam/support/us/en/documents/server-products/Intel_Xeon_Processor_Scalable_Family_BIOS_User_Guide.pdf
+
+- Set the needed PCIe port as NTB to NTB mode on both hosts.
+- Enable NTB bars and set bar size of bar 23 and bar 45 as 12-29 (2K-512M)
+ on both hosts. Note that bar size on both hosts should be the same.
+- Disable split bars for both hosts.
+- Set crosslink control override as DSD/USP on one host, USD/DSP on
+ another host.
+- Disable PCIe PII SSC (Spread Spectrum Clocking) for both hosts. This
+ is a hardware requirement.
+
+Build options
+-------------
+
+- ``CONFIG_RTE_LIBRTE_IFPGA_RAWDEV`` (default ``y``)
+
+ Toggle compilation of the ``ntb_rawdev`` driver.
@@ -99,6 +99,21 @@ New Features
Updated ``librte_telemetry`` to fetch the global metrics from the
``librte_metrics`` library.
+* **Introduced NTB PMD.**
+
+ The PMD provided a non-transparent bridge between two separate hosts so
+ that they can communicate with each other. Thus, many user cases can
+ benefit from this, such as fault tolerance and visual acceleration.
+
+ This PMD implemented the following features:
+ * Handshake for device start and stop between two hosts.
+ * Memory allocation for the peer to access and read/write allocated
+ memory from peer.
+ * Use doorbell registers to notify the peer and share some information
+ by using scratchpad registers.
+
+ But the PMD hasn't implemented FIFO. The FIFO will come in 19.11 release.
+ And this PMD only supports intel skylake platform.
Removed Items
-------------
@@ -58,3 +58,4 @@ Sample Applications User Guides
fips_validation
ipsec_secgw
bbdev_app
+ ntb
new file mode 100644
@@ -0,0 +1,47 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2019 Intel Corporation.
+
+NTB Sample Application
+======================
+
+The ntb sample application shows how to use ntb rawdev driver.
+This sample provides interactive mode to transmit file between
+two hosts.
+
+Compiling the Application
+-------------------------
+
+To compile the sample application see :doc:`compiling`.
+
+The application is located in the ``ntb`` sub-directory.
+
+Running the Application
+-----------------------
+
+The application requires an available core for each port, plus one.
+The only available options are the standard ones for the EAL:
+
+.. code-block:: console
+
+ ./build/ntb_fwd -c 0xf -n 6 -- -i
+
+Refer to the *DPDK Getting Started Guide* for general information on
+running applications and the Environment Abstraction Layer (EAL)
+options.
+
+Using the application
+---------------------
+
+The application is console-driven using the cmdline DPDK interface:
+
+.. code-block:: console
+
+ ntb>
+
+From this interface the available commands and descriptions of what
+they do as as follows:
+
+* ``send [filepath]``: Send file to the peer host.
+* ``receive [filepath]``: Receive file to [filepath]. Need the peer
+ to send file successfully first.
+* ``quit``: Exit program