From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Vamsi Krishna Attunuru <vattunuru@marvell.com>,
"dev@dpdk.org" <dev@dpdk.org>
Cc: "thomas@monjalon.net" <thomas@monjalon.net>,
Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
"olivier.matz@6wind.com" <olivier.matz@6wind.com>,
"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
"anatoly.burakov@intel.com" <anatoly.burakov@intel.com>,
"Kiran Kumar Kokkilagadda" <kirankumark@marvell.com>
Subject: Re: [dpdk-dev] [PATCH v7 1/4] mempool: modify mempool populate() to skip objects from page boundaries
Date: Thu, 18 Jul 2019 12:28:27 +0300 [thread overview]
Message-ID: <b42e10ba-e2f6-d31b-d957-5e65384e0d90@solarflare.com> (raw)
In-Reply-To: <CH2PR18MB33811D8F8CE8724070177F03A6C90@CH2PR18MB3381.namprd18.prod.outlook.com>
On 7/17/19 8:31 PM, Vamsi Krishna Attunuru wrote:
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko@solarflare.com>
>> Sent: Wednesday, July 17, 2019 7:07 PM
>> To: Vamsi Krishna Attunuru <vattunuru@marvell.com>; dev@dpdk.org
>> Cc: thomas@monjalon.net; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
>> olivier.matz@6wind.com; ferruh.yigit@intel.com;
>> anatoly.burakov@intel.com; Kiran Kumar Kokkilagadda
>> <kirankumark@marvell.com>
>> Subject: Re: [dpdk-dev] [PATCH v7 1/4] mempool: modify mempool
>> populate() to skip objects from page boundaries
>>
>> On 7/17/19 12:04 PM, vattunuru@marvell.com wrote:
>>> From: Vamsi Attunuru <vattunuru@marvell.com>
>>>
>>> Currently the phys address of a mempool object populated by the
>>> mempool populate default() routine may not be contiguous with in that
>> mbuf range.
>>> Patch ensures that each object's phys address is contiguous by
>>> modifying default behaviour of mempool populate() to prevent objects
>>> from being across 2 pages, expect if the size of object is bigger than size of
>> page.
>>> Since the overhead after this modification will be very minimal
>>> considering the hugepage sizes of 512M & 1G, default behaviour is
>>> modified except for the object sizes bigger than the page size.
>>>
>>> Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
>>> Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
>> NACK
>>
>> Looking at MEMPOOL_F_NO_IOVA_CONTIG description I don't understand
>> why the patch is necessary at all. So, I'd like to know more. Exact conditions,
>> IOVA mode, hugepage sizes, mempool flags and how it is populated.
>>
> I presume the commit log clarifies the changes in the patch, pls correct me if it's not clear. The requirement is to create mempool of objects that each object's phys address in contiguous with in it's range, having flexibility to create such mempools helpful to the applications like KNI to operate in IOVA=VA mode where KNI kernel mode can safely translate IOVA addresses to PA.
As I understand it breaks rte_mempool_populate_default() logic
which assumes that page boundaries may be ignored in IOVA=VA
mode (see no_pageshift = ... and above description in the function).
Sorry, right now I can't come up with the right fix, but as
explained below suggested is wrong.
> Regarding the exact conditions driven this approach are, when IOVA mode is set to VA and huge page size of 2MB/512MB used, since KNI application creates mempool without any flags set, mempool populate routine tends to reserve iova contiguous memzones and finally it ends up populating mempool with some objects that might being across two pages(over the page boundary), those mbuf's phys address might not be contiguous and these mempool are not suitable for operating KNI in IOVA=VA mode.
>
>>> ---
>>> lib/librte_mempool/rte_mempool.c | 2 +-
>>> lib/librte_mempool/rte_mempool_ops_default.c | 33
>> ++++++++++++++++++++++++++--
>>> 2 files changed, 32 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/lib/librte_mempool/rte_mempool.c
>>> b/lib/librte_mempool/rte_mempool.c
>>> index 7260ce0..1c48325 100644
>>> --- a/lib/librte_mempool/rte_mempool.c
>>> +++ b/lib/librte_mempool/rte_mempool.c
>>> @@ -339,7 +339,7 @@ rte_mempool_populate_iova(struct rte_mempool
>> *mp, char *vaddr,
>>> i = rte_mempool_ops_populate(mp, mp->size - mp->populated_size,
>>> (char *)vaddr + off,
>>> (iova == RTE_BAD_IOVA) ? RTE_BAD_IOVA : (iova + off),
>>> - len - off, mempool_add_elem, NULL);
>>> + len - off, mempool_add_elem, opaque);
>> The last argument is the callback opaque value. mempool_add_elem() does
>> not use the opaque. But it is incorrect to use it for other purposes and
>> require it to be memzone.
> To avoid multiple changes in the mempool APIs for adding new variable, opaque has been leveraged here. I think there is no harm in having this approach since it carries the relevant info and quite suitable between the (*mempool_populate_t) calls.
Sorry, but it enforces any caller of rte_mempool_populate_iova()
(and rte_mempool_populate_virt()) pass memzone as opaque, but
by API definition it is free_cb argument. So, if different free_cb is
used, different opaque may be required.
>>> /* not enough room to store one object */
>>> if (i == 0) {
>>> diff --git a/lib/librte_mempool/rte_mempool_ops_default.c
>>> b/lib/librte_mempool/rte_mempool_ops_default.c
>>> index 4e2bfc8..85da264 100644
>>> --- a/lib/librte_mempool/rte_mempool_ops_default.c
>>> +++ b/lib/librte_mempool/rte_mempool_ops_default.c
>>> @@ -45,19 +45,48 @@ rte_mempool_op_calc_mem_size_default(const
>> struct rte_mempool *mp,
>>> return mem_size;
>>> }
>>>
>>> +/* Returns -1 if object falls on a page boundary, else returns 0 */
>>> +static inline int mempool_check_obj_bounds(void *obj, uint64_t
>>> +hugepage_sz, size_t elt_sz) {
>>> + uintptr_t page_end, elt_addr = (uintptr_t)obj;
>>> + uint32_t pg_shift = rte_bsf32(hugepage_sz);
>>> + uint64_t page_mask;
>>> +
>>> + page_mask = ~((1ull << pg_shift) - 1);
>>> + page_end = (elt_addr & page_mask) + hugepage_sz;
>>> +
>>> + if (elt_addr + elt_sz > page_end)
>>> + return -1;
>>> +
>>> + return 0;
>>> +}
>>> +
>>> int
>>> rte_mempool_op_populate_default(struct rte_mempool *mp, unsigned
>> int max_objs,
>>> void *vaddr, rte_iova_t iova, size_t len,
>>> rte_mempool_populate_obj_cb_t *obj_cb, void *obj_cb_arg)
>>> {
>>> - size_t total_elt_sz;
>>> - size_t off;
>>> + struct rte_memzone *mz = obj_cb_arg;
Moreover, the change enforces obj_cb_arg to be memzone, but
it is obj_cb argument and obj_cb defines what should be in the
obj_cb_arg.
>>> + size_t total_elt_sz, off;
>> Why two variables are combined into one here? It is unrelated change.
>>
>>> unsigned int i;
>>> void *obj;
>>>
>>> total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size;
>>>
>>> for (off = 0, i = 0; off + total_elt_sz <= len && i < max_objs;
>>> i++) {
>>> +
>>> + /* Skip page boundary check if element is bigger than page */
>>> + if (mz->hugepage_sz >= total_elt_sz) {
>>> + if (mempool_check_obj_bounds((char *)vaddr + off,
>>> + mz->hugepage_sz,
>>> + total_elt_sz) < 0) {
>>> + i--; /* Decrement count & skip this obj */
>>> + off += total_elt_sz;
>>> + continue;
>>> + }
>>> + }
>>> +
>> What I don't like here is that it makes one memory chunk insufficient to
>> populate all objects. I.e. we calculated memory chunk size required, but
>> skipped some object. May be it is not a problem, but breaks the logic existing
>> in the code.
>>
>>> off += mp->header_size;
>>> obj = (char *)vaddr + off;
>>> obj_cb(mp, obj_cb_arg, obj,
next prev parent reply other threads:[~2019-07-18 9:28 UTC|newest]
Thread overview: 266+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-27 10:49 [dpdk-dev] [PATCH] kni: add IOVA va support for kni Kiran Kumar
2018-09-27 10:58 ` Burakov, Anatoly
2018-10-02 17:05 ` Ferruh Yigit
2019-04-01 17:30 ` Jerin Jacob Kollanukkaran
2019-04-01 17:30 ` Jerin Jacob Kollanukkaran
2019-04-01 18:20 ` Ferruh Yigit
2019-04-01 18:20 ` Ferruh Yigit
2019-04-01 9:51 ` [dpdk-dev] [PATCH v2] " Kiran Kumar Kokkilagadda
2019-04-01 9:51 ` Kiran Kumar Kokkilagadda
2019-04-03 16:29 ` Ferruh Yigit
2019-04-03 16:29 ` Ferruh Yigit
2019-04-04 5:03 ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2019-04-04 5:03 ` Kiran Kumar Kokkilagadda
2019-04-04 11:20 ` Ferruh Yigit
2019-04-04 11:20 ` Ferruh Yigit
2019-04-04 13:29 ` Burakov, Anatoly
2019-04-04 13:29 ` Burakov, Anatoly
2019-04-04 9:57 ` [dpdk-dev] " Burakov, Anatoly
2019-04-04 9:57 ` Burakov, Anatoly
2019-04-04 11:21 ` Ferruh Yigit
2019-04-04 11:21 ` Ferruh Yigit
2019-04-16 4:55 ` [dpdk-dev] [PATCH v3] " kirankumark
2019-04-16 4:55 ` kirankumark
2019-04-19 10:38 ` Thomas Monjalon
2019-04-19 10:38 ` Thomas Monjalon
2019-04-22 4:39 ` [dpdk-dev] [PATCH v4] " kirankumark
2019-04-22 4:39 ` kirankumark
2019-04-22 6:15 ` [dpdk-dev] [PATCH v5] " kirankumark
2019-04-22 6:15 ` kirankumark
2019-04-26 9:11 ` Burakov, Anatoly
2019-04-26 9:11 ` Burakov, Anatoly
2019-06-25 3:56 ` [dpdk-dev] [PATCH v6 0/4] add IOVA = VA support in KNI vattunuru
2019-06-25 3:56 ` [dpdk-dev] [PATCH v6 1/4] lib/mempool: skip populating mempool objs that falls on page boundaries vattunuru
2019-06-25 3:56 ` [dpdk-dev] [PATCH v6 2/4] lib/kni: add PCI related information vattunuru
2019-06-25 17:41 ` Stephen Hemminger
2019-06-26 3:48 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-06-26 14:58 ` Stephen Hemminger
2019-06-27 9:43 ` Vamsi Krishna Attunuru
2019-07-11 16:22 ` [dpdk-dev] " Ferruh Yigit
2019-07-12 11:02 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-07-12 11:11 ` Ferruh Yigit
2019-06-25 3:56 ` [dpdk-dev] [PATCH v6 3/4] example/kni: add IOVA support for kni application vattunuru
2019-07-11 16:23 ` Ferruh Yigit
2019-06-25 3:57 ` [dpdk-dev] [PATCH v6 4/4] kernel/linux/kni: add IOVA support in kni module vattunuru
2019-07-11 16:30 ` Ferruh Yigit
2019-07-12 10:38 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-07-12 11:10 ` Ferruh Yigit
2019-07-12 12:27 ` Vamsi Krishna Attunuru
2019-07-12 16:29 ` Vamsi Krishna Attunuru
2019-07-15 11:26 ` Ferruh Yigit
2019-07-15 13:06 ` Vamsi Krishna Attunuru
2019-07-11 16:43 ` [dpdk-dev] " Stephen Hemminger
2019-06-25 10:00 ` [dpdk-dev] [PATCH v6 0/4] add IOVA = VA support in KNI Burakov, Anatoly
2019-06-25 11:15 ` Jerin Jacob Kollanukkaran
2019-06-25 11:30 ` Burakov, Anatoly
2019-06-25 13:38 ` Burakov, Anatoly
2019-06-27 9:34 ` Jerin Jacob Kollanukkaran
2019-07-01 13:51 ` Vamsi Krishna Attunuru
2019-07-04 6:42 ` Vamsi Krishna Attunuru
2019-07-04 9:48 ` Jerin Jacob Kollanukkaran
2019-07-11 16:21 ` Ferruh Yigit
2019-07-17 9:04 ` [dpdk-dev] [PATCH v7 0/4] kni: add IOVA=VA support vattunuru
2019-07-17 9:04 ` [dpdk-dev] [PATCH v7 1/4] mempool: modify mempool populate() to skip objects from page boundaries vattunuru
2019-07-17 13:36 ` Andrew Rybchenko
2019-07-17 13:47 ` Olivier Matz
2019-07-17 17:31 ` Vamsi Krishna Attunuru
2019-07-18 9:28 ` Andrew Rybchenko [this message]
2019-07-18 14:16 ` Vamsi Krishna Attunuru
2019-07-19 13:38 ` [dpdk-dev] [RFC 0/4] mempool: avoid objects allocations across pages Olivier Matz
2019-07-19 13:38 ` [dpdk-dev] [RFC 1/4] mempool: clarify default populate function Olivier Matz
2019-07-19 15:42 ` Andrew Rybchenko
2019-10-08 9:36 ` Olivier Matz
2019-07-19 13:38 ` [dpdk-dev] [RFC 2/4] mempool: unalign size when calculating required mem amount Olivier Matz
2019-08-07 15:21 ` [dpdk-dev] ***Spam*** " Andrew Rybchenko
2019-10-28 14:06 ` Olivier Matz
2019-07-19 13:38 ` [dpdk-dev] [RFC 3/4] mempool: introduce function to get mempool page size Olivier Matz
2019-08-07 15:21 ` Andrew Rybchenko
2019-10-28 14:06 ` Olivier Matz
2019-07-19 13:38 ` [dpdk-dev] [RFC 4/4] mempool: prevent objects from being across pages Olivier Matz
2019-07-19 14:03 ` Burakov, Anatoly
2019-10-28 14:07 ` Olivier Matz
2019-07-19 14:11 ` Burakov, Anatoly
2019-08-07 15:21 ` Andrew Rybchenko
2019-10-28 14:07 ` Olivier Matz
2019-10-29 11:03 ` Andrew Rybchenko
2019-07-23 5:37 ` [dpdk-dev] [RFC 0/4] mempool: avoid objects allocations " Vamsi Krishna Attunuru
2019-08-07 15:21 ` [dpdk-dev] ***Spam*** " Andrew Rybchenko
2019-10-28 14:06 ` Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 0/5] " Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 1/5] mempool: allow unaligned addr/len in populate virt Olivier Matz
2019-10-29 9:02 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-29 9:13 ` Olivier Matz
2019-10-29 9:18 ` Vamsi Krishna Attunuru
2019-10-29 9:21 ` [dpdk-dev] " Andrew Rybchenko
2019-10-29 17:02 ` Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 2/5] mempool: reduce wasted space on mempool populate Olivier Matz
2019-10-29 10:09 ` Andrew Rybchenko
2019-10-29 17:09 ` Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 3/5] mempool: remove optimistic IOVA-contiguous allocation Olivier Matz
2019-10-29 10:25 ` Andrew Rybchenko
2019-10-29 17:20 ` Olivier Matz
2019-10-30 7:36 ` Andrew Rybchenko
2019-10-30 7:44 ` Andrew Rybchenko
2019-10-30 10:38 ` Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 4/5] mempool: introduce function to get mempool page size Olivier Matz
2019-10-29 10:31 ` Andrew Rybchenko
2019-10-29 17:20 ` Olivier Matz
2019-10-30 8:32 ` Olivier Matz
2019-10-30 14:29 ` Olivier Matz
2019-10-28 14:01 ` [dpdk-dev] [PATCH 5/5] mempool: prevent objects from being across pages Olivier Matz
2019-10-29 10:59 ` [dpdk-dev] ***Spam*** " Andrew Rybchenko
2019-10-29 17:34 ` Olivier Matz
2019-10-30 7:56 ` [dpdk-dev] " Andrew Rybchenko
2019-10-29 17:25 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-30 3:55 ` Vamsi Krishna Attunuru
2019-10-30 7:46 ` Andrew Rybchenko
2019-10-30 8:38 ` Jerin Jacob
2019-10-30 14:33 ` Olivier Matz
2019-10-30 14:54 ` Jerin Jacob
2019-10-30 8:42 ` Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 0/6] mempool: avoid objects allocations " Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 1/6] mempool: allow unaligned addr/len in populate virt Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 2/6] mempool: reduce wasted space on mempool populate Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 3/6] mempool: remove optimistic IOVA-contiguous allocation Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 4/6] mempool: introduce function to get mempool page size Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 5/6] mempool: prevent objects from being across pages Olivier Matz
2019-10-31 6:54 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-31 8:19 ` Jerin Jacob
2019-10-31 8:29 ` Olivier Matz
2019-10-31 8:24 ` Olivier Matz
2019-10-31 8:33 ` Andrew Rybchenko
2019-10-31 8:45 ` Olivier Matz
2019-10-30 14:36 ` [dpdk-dev] [PATCH v2 6/6] mempool: use the specific macro for object alignment Olivier Matz
2019-10-30 14:55 ` Andrew Rybchenko
2019-11-01 3:56 ` [dpdk-dev] [PATCH v2 0/6] mempool: avoid objects allocations across pages Nipun Gupta
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 0/7] " Olivier Matz
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 1/7] mempool: allow unaligned addr/len in populate virt Olivier Matz
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 2/7] mempool: reduce wasted space on mempool populate Olivier Matz
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 3/7] mempool: remove optimistic IOVA-contiguous allocation Olivier Matz
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 4/7] mempool: introduce function to get mempool page size Olivier Matz
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 5/7] mempool: introduce helpers for populate and calc mem size Olivier Matz
2019-11-05 12:19 ` Andrew Rybchenko
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 6/7] mempool: prevent objects from being across pages Olivier Matz
2019-11-05 12:22 ` Andrew Rybchenko
2019-11-04 15:12 ` [dpdk-dev] [PATCH v3 7/7] mempool: use the specific macro for object alignment Olivier Matz
2019-11-05 12:15 ` Andrew Rybchenko
2019-11-05 12:48 ` Olivier Matz
2019-11-05 15:36 ` [dpdk-dev] [PATCH v4 0/7] mempool: avoid objects allocations across pages Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 1/7] mempool: allow unaligned addr/len in populate virt Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 2/7] mempool: reduce wasted space on mempool populate Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 3/7] mempool: remove optimistic IOVA-contiguous allocation Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 4/7] mempool: introduce function to get mempool page size Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 5/7] mempool: introduce helpers for populate and calc mem size Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 6/7] mempool: prevent objects from being across pages Olivier Matz
2019-11-05 15:37 ` [dpdk-dev] [PATCH v4 7/7] mempool: use the specific macro for object alignment Olivier Matz
2019-11-05 16:03 ` [dpdk-dev] [PATCH v4 0/7] mempool: avoid objects allocations across pages Olivier Matz
2019-11-06 10:39 ` Thomas Monjalon
2019-07-17 9:04 ` [dpdk-dev] [PATCH v7 2/4] kni: add IOVA = VA support in KNI lib vattunuru
2019-07-17 9:04 ` [dpdk-dev] [PATCH v7 3/4] kni: add IOVA=VA support in KNI module vattunuru
2019-07-17 9:04 ` [dpdk-dev] [PATCH v7 4/4] kni: modify IOVA mode checks to support VA vattunuru
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 0/5] kni: add IOVA=VA support vattunuru
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 1/5] mempool: populate mempool with page sized chunks of memory vattunuru
2019-07-23 11:08 ` Andrew Rybchenko
2019-07-23 12:28 ` Vamsi Krishna Attunuru
2019-07-23 19:33 ` Andrew Rybchenko
2019-07-24 7:09 ` Vamsi Krishna Attunuru
2019-07-24 7:27 ` Andrew Rybchenko
2019-07-29 6:25 ` Vamsi Krishna Attunuru
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 2/5] add IOVA -VA support in KNI lib vattunuru
2019-07-23 10:54 ` Andrew Rybchenko
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 3/5] kni: add app specific mempool create & free routine vattunuru
2019-07-23 10:50 ` Andrew Rybchenko
2019-07-23 11:01 ` Vamsi Krishna Attunuru
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 4/5] kni: add IOVA=VA support in KNI module vattunuru
2019-07-23 5:38 ` [dpdk-dev] [PATCH v8 5/5] kni: modify IOVA mode checks to support VA vattunuru
2019-07-24 7:14 ` [dpdk-dev] [PATCH v8 0/5] kni: add IOVA=VA support Vamsi Krishna Attunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 " vattunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 1/5] mempool: populate mempool with the page sized chunks of memory vattunuru
2019-07-29 12:41 ` Andrew Rybchenko
2019-07-29 13:33 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support vattunuru
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 1/5] mempool: populate mempool with the page sized chunks vattunuru
2019-10-08 9:26 ` Olivier Matz
2019-10-09 5:29 ` Vamsi Krishna Attunuru
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 2/5] kni: add IOVA=VA support in KNI lib vattunuru
2019-10-15 15:36 ` Yigit, Ferruh
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 3/5] kni: add app specific mempool create and free routines vattunuru
2019-10-15 15:40 ` Yigit, Ferruh
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 4/5] kni: add IOVA=VA support in KNI module vattunuru
2019-10-15 15:43 ` Yigit, Ferruh
2019-10-15 15:46 ` Stephen Hemminger
2019-10-16 11:26 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-16 14:37 ` Vamsi Krishna Attunuru
2019-10-16 16:14 ` Ferruh Yigit
2019-10-18 17:15 ` Vamsi Krishna Attunuru
2019-10-21 11:45 ` Ferruh Yigit
2019-08-16 6:12 ` [dpdk-dev] [PATCH v10 5/5] kni: modify IOVA mode checks to support VA vattunuru
2019-09-25 4:00 ` [dpdk-dev] [PATCH v10 0/5] kni: add IOVA=VA support Vamsi Krishna Attunuru
2019-10-08 5:08 ` Vamsi Krishna Attunuru
2019-10-14 4:05 ` Vamsi Krishna Attunuru
2019-10-15 15:34 ` Yigit, Ferruh
2019-10-16 12:17 ` Vamsi Krishna Attunuru
2019-10-16 16:21 ` Ferruh Yigit
2019-10-18 16:42 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-21 8:03 ` [dpdk-dev] [PATCH v11 0/4] kni: add IOVA=VA mode support vattunuru
2019-10-21 8:03 ` [dpdk-dev] [PATCH v11 1/4] mempool: populate mempool with the page sized chunks vattunuru
2019-10-21 8:03 ` [dpdk-dev] [PATCH v11 2/4] eal: add legacy kni option vattunuru
2019-10-21 11:55 ` Ferruh Yigit
2019-10-21 13:13 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-10-21 13:32 ` Ferruh Yigit
2019-10-21 14:38 ` Vamsi Krishna Attunuru
2019-10-22 9:29 ` Vamsi Krishna Attunuru
2019-10-22 12:28 ` Andrew Rybchenko
2019-10-22 13:31 ` Vamsi Krishna Attunuru
2019-10-23 10:12 ` Jerin Jacob
2019-10-23 14:47 ` Olivier Matz
2019-10-23 15:02 ` Jerin Jacob
2019-10-24 17:35 ` Olivier Matz
2019-10-24 19:30 ` Jerin Jacob
2019-10-25 9:20 ` Vamsi Krishna Attunuru
2019-10-26 12:25 ` Olivier Matz
2019-10-26 14:09 ` Vamsi Krishna Attunuru
2019-10-28 14:05 ` Olivier Matz
2019-10-21 8:03 ` [dpdk-dev] [PATCH v11 3/4] kni: add IOVA=VA support vattunuru
2019-10-21 8:03 ` [dpdk-dev] [PATCH v11 4/4] kni: add IOVA=VA support in kernel module vattunuru
2019-10-21 12:02 ` Ferruh Yigit
2019-11-05 11:04 ` [dpdk-dev] [PATCH v12 0/2] add IOVA=VA mode support vattunuru
2019-11-05 11:04 ` [dpdk-dev] [PATCH v12 1/2] kni: " vattunuru
2019-11-14 10:57 ` David Marchand
2019-11-14 11:13 ` David Marchand
2019-11-14 12:10 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-11-14 12:25 ` David Marchand
2019-11-14 17:48 ` [dpdk-dev] " David Marchand
2019-11-05 11:04 ` [dpdk-dev] [PATCH v12 2/2] kni: add IOVA=VA support in kernel module vattunuru
2019-11-06 10:49 ` [dpdk-dev] [PATCH v12 0/2] add IOVA=VA mode support Thomas Monjalon
2019-11-06 11:09 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-11-06 11:53 ` Thomas Monjalon
2019-11-06 11:59 ` Vamsi Krishna Attunuru
2019-11-07 10:34 ` Vamsi Krishna Attunuru
2019-11-07 19:53 ` [dpdk-dev] " Ferruh Yigit
2019-11-08 4:16 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-11-08 14:26 ` Ferruh Yigit
2019-11-08 14:54 ` Jerin Jacob
2019-11-13 6:33 ` Vamsi Krishna Attunuru
2019-11-13 12:32 ` Ferruh Yigit
2019-11-15 11:18 ` [dpdk-dev] [PATCH v13 0/2] kni: support IOVA mode vattunuru
2019-11-15 11:18 ` [dpdk-dev] [PATCH v13 1/2] kni: support IOVA mode in kernel module vattunuru
2019-11-15 11:18 ` [dpdk-dev] [PATCH v13 2/2] kni: support IOVA mode vattunuru
2019-11-15 12:11 ` Ferruh Yigit
2019-11-15 12:59 ` David Marchand
2019-11-15 13:35 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-11-15 13:40 ` David Marchand
2019-11-15 13:40 ` [dpdk-dev] " Jerin Jacob
2019-11-15 14:56 ` David Marchand
2019-11-15 15:22 ` Jerin Jacob
2019-11-15 17:07 ` [dpdk-dev] [PATCH v14 0/2] " vattunuru
2019-11-15 17:07 ` [dpdk-dev] [PATCH v14 1/2] kni: support IOVA mode in kernel module vattunuru
2019-11-15 17:07 ` [dpdk-dev] [PATCH v14 2/2] kni: support IOVA mode vattunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 2/5] kni: add IOVA=VA support in KNI lib vattunuru
2019-07-29 12:24 ` Igor Ryzhov
2019-07-29 13:22 ` [dpdk-dev] [EXT] " Vamsi Krishna Attunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 3/5] kni: add app specific mempool create & free routine vattunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 4/5] kni: add IOVA=VA support in KNI module vattunuru
2019-07-29 12:13 ` [dpdk-dev] [PATCH v9 5/5] kni: modify IOVA mode checks to support VA vattunuru
2019-04-23 8:56 ` [dpdk-dev] [PATCH v4] kni: add IOVA va support for kni Burakov, Anatoly
2019-04-23 8:56 ` Burakov, Anatoly
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b42e10ba-e2f6-d31b-d957-5e65384e0d90@solarflare.com \
--to=arybchenko@solarflare.com \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jerinj@marvell.com \
--cc=kirankumark@marvell.com \
--cc=olivier.matz@6wind.com \
--cc=thomas@monjalon.net \
--cc=vattunuru@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).