[dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support
Vamsi Krishna Attunuru
vattunuru at marvell.com
Tue Oct 8 07:08:48 CEST 2019
@All, we are expecting to merge this in 19.11 release and if any one have comments please respond.
> -----Original Message-----
> From: Vamsi Krishna Attunuru
> Sent: Wednesday, September 25, 2019 9:30 AM
> To: vattunuru at marvell.com; dev at dpdk.org
> Cc: thomas at monjalon.net; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
> olivier.matz at 6wind.com; ferruh.yigit at intel.com;
> anatoly.burakov at intel.com; arybchenko at solarflare.com; Kiran Kumar
> Kokkilagadda <kirankumark at marvell.com>
> Subject: RE: [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support
>
> PING.
>
> -----Original Message-----
> From: vattunuru at marvell.com <vattunuru at marvell.com>
> Sent: Friday, August 16, 2019 11:43 AM
> To: dev at dpdk.org
> Cc: thomas at monjalon.net; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
> olivier.matz at 6wind.com; ferruh.yigit at intel.com;
> anatoly.burakov at intel.com; arybchenko at solarflare.com; Kiran Kumar
> Kokkilagadda <kirankumark at marvell.com>; Vamsi Krishna Attunuru
> <vattunuru at marvell.com>
> Subject: [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support
>
> From: Vamsi Attunuru <vattunuru at marvell.com>
>
> ---
> V10 Changes:
> * Fixed function return code on failure when min_chunk_size > pg_sz.
> * Marked new mempool populate routine as EXPERIMENTAL.
>
> V9 Changes:
> * Used rte_mempool_ops_calc_mem_size() instead of default handler in the
> new mempool populate routine.
> * Check min_chunk_size and return values.
> * Removed ethdev_info memset to '0' and moved pci dev_info populate into
> kni_dev_pci_addr_get() routine.
> * Addressed misc. review comments.
>
> V8 Changes:
> * Remove default mempool populate() routine changes.
> * Add kni app specific mempool create & free routines.
> * Add new mempool populate routine to allocate page-aligned memzones
> with page size to make sure all mempool objects reside on a page.
> * Update release notes and map files.
>
> V7 Changes:
> * Removed previously proposed mempool flag and made those page
> boundary checks default in mempool populate() except for the objects size
> bigger than the size of page.
> * Removed KNI example application related changes since pool related
> requirement is taken care in mempool lib.
> * All PCI dev related info is moved under rte_eal_iova_mode() == VA check.
> * Added wrapper functions in KNI module to hide IOVA checks and make
> address translation routines more readable.
> * Updated IOVA mode checks that enforcing IOVA=PA mode when IOVA=VA
> mode is enabled.
>
> V6 Changes:
> * Added new mempool flag to ensure mbuf memory is not scattered across
> page boundaries.
> * Added KNI kernel module required PCI device information.
> * Modified KNI example application to create mempool with new mempool
> flag.
>
> V5 changes:
> * Fixed build issue with 32b build
>
> V4 changes:
> * Fixed build issues with older kernel versions
> * This approach will only work with kernel above 4.4.0
>
> V3 Changes:
> * Add new approach to work kni with IOVA=VA mode using
> iommu_iova_to_phys API.
>
> Kiran Kumar K (1):
> kni: add IOVA=VA support in KNI module
>
> Vamsi Attunuru (4):
> mempool: populate mempool with the page sized chunks
> kni: add IOVA=VA support in KNI lib
> kni: add app specific mempool create and free routines
> kni: modify IOVA mode checks to support VA
>
> doc/guides/prog_guide/kernel_nic_interface.rst | 8 ++
> doc/guides/rel_notes/release_19_11.rst | 5 ++
> examples/kni/main.c | 5 +-
> kernel/linux/kni/compat.h | 4 +
> kernel/linux/kni/kni_dev.h | 4 +
> kernel/linux/kni/kni_misc.c | 71 ++++++++++++++---
> kernel/linux/kni/kni_net.c | 59 ++++++++++----
> lib/librte_eal/linux/eal/eal.c | 4 +-
> lib/librte_eal/linux/eal/include/rte_kni_common.h | 8 ++
> lib/librte_kni/Makefile | 2 +
> lib/librte_kni/meson.build | 2 +
> lib/librte_kni/rte_kni.c | 95 +++++++++++++++++++++--
> lib/librte_kni/rte_kni.h | 48 ++++++++++++
> lib/librte_kni/rte_kni_version.map | 2 +
> lib/librte_mempool/rte_mempool.c | 69 ++++++++++++++++
> lib/librte_mempool/rte_mempool.h | 20 +++++
> lib/librte_mempool/rte_mempool_version.map | 1 +
> 17 files changed, 378 insertions(+), 29 deletions(-)
>
> --
> 2.8.4
More information about the dev
mailing list