* KNI Out of memory
@ 2014-08-27 8:40 Ivano Cerrato
0 siblings, 0 replies; only message in thread
From: Ivano Cerrato @ 2014-08-27 8:40 UTC (permalink / raw)
To: dev-VfR2kkLFssw@public.gmane.org
Hello,
I wrote a code that creates some KNI interfaces, destroys them when some
management events occur, and creates new interfaces when other
management events happen.
What happens is that I create a number of interfaces using "kni_alloc",
I destroy ALL of them through "kni_release" and, when I try to create a
new one I get the message "KNI out of memory" during the execution of
the "kni_alloc".
The number of interfaces that I can create/destroy before getting the
error depends on the size of the mempool that I specify during the
creation of the interfaces themselves.
Then, to me it seems that the memory is not properly released when a KNI
interface is destroyed. Before invoking "kni_release", I drain all the
remaining mbufs in the tx queues. While checking the sources of DPDK, I
have seen that indeed this trace only appears when there there are no
mbufs available in the mempool.
Am I missing something here? Is there any other call necessary to
properly release a KNI interface?
Just before/after the creation and release of an interface, I print the
values obtained by invoking "rte_mempool_count" and
"rte_mempool_free_count" on the mempool used for the KNI. What I get is
the following: the value obtained with "rte_mempool_count" tends to
decrease, while the value get with "rte_mempool_free_count" tends to
increase.
What is the exact semantic of "rte_mempool_count" and
"rte_mempool_free_count"? From the doxygen documentation, it seems that
the behaviour should be the opposite.
Best regards,
Ivano
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-08-27 8:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-27 8:40 KNI Out of memory Ivano Cerrato
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.