[v9,0/6] rawdev driver for ntb
mbox series

Message ID 20190628025346.31312-1-xiaoyun.li@intel.com
Headers show
Series
  • rawdev driver for ntb
Related show

Message

Li, Xiaoyun June 28, 2019, 2:53 a.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.

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 (6):
  raw/ntb: introduce ntb rawdev driver
  raw/ntb: add intel ntb support
  raw/ntb: add handshake process
  examples/ntb: enable an example for ntb
  usertools/dpdk-devbind.py: add support for ntb
  doc: update docs for ntb driver

 MAINTAINERS                                   |   9 +
 config/common_base                            |   5 +
 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 +
 drivers/raw/Makefile                          |   1 +
 drivers/raw/meson.build                       |   2 +-
 drivers/raw/ntb_rawdev/Makefile               |  28 +
 drivers/raw/ntb_rawdev/meson.build            |   8 +
 drivers/raw/ntb_rawdev/ntb_hw_intel.c         | 369 ++++++++
 drivers/raw/ntb_rawdev/ntb_hw_intel.h         |  86 ++
 drivers/raw/ntb_rawdev/ntb_rawdev.c           | 839 ++++++++++++++++++
 drivers/raw/ntb_rawdev/ntb_rawdev.h           | 164 ++++
 .../ntb_rawdev/rte_pmd_ntb_rawdev_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                     |   9 +
 23 files changed, 2092 insertions(+), 2 deletions(-)
 create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
 create mode 100644 doc/guides/sample_app_ug/ntb.rst
 create mode 100644 drivers/raw/ntb_rawdev/Makefile
 create mode 100644 drivers/raw/ntb_rawdev/meson.build
 create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.c
 create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.h
 create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.c
 create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.h
 create mode 100644 drivers/raw/ntb_rawdev/rte_pmd_ntb_rawdev_version.map
 create mode 100644 examples/ntb/Makefile
 create mode 100644 examples/ntb/meson.build
 create mode 100644 examples/ntb/ntb_fwd.c

Comments

Wu, Jingjing June 28, 2019, 10:17 a.m. UTC | #1
series Acked-by: Jingjing Wu <jingjing.wu@intel.com>

> -----Original Message-----
> From: Li, Xiaoyun
> Sent: Friday, June 28, 2019 10:54 AM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Wiles, Keith <keith.wiles@intel.com>; Liang,
> Cunming <cunming.liang@intel.com>; Maslekar, Omkar <omkar.maslekar@intel.com>
> Cc: dev@dpdk.org; Li, Xiaoyun <xiaoyun.li@intel.com>
> Subject: [PATCH v9 0/6] 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.
> 
> 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 (6):
>   raw/ntb: introduce ntb rawdev driver
>   raw/ntb: add intel ntb support
>   raw/ntb: add handshake process
>   examples/ntb: enable an example for ntb
>   usertools/dpdk-devbind.py: add support for ntb
>   doc: update docs for ntb driver
> 
>  MAINTAINERS                                   |   9 +
>  config/common_base                            |   5 +
>  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 +
>  drivers/raw/Makefile                          |   1 +
>  drivers/raw/meson.build                       |   2 +-
>  drivers/raw/ntb_rawdev/Makefile               |  28 +
>  drivers/raw/ntb_rawdev/meson.build            |   8 +
>  drivers/raw/ntb_rawdev/ntb_hw_intel.c         | 369 ++++++++
>  drivers/raw/ntb_rawdev/ntb_hw_intel.h         |  86 ++
>  drivers/raw/ntb_rawdev/ntb_rawdev.c           | 839 ++++++++++++++++++
>  drivers/raw/ntb_rawdev/ntb_rawdev.h           | 164 ++++
>  .../ntb_rawdev/rte_pmd_ntb_rawdev_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                     |   9 +
>  23 files changed, 2092 insertions(+), 2 deletions(-)
>  create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
>  create mode 100644 doc/guides/sample_app_ug/ntb.rst
>  create mode 100644 drivers/raw/ntb_rawdev/Makefile
>  create mode 100644 drivers/raw/ntb_rawdev/meson.build
>  create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.c
>  create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.h
>  create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.c
>  create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.h
>  create mode 100644 drivers/raw/ntb_rawdev/rte_pmd_ntb_rawdev_version.map
>  create mode 100644 examples/ntb/Makefile
>  create mode 100644 examples/ntb/meson.build
>  create mode 100644 examples/ntb/ntb_fwd.c
> 
> --
> 2.17.1
Li, Xiaoyun July 2, 2019, 6:25 a.m. UTC | #2
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.

