From: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: chris.p.wilson@linux.intel.com
Subject: [igt-dev] [PATCH i-g-t 5/8] benchmarks/gem_wsim: cleanups
Date: Wed, 6 Sep 2023 15:51:05 +0000 [thread overview]
Message-ID: <20230906155108.2175876-6-marcin.bernatowicz@linux.intel.com> (raw)
In-Reply-To: <20230906155108.2175876-1-marcin.bernatowicz@linux.intel.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 6028 bytes --]
Cleaning checkpatch.pl reported warnings/errors.
Removed unused fence_signal field from struct w_step.
calloc vs malloc in parse_workload for struct workload.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
---
benchmarks/gem_wsim.c | 56 ++++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 22 deletions(-)
diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
index f4024deb1..0c1b58727 100644
--- a/benchmarks/gem_wsim.c
+++ b/benchmarks/gem_wsim.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: MIT
/*
* Copyright © 2017 Intel Corporation
*
@@ -76,8 +77,7 @@ struct duration {
bool unbound_duration;
};
-enum w_type
-{
+enum w_type {
BATCH,
SYNC,
DELAY,
@@ -102,8 +102,7 @@ struct dep_entry {
int working_set; /* -1 = step dependecy, >= 0 working set id */
};
-struct deps
-{
+struct deps {
int nr;
bool submit_fence;
struct dep_entry *list;
@@ -137,8 +136,7 @@ struct working_set {
struct workload;
-struct w_step
-{
+struct w_step {
struct workload *wrk;
/* Workload step metadata */
@@ -155,7 +153,6 @@ struct w_step
int period;
int target;
int throttle;
- int fence_signal;
int priority;
struct {
unsigned int engine_map_count;
@@ -194,8 +191,7 @@ struct ctx {
uint64_t sseu;
};
-struct workload
-{
+struct workload {
unsigned int id;
unsigned int nr_steps;
@@ -846,6 +842,7 @@ static int add_buffers(struct working_set *set, char *str)
for (i = 0; i < add; i++) {
struct work_buffer_size *sz = &sizes[set->nr + i];
+
sz->min = min_sz;
sz->max = max_sz;
sz->size = 0;
@@ -895,13 +892,16 @@ static unsigned long
allocate_working_set(struct workload *wrk, struct working_set *set);
#define int_field(_STEP_, _FIELD_, _COND_, _ERR_) \
- if ((field = strtok_r(fstart, ".", &fctx))) { \
- tmp = atoi(field); \
- check_arg(_COND_, _ERR_, nr_steps); \
- step.type = _STEP_; \
- step._FIELD_ = tmp; \
- goto add_step; \
- } \
+ do { \
+ field = strtok_r(fstart, ".", &fctx); \
+ if (field) { \
+ tmp = atoi(field); \
+ check_arg(_COND_, _ERR_, nr_steps); \
+ step.type = _STEP_; \
+ step._FIELD_ = tmp; \
+ goto add_step; \
+ } \
+ } while (0)
static struct workload *
parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
@@ -926,7 +926,8 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
valid = 0;
memset(&step, 0, sizeof(step));
- if ((field = strtok_r(fstart, ".", &fctx))) {
+ field = strtok_r(fstart, ".", &fctx);
+ if (field) {
fstart = NULL;
if (!strcmp(field, "d")) {
@@ -943,6 +944,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
}
} else if (!strcmp(field, "P")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
tmp = atoi(field);
check_arg(nr == 0 && tmp <= 0,
@@ -968,6 +970,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
"Invalid sync target at step %u!\n");
} else if (!strcmp(field, "S")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
tmp = atoi(field);
check_arg(tmp <= 0 && nr == 0,
@@ -1004,6 +1007,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
goto add_step;
} else if (!strcmp(field, "M")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
tmp = atoi(field);
check_arg(nr == 0 && tmp <= 0,
@@ -1034,6 +1038,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
"Invalid terminate target at step %u!\n");
} else if (!strcmp(field, "X")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
tmp = atoi(field);
check_arg(nr == 0 && tmp <= 0,
@@ -1058,6 +1063,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
goto add_step;
} else if (!strcmp(field, "B")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
tmp = atoi(field);
check_arg(nr == 0 && tmp <= 0,
@@ -1077,6 +1083,7 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
goto add_step;
} else if (!strcmp(field, "b")) {
unsigned int nr = 0;
+
while ((field = strtok_r(fstart, ".", &fctx))) {
check_arg(nr > 2,
"Invalid bond format at step %u!\n",
@@ -1148,7 +1155,8 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
valid++;
}
- if ((field = strtok_r(fstart, ".", &fctx))) {
+ field = strtok_r(fstart, ".", &fctx);
+ if (field) {
fstart = NULL;
i = str_to_engine(field);
@@ -1160,7 +1168,8 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
step.engine = i;
}
- if ((field = strtok_r(fstart, ".", &fctx))) {
+ field = strtok_r(fstart, ".", &fctx);
+ if (field) {
fstart = NULL;
tmp = parse_duration(nr_steps, &step.duration, scale_dur, field);
@@ -1170,7 +1179,8 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
valid++;
}
- if ((field = strtok_r(fstart, ".", &fctx))) {
+ field = strtok_r(fstart, ".", &fctx);
+ if (field) {
fstart = NULL;
tmp = parse_dependencies(nr_steps, &step, field);
@@ -1180,7 +1190,8 @@ parse_workload(struct w_arg *arg, unsigned int flags, double scale_dur,
valid++;
}
- if ((field = strtok_r(fstart, ".", &fctx))) {
+ field = strtok_r(fstart, ".", &fctx);
+ if (field) {
fstart = NULL;
check_arg(strlen(field) != 1 ||
@@ -1224,7 +1235,7 @@ add_step:
nr_steps += app_w->nr_steps;
}
- wrk = malloc(sizeof(*wrk));
+ wrk = calloc(1, sizeof(*wrk));
igt_assert(wrk);
wrk->nr_steps = nr_steps;
@@ -2717,6 +2728,7 @@ int main(int argc, char **argv)
if (append_workload_arg) {
struct w_arg arg = { NULL, append_workload_arg, 0 };
+
app_w = parse_workload(&arg, flags, scale_dur, scale_time,
NULL);
if (!app_w) {
--
2.30.2
next prev parent reply other threads:[~2023-09-06 16:25 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-06 15:51 [igt-dev] [PATCH i-g-t 0/8] [RFC] benchmarks/gem_wsim: added basic xe support Marcin Bernatowicz
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 1/8] lib/xe_spin: xe_spin_opts for xe_spin initialization Marcin Bernatowicz
2023-09-20 16:43 ` Kamil Konieczny
2023-09-21 15:08 ` Bernatowicz, Marcin
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 2/8] lib/xe_spin: fixed duration xe_spin capability Marcin Bernatowicz
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 3/8] lib/igt_device_scan: Xe get integrated/discrete card functions Marcin Bernatowicz
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 4/8] benchmarks/gem_wsim: scale duration option fixes Marcin Bernatowicz
2023-09-20 16:06 ` Tvrtko Ursulin
2023-09-06 15:51 ` Marcin Bernatowicz [this message]
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 6/8] benchmarks/gem_wsim: allow comments in workload description files Marcin Bernatowicz
2023-09-20 16:13 ` Tvrtko Ursulin
2023-09-21 15:05 ` Bernatowicz, Marcin
2023-09-21 15:22 ` Tvrtko Ursulin
2023-09-21 16:20 ` Bernatowicz, Marcin
2023-09-25 9:03 ` Tvrtko Ursulin
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 7/8] benchmarks/gem_wsim: extract prepare_ctxs function, add w_sync Marcin Bernatowicz
2023-09-06 15:51 ` [igt-dev] [PATCH i-g-t 8/8] [RFC] benchmarks/gem_wsim: added basic xe support Marcin Bernatowicz
2023-09-21 15:57 ` Tvrtko Ursulin
2023-09-21 19:39 ` Bernatowicz, Marcin
2023-09-25 9:16 ` Tvrtko Ursulin
2023-09-06 21:01 ` [igt-dev] ✗ Fi.CI.BAT: failure for benchmarks/gem_wsim: added basic xe support (rev2) Patchwork
2023-09-07 9:30 ` Bernatowicz, Marcin
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=20230906155108.2175876-6-marcin.bernatowicz@linux.intel.com \
--to=marcin.bernatowicz@linux.intel.com \
--cc=chris.p.wilson@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
/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.