DPDK usage discussions
 help / color / mirror / Atom feed
* question about MemPool
       [not found] <00d901da9663$d0f1fee0$72d5fca0$.ref@yahoo.com>
@ 2024-04-24 16:24 ` lonc0002
  2024-04-24 16:37   ` Bing Zhao
  0 siblings, 1 reply; 2+ messages in thread
From: lonc0002 @ 2024-04-24 16:24 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 356 bytes --]

Hello,

 

When doing a rte_mempool_get_bulk() with a cache enabled mempool, first
objects are retrieved from cache and then from the common pool which I
assume is sitting in shared memory (DDR or L3?). Wouldn't accessing the
objects from the mempool in shared memory itself pull those objects into
processor cache? Can this be avoided?

 

Thanks,
Vince


[-- Attachment #2: Type: text/html, Size: 1873 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: question about MemPool
  2024-04-24 16:24 ` question about MemPool lonc0002
@ 2024-04-24 16:37   ` Bing Zhao
  0 siblings, 0 replies; 2+ messages in thread
From: Bing Zhao @ 2024-04-24 16:37 UTC (permalink / raw)
  To: lonc0002, users

[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]

The concept of memory pool cache is different from the CPU architecture cache.
Unlike some DSP, in the modern CPU and system, it is not a common use case to assign addresses to the cache and lock them as a memory. In especial, the data buffer is too large.

The memory pool cache is a LIFO to store the pointers and trying to reduce the memory footprints and reduce the CPU cache conflict and eviction. (Always try to use the used memory previously)

Only when trying to access the memory itself, a whole cache line will be checked and try to be loaded. It is impossible that a CPU load a whole buffer (2KB for example) directly without any READ / WRITE / FLUSH to the cache.


BR. Bing

From: lonc0002@yahoo.com <lonc0002@yahoo.com>
Sent: Thursday, April 25, 2024 12:24 AM
To: users@dpdk.org
Subject: question about MemPool

External email: Use caution opening links or attachments

Hello,

When doing a rte_mempool_get_bulk() with a cache enabled mempool, first objects are retrieved from cache and then from the common pool which I assume is sitting in shared memory (DDR or L3?). Wouldn't accessing the objects from the mempool in shared memory itself pull those objects into processor cache? Can this be avoided?

Thanks,
Vince

[-- Attachment #2: Type: text/html, Size: 5674 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-24 16:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <00d901da9663$d0f1fee0$72d5fca0$.ref@yahoo.com>
2024-04-24 16:24 ` question about MemPool lonc0002
2024-04-24 16:37   ` Bing Zhao

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).