From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Paul Szczepanek" <paul.szczepanek@arm.com>,
<andrew.rybchenko@oktetlabs.ru>, <konstantin.v.ananyev@yandex.ru>
Cc: <nd@arm.com>, <dev@dpdk.org>
Subject: RE: [PATCH] mempool: dump includes list of memory chunks
Date: Wed, 29 May 2024 16:03:09 +0200 [thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F4CB@smartserver.smartshare.dk> (raw)
In-Reply-To: <0e875212-b364-4617-b103-38d3498e2131@arm.com>
> From: Paul Szczepanek [mailto:paul.szczepanek@arm.com]
> Sent: Wednesday, 29 May 2024 14.55
>
> On 16/05/2024 09:59, Morten Brørup wrote:
> > Added information about the memory chunks holding the objects in the
> > mempool when dumping the status of the mempool to a file.
> >
> > Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> > ---
> > lib/mempool/rte_mempool.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/lib/mempool/rte_mempool.c b/lib/mempool/rte_mempool.c
> > index 12390a2c81..e9a8a5b411 100644
> > --- a/lib/mempool/rte_mempool.c
> > +++ b/lib/mempool/rte_mempool.c
> > @@ -1230,6 +1230,7 @@ rte_mempool_dump(FILE *f, struct rte_mempool *mp)
> > #endif
> > struct rte_mempool_memhdr *memhdr;
> > struct rte_mempool_ops *ops;
> > + unsigned int n;
> > unsigned common_count;
> > unsigned cache_count;
> > size_t mem_len = 0;
> > @@ -1264,6 +1265,15 @@ rte_mempool_dump(FILE *f, struct rte_mempool *mp)
> > (long double)mem_len / mp->size);
> > }
> >
> > + fprintf(f, " mem_list:\n");
> > + n = 0;
> > + STAILQ_FOREACH(memhdr, &mp->mem_list, next) {
> > + fprintf(f, " addr[%u]=%p\n", n, memhdr->addr);
> > + fprintf(f, " iova[%u]=0x%" PRIx64 "\n", n, memhdr->iova);
> > + fprintf(f, " len[%u]=%zu\n", n, memhdr->len);
> > + n++;
> > + }
> > +
> > cache_count = rte_mempool_dump_cache(f, mp);
> > common_count = rte_mempool_ops_get_count(mp);
> > if ((cache_count + common_count) > mp->size)
>
> It's useful information to dump. Maybe consider adding something akin to
> RTE_LIBRTE_MEMPOOL_STATS to gate this in case the prints are
> overwhelming due to high list element number.
The dumps are often very verbose, and there are no means to control that.
The only reason the mempool stats are gated by RTE_LIBRTE_MEMPOOL_STATS is because they are an build time optional feature, and don't exist if built without.
>
> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
Thanks.
next prev parent reply other threads:[~2024-05-29 14:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-16 8:59 Morten Brørup
2024-05-16 15:20 ` Stephen Hemminger
2024-05-17 7:29 ` Morten Brørup
2024-05-29 12:55 ` Paul Szczepanek
2024-05-29 14:03 ` Morten Brørup [this message]
2024-06-10 9:13 ` Morten Brørup
2024-06-10 11:56 ` Andrew Rybchenko
2024-06-10 13:44 ` Konstantin Ananyev
2024-06-10 14:51 ` Morten Brørup
2024-06-10 16:28 ` Konstantin Ananyev
2024-06-11 6:38 ` [PATCH v2] " Morten Brørup
2024-06-11 6:50 ` Morten Brørup
2024-06-11 6:51 ` [PATCH v3] " Morten Brørup
2024-06-11 11:27 ` lihuisong (C)
2024-06-14 14:10 ` David Marchand
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=98CBD80474FA8B44BF855DF32C47DC35E9F4CB@smartserver.smartshare.dk \
--to=mb@smartsharesystems.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=nd@arm.com \
--cc=paul.szczepanek@arm.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).