series Acked-by: Jingjing Wu <jingjing.wu@intel.com>

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 (5):
  raw/ntb: introduce ntb rawdev driver
  usertools/dpdk-devbind.py: add support for ntb
  raw/ntb: add intel ntb support
  raw/ntb: add handshake process
  examples/ntb: enable an example for ntb

 MAINTAINERS                                   |   9 +
 config/common_base                            |   5 +
 doc/guides/rawdevs/index.rst                  |   1 +
 doc/guides/rawdevs/ntb_rawdev.rst             |  52 ++
 doc/guides/rel_notes/release_19_08.rst        |   5 +
 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_rawdev/Makefile               |  28 +
 drivers/raw/ntb_rawdev/meson.build            |   8 +
 drivers/raw/ntb_rawdev/ntb_hw_intel.c         | 369 ++++++++
 drivers/raw/ntb_rawdev/ntb_hw_intel.h         |  86 ++
 drivers/raw/ntb_rawdev/ntb_rawdev.c           | 839 ++++++++++++++++++
 drivers/raw/ntb_rawdev/ntb_rawdev.h           | 164 ++++
 .../ntb_rawdev/rte_pmd_ntb_rawdev_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                     |   9 +
 23 files changed, 2093 insertions(+), 2 deletions(-)
 create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
 create mode 100644 doc/guides/sample_app_ug/ntb.rst
 create mode 100644 drivers/raw/ntb_rawdev/Makefile
 create mode 100644 drivers/raw/ntb_rawdev/meson.build
 create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.c
 create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.h
 create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.c
 create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.h
 create mode 100644 drivers/raw/ntb_rawdev/rte_pmd_ntb_rawdev_version.map
 create mode 100644 examples/ntb/Makefile
 create mode 100644 examples/ntb/meson.build
 create mode 100644 examples/ntb/ntb_fwd.c
Xiaolong Ye July 2, 2019, 2:10 p.m. UTC | #3
On 07/02, Xiaoyun Li wrote:
>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.
>
>series Acked-by: Jingjing Wu <jingjing.wu@intel.com>
>
>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 (5):
>  raw/ntb: introduce ntb rawdev driver
>  usertools/dpdk-devbind.py: add support for ntb
>  raw/ntb: add intel ntb support
>  raw/ntb: add handshake process
>  examples/ntb: enable an example for ntb
>
> MAINTAINERS                                   |   9 +
> config/common_base                            |   5 +
> doc/guides/rawdevs/index.rst                  |   1 +
> doc/guides/rawdevs/ntb_rawdev.rst             |  52 ++
> doc/guides/rel_notes/release_19_08.rst        |   5 +
> 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_rawdev/Makefile               |  28 +
> drivers/raw/ntb_rawdev/meson.build            |   8 +
> drivers/raw/ntb_rawdev/ntb_hw_intel.c         | 369 ++++++++
> drivers/raw/ntb_rawdev/ntb_hw_intel.h         |  86 ++
> drivers/raw/ntb_rawdev/ntb_rawdev.c           | 839 ++++++++++++++++++
> drivers/raw/ntb_rawdev/ntb_rawdev.h           | 164 ++++
> .../ntb_rawdev/rte_pmd_ntb_rawdev_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                     |   9 +
> 23 files changed, 2093 insertions(+), 2 deletions(-)
> create mode 100644 doc/guides/rawdevs/ntb_rawdev.rst
> create mode 100644 doc/guides/sample_app_ug/ntb.rst
> create mode 100644 drivers/raw/ntb_rawdev/Makefile
> create mode 100644 drivers/raw/ntb_rawdev/meson.build
> create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.c
> create mode 100644 drivers/raw/ntb_rawdev/ntb_hw_intel.h
> create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.c
> create mode 100644 drivers/raw/ntb_rawdev/ntb_rawdev.h
> create mode 100644 drivers/raw/ntb_rawdev/rte_pmd_ntb_rawdev_version.map
> create mode 100644 examples/ntb/Makefile
> create mode 100644 examples/ntb/meson.build
> create mode 100644 examples/ntb/ntb_fwd.c
>

For the series, Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>

>-- 
>2.17.1
>