summaryrefslogtreecommitdiff
path: root/tests/i915/gem_exec_fair.c
AgeCommit message (Collapse)Author
2022-06-13lib/intel_reg: Add common MI_* macros to remove duplicatesZbigniew Kempczyński
In few tests we got some MI_* duplicates (MI_MATH for example). Add common definitions in intel_reg.h and remove local definitions in the tests. v2: Definitions MI_LOAD_REGISTER_MEM_GEN8 was removed so from now on user will need to encode length on it own. : Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2021-11-04lib/i915: Clarify gem_submission function namesAshutosh Dixit
The function names gem_has_guc_submission and gem_has_execlists and gem_has_semaphores are ambiguous. After "lib/i915: Return actual submission method from gem_submission_method" these functions return which submission method the kernel is actually using, not merely one which is present (e.g. execlist submission is present on all kernels on which GuC submission is present). Therefore change the function names to clarify that they return the actual submission method being used, not merely one which is present. Suggested-by: John Harrison <john.c.harrison@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
2021-10-15tests/i915: Skip gem_exec_fair on GuC based platformsJohn Harrison
The gem_exec_fair test is specifically testing scheduler algorithm performance. However, GuC does not implement the same algorithm as execlist mode and this test is not applicable. So, until sw arch approves a new algorithm and it is implemented in GuC, stop running the test. v2: Add exceptions for TGL/RKL/ADL-S - review feedback from Tvrtko. v3: Use the somewhat suspect submission test helpers instead - review feedback from Ashutosh. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2021-10-08lib: Typechecking minmaxChris Wilson
Add typechecking to the min/max macros and make their locals truly unique-ish to reduce the risk of shadowing. v2: small bug fix, write also height coordinate on rotation test. (jheikkil) v3: Fix up a couple of other max/max_t instances (Ashutosh) Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Chris Wilson <chris.p.wilson@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2021-08-10tests/gem_exec_fair: Add softpin supportZbigniew Kempczyński
Use softpin on gens where relocations are not allowed. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2021-07-08tests/i915/gem_exec_fair: Convert to intel_ctx_tJason Ekstrand
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2021-06-28i915/gem_exec_fair: Extend icl ctx timestamp w/a to gen11Tejas Upadhyay
80ns timestamp interval identified for icl also applies to gen11 platforms. igt@gem_exec_fair@basic-deadline is passing with the change on ehl and jsl. Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2021-05-27lib/i915/gem_create: Add gem_create_extAndrzej Turko
Add a wrapper for gem_create_ext ioctl (a version of gem_create that accepts extensions). In preparation for the driver change implementing it, a local definition of its id and necessary structs have been added, which are to be erased as soon as those definitions appear in the i915_drm.h file. The new ioctl wrapper is added to a separate file. For consistency the wrapper of the old ioctl, gem_create is moved from ioctl_wrappers to gem_create. Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Cc: Zbigniew Kempczynski <zbigniew.kempczynski@intel.com> Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Chris P Wilson <chris.p.wilson@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-01-23i915/gem_exec_fair: Verify CTX_TIMESTAMP before useChris Wilson
Make it more clear when CTX_TIMESTAMP is not functional rather than sit inside an infinite loop. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: CQ Tang <cq.tang@intel.com> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-30i915: Drop gem_cs_prefetchChris Wilson
Covered with more accuracy with selftests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-30i915/gem_exec_fair: Preload deadline objectsChris Wilson
Make sure each client has established their execbuf objects prior to starting the deadline testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-30i915/gem_exec_fair: Extend support to HaswellChris Wilson
Haswell requires EXEC_SECURE to workaround its overly strict command validator, but nevertheless it will work. Do not mention the cost of clear-residuals. Signed-off-by: Chris Wilson <ickle@chromebox.alporthouse.com> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-27i915/gem_exec_fair: Exclude ehl from icl w/aChris Wilson
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2847 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-23i915/gem_exec_fair: Bail if we overload the CPUChris Wilson
If we run out of CPU time, assume that we could not submit the frames fast enough to meet our own deadline. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-22i915/gem_exec_fair: Improve overhead estimatesChris Wilson
Refine the switching overhead by taking account of timeslicing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-12-22i915/gem_exec_fair: Try to spot unfairnessChris Wilson
An important property for multi-client systems is that each client gets a 'fair' allotment of system time. (Where fairness is at the whim of the context properties, such as priorities.) This test forks N independent clients (albeit they happen to share a single vm), and does an equal amount of work in client and asserts that they take an equal amount of time. Though we have never claimed to have a completely fair scheduler, that is what is expected. v2: igt_assert_f and more commentary; exclude vip from client stats, include range of frame intervals from each individual client v3: Write down what the test actually does! v4: Split out to gem_exec_fair so that we can apply CI filtering to reduce the test set Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Ramalingam C <ramalingam.c@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>