mbox series

[v11,0/4] rawdev driver for ntb

Message ID 20190704122959.18919-1-thomas@monjalon.net (mailing list archive)
Headers
Series rawdev driver for ntb |

Message

Thomas Monjalon July 4, 2019, 12:29 p.m. UTC
  This patch set adds support for Intel NTB device with Skylake platform.
It is a raw device for allowing two hosts to communicate with each other
and access the peer memory.

This patch set also provides a simple example to transmit a file between
two hosts. But since there is no FIFO here, only support file which is
no more than 4M. And will add FIFO in the future.


v11 (Thomas):
* rebased on top of IOAT driver
* squashed commit for binding script
* renamed ntb_rawdev to ntb as agreed with Bruce
Please review this version, I may have done mistakes.

v10:
* Updated and refined the release notes in the same patch as the code.

v9:
* Fixed a typo.
* Added default case for PPD parse.

v8:
* Fixed a coding style issue.
* Rebased codes to the newest master branch.

v7:
* Fixed a typo.
* Generic spad registers to be spad_user and the specific spad is
* defined by the specific hw.
* Refined the codes by replacing with lib functions such as rte_read32.
* Rebased the codes to the newest dpdk-next-net-intel branch.

v6:
* Fixed a typo.

v5:
* Actual v4. v4 patchset is the same as v3.

v4:
* Fix compile issues of comparison of array with null pointer.

v3:
* Fixed compilation issues with target i686.
* Renamed communication devices to misc devices in usertool.
* Rebased to the newest dpdk-next-net-intel branch.

v2:
* Replaced ! with NULL check for pointers.
* Added ntb_ops valid check before use it.
* Replaced RTE_MEMZONE_1GB with RTE_MEMZONE_IOVA_CONTIG in case users do
  not use 1G hugepage.
* Added a timeout for dev_stop handshake in case that the peer stopped
  abnormally such as crashed while debugging.
* Updated docs especailly about how to setup BIOS for skylake.
* Fixed not return issue and not free issue in example.
* Renamed ntb_devices to communication_devices to be more generic in
  usertools.
* Polish the codes and docs.


Xiaoyun Li (4):
  raw/ntb: introduce NTB raw device driver
  raw/ntb: support Intel NTB
  raw/ntb: add handshake process
  examples/ntb: add example for NTB

 MAINTAINERS                             |   8 +
 config/common_base                      |   5 +
 doc/guides/rawdevs/index.rst            |   1 +
 doc/guides/rawdevs/ntb.rst              |  52 ++
 doc/guides/rel_notes/release_19_08.rst  |   6 +
 doc/guides/sample_app_ug/index.rst      |   1 +
 doc/guides/sample_app_ug/ntb.rst        |  47 ++
 drivers/raw/Makefile                    |   1 +
 drivers/raw/meson.build                 |   2 +-
 drivers/raw/ntb/Makefile                |  28 +
 drivers/raw/ntb/meson.build             |   8 +
 drivers/raw/ntb/ntb.c                   | 839 ++++++++++++++++++++++++
 drivers/raw/ntb/ntb.h                   | 164 +++++
 drivers/raw/ntb/ntb_hw_intel.c          | 369 +++++++++++
 drivers/raw/ntb/ntb_hw_intel.h          |  86 +++
 drivers/raw/ntb/rte_pmd_ntb_version.map |   4 +
 examples/Makefile                       |   1 +
 examples/meson.build                    |   2 +-
 examples/ntb/Makefile                   |  68 ++
 examples/ntb/meson.build                |  16 +
 examples/ntb/ntb_fwd.c                  | 377 +++++++++++
 mk/rte.app.mk                           |   1 +
 usertools/dpdk-devbind.py               |   4 +-
 23 files changed, 2087 insertions(+), 3 deletions(-)
 create mode 100644 doc/guides/rawdevs/ntb.rst
 create mode 100644 doc/guides/sample_app_ug/ntb.rst
 create mode 100644 drivers/raw/ntb/Makefile
 create mode 100644 drivers/raw/ntb/meson.build
 create mode 100644 drivers/raw/ntb/ntb.c
 create mode 100644 drivers/raw/ntb/ntb.h
 create mode 100644 drivers/raw/ntb/ntb_hw_intel.c
 create mode 100644 drivers/raw/ntb/ntb_hw_intel.h
 create mode 100644 drivers/raw/ntb/rte_pmd_ntb_version.map
 create mode 100644 examples/ntb/Makefile
 create mode 100644 examples/ntb/meson.build
 create mode 100644 examples/ntb/ntb_fwd.c
  

Comments

Li, Xiaoyun July 5, 2019, 2:41 a.m. UTC | #1
Hi
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Thursday, July 4, 2019 20:30
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v11 0/4] rawdev driver for ntb
> 
> This patch set adds support for Intel NTB device with Skylake platform.
> It is a raw device for allowing two hosts to communicate with each other and
> access the peer memory.
> 
> This patch set also provides a simple example to transmit a file between two
> hosts. But since there is no FIFO here, only support file which is no more than
> 4M. And will add FIFO in the future.
> 
> 
> v11 (Thomas):
> * rebased on top of IOAT driver
> * squashed commit for binding script
> * renamed ntb_rawdev to ntb as agreed with Bruce Please review this version, I
> may have done mistakes.

I've compared the new version code with v10 code. There is no change except "ntb_rawdev -> ntb".
And I also tested the new version. Works fine. No mistake. :)
Thanks!

> --
> 2.21.0
  
Thomas Monjalon July 5, 2019, 10:52 a.m. UTC | #2
05/07/2019 04:41, Li, Xiaoyun:
> From: Thomas Monjalon
> > 
> > This patch set adds support for Intel NTB device with Skylake platform.
> > It is a raw device for allowing two hosts to communicate with each other and
> > access the peer memory.
> > 
> > This patch set also provides a simple example to transmit a file between two
> > hosts. But since there is no FIFO here, only support file which is no more than
> > 4M. And will add FIFO in the future.
> > 
> > 
> > v11 (Thomas):
> > * rebased on top of IOAT driver
> > * squashed commit for binding script
> > * renamed ntb_rawdev to ntb as agreed with Bruce Please review this version, I
> > may have done mistakes.
> 
> I've compared the new version code with v10 code. There is no change except "ntb_rawdev -> ntb".
> And I also tested the new version. Works fine. No mistake. :)
> Thanks!

Rebased on top of octeontx2_dma and applied, thanks