[igt-dev] [PATCH i-g-t] tests/xe_evict_ccs: Disable compression on platforms without flatccs
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue Nov 14 06:35:50 UTC 2023
On Thu, Nov 09, 2023 at 05:35:06PM +0000, Matthew Auld wrote:
> On 09/11/2023 17:15, Zbigniew Kempczyński wrote:
> > Platforms like PVC don't use flatccs compression so on them exercise
> > eviction only. Rename all subtests and remove "-ccs-" part in it.
> >
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> > Cc: Matthew Auld <matthew.auld at intel.com>
>
> Curious to see what PVC says with this,
> Reviewed-by: Matthew Auld <matthew.auld at intel.com>
>
> It's a bit funny having a test called xe_evict_ccs which doesn't use ccs? I
> guess skipping would be another option, but then again these tests have
> proven to be really good at finding general eviction bugs so that would be
> quite a loss of coverage on platforms like PVC. Do we need to marry together
> xe_evict and xe_evict_ccs, possibility extracting a couple more testcases
> from xe_evict_ccs that turn off compression and can be made part of
> xe_evict, or perhaps moving xe_evict into here somehow?
You're right, I also have some doubts regarding mixin no-ccs eviction
test into xe_evict_ccs but I had no better idea then. Maybe I should
rename the test from xe_evict_ccs to xe_evict_vram and subtests
would be called with/without "-ccs-" inside?
--
Zbigniew
>
> > ---
> > tests/intel-ci/xe-fast-feedback.testlist | 4 ++--
> > tests/intel/xe_evict_ccs.c | 17 ++++++++++++-----
> > 2 files changed, 14 insertions(+), 7 deletions(-)
> >
> > diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
> > index f11761ac85..e9ff5cb4fe 100644
> > --- a/tests/intel-ci/xe-fast-feedback.testlist
> > +++ b/tests/intel-ci/xe-fast-feedback.testlist
> > @@ -26,8 +26,8 @@ igt at xe_evict@evict-small-external-cm
> > igt at xe_evict@evict-small-multi-vm
> > igt at xe_evict@evict-small-multi-vm-cm
> > igt at xe_evict@evict-threads-small
> > -igt at xe_evict_ccs@evict-ccs-overcommit-simple
> > -igt at xe_evict_ccs@evict-ccs-overcommit-parallel-nofree-samefd
> > +igt at xe_evict_ccs@evict-overcommit-simple
> > +igt at xe_evict_ccs@evict-overcommit-parallel-nofree-samefd
> > igt at xe_exec_balancer@twice-virtual-basic
> > igt at xe_exec_balancer@no-exec-virtual-basic
> > igt at xe_exec_balancer@twice-cm-virtual-basic
> > diff --git a/tests/intel/xe_evict_ccs.c b/tests/intel/xe_evict_ccs.c
> > index 4f2876ecb2..8a98aae8f3 100644
> > --- a/tests/intel/xe_evict_ccs.c
> > +++ b/tests/intel/xe_evict_ccs.c
> > @@ -380,15 +380,15 @@ static void evict_ccs(int fd, uint32_t flags, const struct param *param)
> > /**
> > *
> > - * SUBTEST: evict-ccs-overcommit-simple
> > - * Description: FlatCCS eviction test.
> > + * SUBTEST: evict-overcommit-simple
> > + * Description: Eviction test - exercises FlatCCS if possible.
> > * Feature: flatccs
> > * Test category: stress test
> > */
> > /**
> > *
> > - * SUBTEST: evict-ccs-overcommit-%s-%s-%s
> > - * Description: FlatCCS eviction test.
> > + * SUBTEST: evict-overcommit-%s-%s-%s
> > + * Description: Eviction test - exercises FlatCCS if possible.
> > * Feature: flatccs
> > * Test category: stress test
> > *
> > @@ -490,6 +490,7 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
> > { },
> > };
> > uint64_t vram_size;
> > + bool has_flatccs;
> > int fd;
> > igt_fixture {
> > @@ -497,14 +498,20 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
> > igt_require(xe_has_vram(fd));
> > vram_size = xe_visible_vram_size(fd, 0);
> > igt_assert(vram_size);
> > + has_flatccs = HAS_FLATCCS(intel_get_drm_devid(fd));
> > }
> > igt_fixture
> > intel_allocator_multiprocess_start();
> > for (const struct ccs *s = ccs; s->name; s++) {
> > - igt_subtest_f("evict-ccs-overcommit-%s", s->name)
> > + igt_subtest_f("evict-overcommit-%s", s->name) {
> > + if (!params.disable_compression && !has_flatccs) {
> > + igt_info("Device has no flatccs, disabling compression\n");
> > + params.disable_compression = true;
> > + }
> > evict_ccs(fd, s->flags, ¶ms);
> > + }
> > }
> > igt_fixture {
More information about the igt-dev
mailing list