From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: Harry van Haaren <harry.van.haaren@intel.com>
Subject: [dpdk-dev] [PATCH] service: separate dump and reset code
Date: Thu, 22 Oct 2020 10:08:10 +0200 [thread overview]
Message-ID: <20201022080810.22153-1-david.marchand@redhat.com> (raw)
No functional change intended.
service_dump_calls_per_lcore() was always called with a 0 reset flag.
service_dump_one() was called with either a 0 reset flag or a NULL
FILE pointer.
We can split the code for readability sake.
Note: there is no path to resetting calls_per_service[], this is left as
is.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
lib/librte_eal/common/rte_service.c | 54 +++++++++++------------------
1 file changed, 20 insertions(+), 34 deletions(-)
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 6c955d319a..bd8fb72e78 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -832,37 +832,14 @@ rte_service_lcore_attr_get(uint32_t lcore, uint32_t attr_id,
}
}
-static void
-service_dump_one(FILE *f, struct rte_service_spec_impl *s, uint32_t reset)
-{
- /* avoid divide by zero */
- int calls = 1;
- if (s->calls != 0)
- calls = s->calls;
-
- if (reset) {
- s->cycles_spent = 0;
- s->calls = 0;
- return;
- }
-
- if (f == NULL)
- return;
-
- fprintf(f, " %s: stats %d\tcalls %"PRIu64"\tcycles %"
- PRIu64"\tavg: %"PRIu64"\n",
- s->spec.name, service_stats_enabled(s), s->calls,
- s->cycles_spent, s->cycles_spent / calls);
-}
-
int32_t
rte_service_attr_reset_all(uint32_t id)
{
struct rte_service_spec_impl *s;
SERVICE_VALID_GET_OR_ERR_RET(id, s, -EINVAL);
- int reset = 1;
- service_dump_one(NULL, s, reset);
+ s->cycles_spent = 0;
+ s->calls = 0;
return 0;
}
@@ -884,7 +861,21 @@ rte_service_lcore_attr_reset_all(uint32_t lcore)
}
static void
-service_dump_calls_per_lcore(FILE *f, uint32_t lcore, uint32_t reset)
+service_dump_one(FILE *f, struct rte_service_spec_impl *s)
+{
+ /* avoid divide by zero */
+ int calls = 1;
+
+ if (s->calls != 0)
+ calls = s->calls;
+ fprintf(f, " %s: stats %d\tcalls %"PRIu64"\tcycles %"
+ PRIu64"\tavg: %"PRIu64"\n",
+ s->spec.name, service_stats_enabled(s), s->calls,
+ s->cycles_spent, s->cycles_spent / calls);
+}
+
+static void
+service_dump_calls_per_lcore(FILE *f, uint32_t lcore)
{
uint32_t i;
struct core_state *cs = &lcore_states[lcore];
@@ -894,8 +885,6 @@ service_dump_calls_per_lcore(FILE *f, uint32_t lcore, uint32_t reset)
if (!service_valid(i))
continue;
fprintf(f, "%"PRIu64"\t", cs->calls_per_service[i]);
- if (reset)
- cs->calls_per_service[i] = 0;
}
fprintf(f, "\n");
}
@@ -911,8 +900,7 @@ rte_service_dump(FILE *f, uint32_t id)
struct rte_service_spec_impl *s;
SERVICE_VALID_GET_OR_ERR_RET(id, s, -EINVAL);
fprintf(f, "Service %s Summary\n", s->spec.name);
- uint32_t reset = 0;
- service_dump_one(f, s, reset);
+ service_dump_one(f, s);
return 0;
}
@@ -921,8 +909,7 @@ rte_service_dump(FILE *f, uint32_t id)
for (i = 0; i < RTE_SERVICE_NUM_MAX; i++) {
if (!service_valid(i))
continue;
- uint32_t reset = 0;
- service_dump_one(f, &rte_services[i], reset);
+ service_dump_one(f, &rte_services[i]);
}
fprintf(f, "Service Cores Summary\n");
@@ -930,8 +917,7 @@ rte_service_dump(FILE *f, uint32_t id)
if (lcore_config[i].core_role != ROLE_SERVICE)
continue;
- uint32_t reset = 0;
- service_dump_calls_per_lcore(f, i, reset);
+ service_dump_calls_per_lcore(f, i);
}
return 0;
--
2.23.0
next reply other threads:[~2020-10-22 8:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 8:08 David Marchand [this message]
2020-10-27 10:57 ` Van Haaren, Harry
2020-10-27 12:24 ` 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=20201022080810.22153-1-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.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).