From: Vipin Varghese <vipin.varghese@intel.com>
To: konstantin.ananyev@intel.com, stephen@networkplumber.org,
reshma.pattan@intel.com, dev@dpdk.org, john.mcnamara@intel.com
Cc: thomas@monjalon.net, stephen1.byrne@intel.com,
amol.patel@intel.com, Vipin Varghese <vipin.varghese@intel.com>
Subject: [PATCH v7 8/9] app/procinfo: add support for show iter mempool
Date: Thu, 13 Dec 2018 10:38:41 +0530 [thread overview]
Message-ID: <20181213050842.64587-9-vipin.varghese@intel.com> (raw)
In-Reply-To: <20181213050842.64587-1-vipin.varghese@intel.com>
Function show_mempool is used for displaying valid MEMPOOL.
Function iter_mempool is used for iterating mempool elements for
a mempool for max of 256 bytes.
In case of show_mempool for invalid name, whole list is dump.
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
---
V6:
- split iter mempool - Vipin Varghese
V5:
- update ret to uint32_t - Reshma Pattan
v4:
- add spacing for flag compare - Vipin Varghese
V3:
- add avail and in use - Vipin Varghese
- add flag split - Vipin Varghese
---
app/proc-info/main.c | 80 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 78 insertions(+), 2 deletions(-)
diff --git a/app/proc-info/main.c b/app/proc-info/main.c
index d9677959c..6dfd01d6e 100644
--- a/app/proc-info/main.c
+++ b/app/proc-info/main.c
@@ -33,6 +33,7 @@
#include <rte_security.h>
#include <rte_cryptodev.h>
#include <rte_tm.h>
+#include <rte_hexdump.h>
/* Maximum long option length for option parsing. */
#define MAX_LONG_OPT_SZ 64
@@ -1161,16 +1162,91 @@ show_ring(char *name)
STATS_BDR_STR(50, "");
}
+static void
+mempool_itr_obj(struct rte_mempool *mp,
+ void *opaque, void *obj,
+ unsigned int obj_idx)
+{
+ printf(" - obj_idx %u opaque %p obj %p\n",
+ obj_idx, opaque, obj);
+
+ if (obj)
+ rte_hexdump(stdout, " Obj Content",
+ obj, (mp->elt_size > 256)?256:mp->elt_size);
+}
+
static void
show_mempool(char *name)
{
- printf(" mempool Name (%s)\n", name);
+ uint64_t flags = 0;
+
+ snprintf(bdr_str, MAX_STRING_LEN, " show - MEMPOOL %"PRIu64,
+ rte_get_tsc_hz());
+ STATS_BDR_STR(10, bdr_str);
+
+ if (name != NULL) {
+ struct rte_mempool *ptr = rte_mempool_lookup(name);
+ if (ptr != NULL) {
+ flags = ptr->flags;
+ printf(" - Name: %s on socket %d\n"
+ " - flags:\n"
+ "\t -- No spread (%c)\n"
+ "\t -- No cache align (%c)\n"
+ "\t -- SP put (%c), SC get (%c)\n"
+ "\t -- Pool created (%c)\n"
+ "\t -- No IOVA config (%c)\n",
+ ptr->name,
+ ptr->socket_id,
+ (flags & MEMPOOL_F_NO_SPREAD) ? 'y' : 'n',
+ (flags & MEMPOOL_F_NO_CACHE_ALIGN) ? 'y' : 'n',
+ (flags & MEMPOOL_F_SP_PUT) ? 'y' : 'n',
+ (flags & MEMPOOL_F_SC_GET) ? 'y' : 'n',
+ (flags & MEMPOOL_F_POOL_CREATED) ? 'y' : 'n',
+ (flags & MEMPOOL_F_NO_IOVA_CONTIG) ? 'y' : 'n');
+ printf(" - Size %u Cache %u element %u\n"
+ " - header %u trailer %u\n"
+ " - private data size %u\n",
+ ptr->size,
+ ptr->cache_size,
+ ptr->elt_size,
+ ptr->header_size,
+ ptr->trailer_size,
+ ptr->private_data_size);
+ printf(" - memezone - socket %d\n",
+ ptr->mz->socket_id);
+ printf(" - Count: avail (%u), in use (%u)\n",
+ rte_mempool_avail_count(ptr),
+ rte_mempool_in_use_count(ptr));
+
+ STATS_BDR_STR(50, "");
+ return;
+ }
+ }
+
+ rte_mempool_list_dump(stdout);
+ STATS_BDR_STR(50, "");
}
static void
iter_mempool(char *name)
{
- printf(" Iter elements in mempool (%s)\n", name);
+ snprintf(bdr_str, MAX_STRING_LEN, " iter - MEMPOOL %"PRIu64,
+ rte_get_tsc_hz());
+ STATS_BDR_STR(10, bdr_str);
+
+ if (name != NULL) {
+ struct rte_mempool *ptr = rte_mempool_lookup(name);
+ if (ptr != NULL) {
+ /* iterate each object */
+ uint32_t ret = rte_mempool_obj_iter(ptr,
+ mempool_itr_obj, NULL);
+ printf(" - iterated %u objects\n", ret);
+ STATS_BDR_STR(50, "");
+ return;
+ }
+ }
+
+ STATS_BDR_STR(50, "");
}
int
--
2.17.1
next prev parent reply other threads:[~2018-12-13 5:09 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-22 14:15 [PATCH v5 1/9] app/procinfo: add usage for new debug Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 2/9] app/procinfo: add compare for new options Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 3/9] app/procinfo: add prototype for debug instances Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 4/9] app/procinfo: add support for show port Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 5/9] app/procinfo: add support for show tm Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 6/9] app/procinfo: add support for show crypto Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 7/9] app/procinfo: add support for debug ring Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 8/9] app/procinfo: add support for show mempool Vipin Varghese
2018-11-22 14:15 ` [PATCH v5 9/9] doc/procinfo: add information for debug options Vipin Varghese
2018-11-22 18:08 ` Mcnamara, John
2018-11-23 4:58 ` Varghese, Vipin
2018-12-03 5:49 ` [PATCH v6 0/9] app/proc-info: improve debug of proc-info tool Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 1/9] app/procinfo: add usage for new debug Vipin Varghese
2018-12-12 14:14 ` Pattan, Reshma
2018-12-12 15:06 ` Varghese, Vipin
2018-12-13 5:08 ` [PATCH v7 0/9] app/proc-info: improve debug of proc-info tool Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 1/9] app/procinfo: add usage for new debug Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 2/9] app/procinfo: add compare for new options Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 3/9] app/procinfo: add prototype for debug instances Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 4/9] app/procinfo: add support for show port Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 5/9] app/procinfo: add support for show tm Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 6/9] app/procinfo: add support for show crypto Vipin Varghese
2018-12-13 5:08 ` [PATCH v7 7/9] app/procinfo: add support for debug ring Vipin Varghese
2018-12-13 5:08 ` Vipin Varghese [this message]
2018-12-13 5:08 ` [PATCH v7 9/9] doc/procinfo: add information for debug options Vipin Varghese
2018-12-13 14:42 ` [PATCH v7 0/9] app/proc-info: improve debug of proc-info tool Pattan, Reshma
2018-12-13 16:21 ` Varghese, Vipin
2018-12-22 21:02 ` Thomas Monjalon
2018-12-26 5:21 ` Varghese, Vipin
2018-12-26 21:33 ` Thomas Monjalon
2018-12-27 2:46 ` Varghese, Vipin
2018-12-27 9:32 ` Thomas Monjalon
2018-12-27 10:45 ` Varghese, Vipin
2019-01-07 15:38 ` [PATCH v8 0/7] app/proc-info: enhance " Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 1/7] app/procinfo: prepare for new debug functions Vipin Varghese
2019-01-09 23:45 ` Thomas Monjalon
2019-01-10 3:08 ` Varghese, Vipin
2019-01-10 8:39 ` Thomas Monjalon
2019-01-10 8:53 ` Varghese, Vipin
2019-01-10 9:09 ` Thomas Monjalon
2019-01-10 21:36 ` [PATCH v9 0/6] app/proc-info: enhance debug of proc-info tool Vipin Varghese
2019-01-10 21:36 ` [PATCH v9 1/6] app/procinfo: add support for show port Vipin Varghese
2019-01-10 17:40 ` Thomas Monjalon
2019-01-11 3:57 ` Varghese, Vipin
2019-01-11 10:22 ` Thomas Monjalon
2019-01-10 21:36 ` [PATCH v9 2/6] app/procinfo: add support for show tm Vipin Varghese
2019-01-10 21:36 ` [PATCH v9 3/6] app/procinfo: add support for show crypto Vipin Varghese
2019-01-10 21:36 ` [PATCH v9 4/6] app/procinfo: add support for debug ring Vipin Varghese
2019-01-10 21:36 ` [PATCH v9 5/6] app/procinfo: add support for show mempool Vipin Varghese
2019-01-10 21:36 ` [PATCH v9 6/6] app/procinfo: add support for iter mempool Vipin Varghese
2019-01-11 14:46 ` [PATCH v9 0/6] app/proc-info: enhance debug of proc-info tool Thomas Monjalon
2019-01-14 0:07 ` Varghese, Vipin
2019-01-07 15:38 ` [PATCH v8 2/7] app/procinfo: add support for show port Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 3/7] app/procinfo: add support for show tm Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 4/7] app/procinfo: add support for show crypto Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 5/7] app/procinfo: add support for debug ring Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 6/7] app/procinfo: add support for show mempool Vipin Varghese
2019-01-07 15:38 ` [PATCH v8 7/7] app/procinfo: add support for iter mempool Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 2/9] app/procinfo: add compare for new options Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 3/9] app/procinfo: add prototype for debug instances Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 4/9] app/procinfo: add support for show port Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 5/9] app/procinfo: add support for show tm Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 6/9] app/procinfo: add support for show crypto Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 7/9] app/procinfo: add support for debug ring Vipin Varghese
2018-12-03 5:49 ` [PATCH v6 8/9] app/procinfo: add support for show iter mempool Vipin Varghese
2018-12-12 16:10 ` Pattan, Reshma
2018-12-13 2:26 ` Varghese, Vipin
2018-12-03 5:50 ` [PATCH v6 9/9] doc/procinfo: add information for debug options Vipin Varghese
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=20181213050842.64587-9-vipin.varghese@intel.com \
--to=vipin.varghese@intel.com \
--cc=amol.patel@intel.com \
--cc=dev@dpdk.org \
--cc=john.mcnamara@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=reshma.pattan@intel.com \
--cc=stephen1.byrne@intel.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/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.