All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gage Eads <gage.eads@intel.com>
To: dev@dpdk.org
Cc: olivier.matz@6wind.com
Subject: [PATCH v4] mempool: update non-EAL thread note in the header
Date: Thu, 30 Mar 2017 18:02:00 -0500	[thread overview]
Message-ID: <1490914920-26347-1-git-send-email-gage.eads@intel.com> (raw)
In-Reply-To: <1490278858-27257-1-git-send-email-gage.eads@intel.com>

Commit 30e6399892276 ("mempool: support non-EAL thread") added the
capability for non-EAL threads to use the mempool library. This commit
removes the note indicating that the mempool library cannot be used safely
by non-EAL threads, and replaces it with a more up-to-date note.

Signed-off-by: Gage Eads <gage.eads@intel.com>
---
v2: Changed commit message to referenced commit 30e63998 instead of 4b5062755
v3: Fix checkpatch error
v4: Rework note to highlight non-EAL thread differences

 lib/librte_mempool/rte_mempool.h | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 991feaa..931faf3 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -51,13 +51,15 @@
  * meta-data in the object data and retrieve them when allocating a
  * new object.
  *
- * Note: the mempool implementation is not preemptable. A lcore must
- * not be interrupted by another task that uses the same mempool
- * (because it uses a ring which is not preemptable). Also, mempool
- * functions must not be used outside the DPDK environment: for
- * example, in linuxapp environment, a thread that is not created by
- * the EAL must not use mempools. This is due to the per-lcore cache
- * that won't work as rte_lcore_id() will not return a correct value.
+ * Note: the mempool implementation is not preemptible. An lcore must not be
+ * interrupted by another task that uses the same mempool (because it uses a
+ * ring which is not preemptible). Also, usual mempool functions like
+ * rte_mempool_get() or rte_mempool_put() are designed to be called from an EAL
+ * thread due to the internal per-lcore cache. Due to the lack of caching,
+ * rte_mempool_get() or rte_mempool_put() performance will suffer when called
+ * by non-EAL threads. Instead, non-EAL threads should call
+ * rte_mempool_generic_get() or rte_mempool_generic_put() with a user cache
+ * created with rte_mempool_cache_create().
  */
 
 #include <stdio.h>
-- 
2.7.4

  parent reply	other threads:[~2017-03-30 23:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21  2:34 [PATCH] mempool: remove non-EAL thread note from header Gage Eads
2017-03-22 17:04 ` [PATCH v2] " Gage Eads
2017-03-23 14:20   ` [PATCH v3] " Gage Eads
2017-03-24 14:04     ` Olivier Matz
2017-03-29 15:30       ` Eads, Gage
2017-03-30 15:12         ` Olivier Matz
2017-03-30 23:02     ` Gage Eads [this message]
2017-03-31 13:51       ` [PATCH v4] mempool: update non-EAL thread note in the header Olivier Matz
2017-04-03 16:32         ` 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=1490914920-26347-1-git-send-email-gage.eads@intel.com \
    --to=gage.eads@intel.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.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.