All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier Matz <olivier.matz@6wind.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>, dev@dpdk.org
Subject: Re: [PATCH 2/2] mempool: fix comments for no contiguous flag
Date: Thu, 22 Sep 2016 09:23:18 +0200	[thread overview]
Message-ID: <822e5374-b143-f5b4-33ef-2a502ca57aff@6wind.com> (raw)
In-Reply-To: <263a5b89-987e-1b40-7eab-a39de596831e@intel.com>

Hi Ferruh,

On 09/21/2016 06:15 PM, Ferruh Yigit wrote:
> Hi Olivier,
> 
> On 9/21/2016 4:12 PM, Olivier Matz wrote:
>> Hi Ferruh,
>>
>> On 09/20/2016 06:17 PM, Ferruh Yigit wrote:
>>> Fixes: ce94a51ff05c ("mempool: add flag for removing phys contiguous constraint")
>>>
>>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>>> ---
>>>  lib/librte_mempool/rte_mempool.c | 4 +++-
>>>  lib/librte_mempool/rte_mempool.h | 3 +++
>>>  2 files changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
>>> index e96d14f..d767f39 100644
>>> --- a/lib/librte_mempool/rte_mempool.c
>>> +++ b/lib/librte_mempool/rte_mempool.c
>>> @@ -340,7 +340,9 @@ rte_mempool_free_memchunks(struct rte_mempool *mp)
>>>  }
>>>  
>>>  /* Add objects in the pool, using a physically contiguous memory
>>> - * zone. Return the number of objects added, or a negative value
>>> + * zone if MEMPOOL_F_NO_PHYS_CONTIG flag is not set.
>>> + *
>>> + * Return the number of objects added, or a negative value
>>>   * on error.
>>>   */
>>>  int
>>> diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
>>> index 6fc331a..291c168 100644
>>> --- a/lib/librte_mempool/rte_mempool.h
>>> +++ b/lib/librte_mempool/rte_mempool.h
>>> @@ -798,6 +798,9 @@ rte_mempool_free(struct rte_mempool *mp);
>>>   * Add a virtually and physically contiguous memory chunk in the pool
>>>   * where objects can be instanciated.
>>>   *
>>> + * mempool flag MEMPOOL_F_NO_PHYS_CONTIG changes behavior of the function
>>> + * and removes physical contiguous constraint.
>>> + *
>>>   * @param mp
>>>   *   A pointer to the mempool structure.
>>>   * @param vaddr
>>>
>>
>> Not sure I'm getting why you add these comments, as I don't see any
>> usage of MEMPOOL_F_NO_PHYS_CONTIG in rte_mempool_populate_phys().
>>
>> Could you describe what makes you think the API comments are wrong here?
> 
> rte_mempool_populate_phys() now can get RTE_BAD_PHYS_ADDR as "paddr"
> variable, and when paddr == RTE_BAD_PHYS_ADDR, function no more
> quarantines that populated items are physically continuous.
> 
> Like how this is used in rte_mempool_populate_phys_tab(), if
> MEMPOOL_F_NO_PHYS_CONTIG is set rte_mempool_populate_phys() called for
> whole virtually continuous memory (len: pg_num * pg_size), so resulting
> items may not be in physically continuous addresses, so function comment
> becomes wrong.
> 
> Although MEMPOOL_F_NO_PHYS_CONTIG is not used within the
> rte_mempool_populate_phys(), as far as I can see flag has a side effect
> on the functionality.
> 
> And please help on wording if it is not accurate.

OK, so I think we should just talk about paddr in the API comment of
rte_mempool_populate_phys(), not about the flag which is already
documented in mempool_create*().


I suggest the following:

--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -800,6 +800,10 @@ rte_mempool_free(struct rte_mempool *mp);
  * Add a virtually and physically contiguous memory chunk in the pool
  * where objects can be instanciated.
  *
+ * If the given physical address is unknown (paddr = RTE_BAD_PHYS_ADDR),
+ * the chunk doesn't need to be physically contiguous (only virtually),
+ * and allocated objects may span two pages.
+ *
  * @param mp
  *   A pointer to the mempool structure.
  * @param vaddr



What do you think?

Regards
Olivier

  reply	other threads:[~2016-09-22  7:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-20 16:17 [PATCH 1/2] mempool: fix comments for mempool create functions Ferruh Yigit
2016-09-20 16:17 ` [PATCH 2/2] mempool: fix comments for no contiguous flag Ferruh Yigit
2016-09-21 15:12   ` Olivier Matz
2016-09-21 16:15     ` Ferruh Yigit
2016-09-22  7:23       ` Olivier Matz [this message]
2016-09-21 15:04 ` [PATCH 1/2] mempool: fix comments for mempool create functions Olivier Matz
2016-09-21 16:16   ` Ferruh Yigit
2016-09-28 13:59 ` [PATCH v2 " Ferruh Yigit
2016-09-28 13:59   ` [PATCH v2 2/2] mempool: fix comments for no contiguous flag Ferruh Yigit
2016-10-03 15:06   ` [PATCH v2 1/2] mempool: fix comments for mempool create functions Olivier Matz
2016-10-04  9:18     ` Thomas Monjalon

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=822e5374-b143-f5b4-33ef-2a502ca57aff@6wind.com \
    --to=olivier.matz@6wind.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.