From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
"Matthew Brost" <matthew.brost@intel.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>
Subject: [PATCH i-g-t v3 2/2] tests/intel/xe_evict: Reduce the "large" bo size for threaded eviction
Date: Sun, 30 Jun 2024 20:05:02 +0200 [thread overview]
Message-ID: <20240630180502.81556-3-thomas.hellstrom@linux.intel.com> (raw)
In-Reply-To: <20240630180502.81556-1-thomas.hellstrom@linux.intel.com>
When calculating the number of bos that simultaneously fits in
VRAM + system memory, account for eviction pipelining by subtracting
one bo for ongoing pipelined evictions per thread.
With large bos this may lead to us not being able to use a working
set of 2 bos, which is the minimum, so reduce the large bo size for
threaded evictions, and instead increase the default number of bos.
v3:
- Fix up number of bo calculation to *really* subtract one bo per
thread. (Matthew Brost)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_evict.c | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/tests/intel/xe_evict.c b/tests/intel/xe_evict.c
index 601c02ff7..9b71b6b74 100644
--- a/tests/intel/xe_evict.c
+++ b/tests/intel/xe_evict.c
@@ -486,10 +486,14 @@ static unsigned int working_set(uint64_t vram_size, uint64_t system_size,
/*
* All bos must fit in, say 4 / 5 of memory to be sure.
- * Assume no swap-space available.
+ * Assume no swap-space available. Subtract one bo per thread
+ * for an active eviction.
*/
total_size = ((vram_size - 1) / bo_size + system_size * 4 / 5 / bo_size) /
- num_threads;
+ num_threads - 1;
+
+ igt_debug("num_threads: %d bo_size : %lu total_size : %lu\n", num_threads,
+ bo_size, total_size);
if (set_size > total_size)
set_size = total_size;
@@ -744,13 +748,13 @@ igt_main
MIXED_THREADS | THREADED },
{ "mixed-many-threads-small", 3, 16, 128, 1, 128,
THREADED },
- { "threads-large", 2, 2, 4, 3, 8,
+ { "threads-large", 2, 2, 16, 3, 32,
THREADED },
- { "cm-threads-large", 2, 2, 4, 3, 8,
+ { "cm-threads-large", 2, 2, 16, 3, 32,
COMPUTE_THREAD | THREADED },
- { "mixed-threads-large", 2, 2, 4, 3, 8,
+ { "mixed-threads-large", 2, 2, 16, 3, 32,
MIXED_THREADS | THREADED },
- { "mixed-many-threads-large", 3, 2, 4, 3, 8,
+ { "mixed-many-threads-large", 3, 2, 16, 3, 32,
THREADED },
{ "threads-small-multi-vm", 2, 16, 128, 1, 128,
MULTI_VM | THREADED },
@@ -758,11 +762,11 @@ igt_main
COMPUTE_THREAD | MULTI_VM | THREADED },
{ "mixed-threads-small-multi-vm", 2, 16, 128, 1, 128,
MIXED_THREADS | MULTI_VM | THREADED },
- { "threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "threads-large-multi-vm", 2, 2, 16, 3, 32,
MULTI_VM | THREADED },
- { "cm-threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "cm-threads-large-multi-vm", 2, 2, 16, 3, 32,
COMPUTE_THREAD | MULTI_VM | THREADED },
- { "mixed-threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "mixed-threads-large-multi-vm", 2, 2, 16, 3, 32,
MIXED_THREADS | MULTI_VM | THREADED },
{ "beng-threads-small", 2, 16, 128, 1, 128,
THREADED | BIND_EXEC_QUEUE },
@@ -772,13 +776,13 @@ igt_main
MIXED_THREADS | THREADED | BIND_EXEC_QUEUE },
{ "beng-mixed-many-threads-small", 3, 16, 128, 1, 128,
THREADED | BIND_EXEC_QUEUE },
- { "beng-threads-large", 2, 2, 4, 3, 8,
+ { "beng-threads-large", 2, 2, 16, 3, 32,
THREADED | BIND_EXEC_QUEUE },
- { "beng-cm-threads-large", 2, 2, 4, 3, 8,
+ { "beng-cm-threads-large", 2, 2, 16, 3, 32,
COMPUTE_THREAD | THREADED | BIND_EXEC_QUEUE },
- { "beng-mixed-threads-large", 2, 2, 4, 3, 8,
+ { "beng-mixed-threads-large", 2, 2, 16, 3, 32,
MIXED_THREADS | THREADED | BIND_EXEC_QUEUE },
- { "beng-mixed-many-threads-large", 3, 2, 4, 3, 8,
+ { "beng-mixed-many-threads-large", 3, 2, 16, 3, 32,
THREADED | BIND_EXEC_QUEUE },
{ "beng-threads-small-multi-vm", 2, 16, 128, 1, 128,
MULTI_VM | THREADED | BIND_EXEC_QUEUE },
@@ -786,11 +790,11 @@ igt_main
COMPUTE_THREAD | MULTI_VM | THREADED | BIND_EXEC_QUEUE },
{ "beng-mixed-threads-small-multi-vm", 2, 16, 128, 1, 128,
MIXED_THREADS | MULTI_VM | THREADED | BIND_EXEC_QUEUE },
- { "beng-threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "beng-threads-large-multi-vm", 2, 2, 16, 3, 32,
MULTI_VM | THREADED | BIND_EXEC_QUEUE },
- { "beng-cm-threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "beng-cm-threads-large-multi-vm", 2, 2, 16, 3, 32,
COMPUTE_THREAD | MULTI_VM | THREADED | BIND_EXEC_QUEUE },
- { "beng-mixed-threads-large-multi-vm", 2, 2, 4, 3, 8,
+ { "beng-mixed-threads-large-multi-vm", 2, 2, 16, 3, 32,
MIXED_THREADS | MULTI_VM | THREADED | BIND_EXEC_QUEUE },
{ NULL },
};
@@ -826,6 +830,7 @@ igt_main
1, s->flags);
igt_debug("Max working set %d n_execs %d\n", ws, s->n_execs);
+ igt_skip_on_f(!ws, "System memory size is too small.\n");
test_evict(fd, hwe, s->n_exec_queues,
min(ws, s->n_execs), bo_size,
s->flags, NULL);
@@ -839,6 +844,7 @@ igt_main
1, s->flags);
igt_debug("Max working set %d n_execs %d\n", ws, s->n_execs);
+ igt_skip_on_f(!ws, "System memory size is too small.\n");
test_evict_cm(fd, hwe, s->n_exec_queues,
min(ws, s->n_execs), bo_size,
s->flags, NULL);
@@ -852,6 +858,7 @@ igt_main
s->n_threads, s->flags);
igt_debug("Max working set %d n_execs %d\n", ws, s->n_execs);
+ igt_skip_on_f(!ws, "System memory size is too small.\n");
threads(fd, hwe, s->n_threads, s->n_exec_queues,
min(ws, s->n_execs), bo_size, s->flags);
}
--
2.44.0
next prev parent reply other threads:[~2024-06-30 18:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-30 18:05 [PATCH i-g-t v3 0/2] tests/intel/xe_evict: Adapt the working set to memory size Thomas Hellström
2024-06-30 18:05 ` [PATCH i-g-t v3 1/2] tests/intel/xe_evict: Reduce allocations to maximum working set Thomas Hellström
2024-08-22 15:37 ` Nirmoy Das
2024-06-30 18:05 ` Thomas Hellström [this message]
2024-08-22 15:38 ` [PATCH i-g-t v3 2/2] tests/intel/xe_evict: Reduce the "large" bo size for threaded eviction Nirmoy Das
2024-06-30 18:44 ` ✓ Fi.CI.BAT: success for tests/intel/xe_evict: Adapt the working set to memory size (rev2) Patchwork
2024-06-30 19:44 ` ✓ CI.xeFULL: " Patchwork
2024-06-30 19:51 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-08-23 20:45 ` ✓ CI.xeBAT: success for tests/intel/xe_evict: Adapt the working set to memory size (rev3) Patchwork
2024-08-23 20:58 ` ✓ Fi.CI.BAT: " Patchwork
2024-08-24 3:53 ` ✓ CI.xeFULL: " Patchwork
2024-08-25 14:48 ` ✗ Fi.CI.IGT: failure " Patchwork
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=20240630180502.81556-3-thomas.hellstrom@linux.intel.com \
--to=thomas.hellstrom@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthew.brost@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 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.