- Jun 22, 2020
-
-
Arkadiusz Hiler authored
Since IGT is using magic control blocks (igt_subtest et al.) asserts jump out the them using longjmp() causing a bunch of confusing messages and occasionally crashing the whole process. This is not the behavior we want :-) With this patch: 1. simple_main, dynamic and subtest each clears the thread failure state at the start 2. each of those blocks also asserts no thread failures at the end 3. igt_assert() in non-main thread prints out the error + stacktrace and marks that we have failed thread Issue: #55 Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Arkadiusz Hiler authored
So that we know what's the source of messages. igt_thread.c is created to facilitate more threading-related functionality that will come in the following patch. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Jun 19, 2020
-
-
Chris Wilson authored
These are i915 specific tests of the perf and perf-workalike interfaces, so move them under i915/ Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Tvrtko Ursulin authored
Intended use case was that run without arguments prints out the calibrations which can be simply copied and pasted to the -n argument and things should just work. Two problems we need to solve: If the print out loops shows zero calibrations (engine not present) they are later rejected and also if some calibration is not given it is only an error if it needs to be used (engine present). Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
Some frames from the middle of a demo with corresponding buffers. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
It is useful to know how much memory workload is allocating. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
-f <float> on the command line can be used to scale batch buffer durations in all parsed workloads. Equally -F <float> for delay steps. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
See README for more details. v2: * No need to mess with flags. (Chris) Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
Show average/min/max workload iteration and dropped period stats when 'p' command is used. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
Add support for defining buffer object working sets and targetting them as data dependencies. For more information please see the README file. v2: * More robustness in parsing here and there. (Chris) Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
Evaluation of userspace load balancing options was how this tool started but since we have settled on doing it in the kernel. Tomorrow we will want to update the tool for new engine interfaces and all this legacy code will just be a distraction. Rip out everything not related to explicit load balancing implemented via context engine maps and adjust the workloads to use it. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- Jun 17, 2020
-
-
Petri Latvala authored
Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Petri Latvala authored
tests/intel-ci/blacklist*.txt files can collect bitrot unless there's an easy way to check for lines that are no longer needed due to the tests being renamed or removed. Therefore, a script just for that. v2: Use long options for readability, exit with 1 if something found v3: Verify manually against the list of all tests instead of trying with igt_runner's --include-tests Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- Jun 15, 2020
-
-
Rodrigo Vivi authored
SPDX header already states it is MIT, no need for duplication on the copyright notice. Reference: https://lists.freedesktop.org/archives/intel-gfx/2020-June/241548.html Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Rodrigo Vivi authored
Fix the script name and make the path to mesa i915_asm a bit more clear Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Jun 14, 2020
-
-
Chris Wilson authored
The cmdparser is a cause of priority inversions [it is multiple FIFO queues, the kworkers] and so may perturb the Q-independent tests by delaying the high priority requests to only be submitted after the low priority requests have already completed. The goal of the test is let all be ready to run simultaneous and check that they are run in priority order [that they can indeed be run independently despite sharing the vm]. References: https://gitlab.freedesktop.org/drm/intel/-/issues/2013 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Jun 13, 2020
-
-
Chris Wilson authored
We need the object we wait on to be clean, and free of stray fences as the waitboosting only applies to i915_request that have not been started. If we use an exclusive fence (from a write dependency) that will strip off any foreign fences, allowing us to trick the driver into behaving as we expect. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Jun 12, 2020
-
-
Chris Wilson authored
Large GTT do not fit into the 32b local, use a 64b and limit to [2G-3G]! Fixes: 0421ebe9 ("lib/i915: Increase range for randomised location of dummyload") Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Chris Wilson authored
Check that when relocating a batch along an engine, we are not forced to wait upon a resource elsewhere that userspace may be holding, or else we are faced with a deadlock that may be injected by another user. That deadlock may be resolved by resetting the hostile context, but in doing so we should not break the relocation processing. Ideally, we would avoid the deadlock. References: https://gitlab.freedesktop.org/drm/intel/-/issues/2021 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Chris Wilson authored
Suggest a wider range of possible relocations to reduce the chance of colliding with a framebuffer. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Chris Wilson authored
Rather than just try to look at the first fault of each mmap in each thread, keep the threads running for the test duration and watch for refaults. References: https://gitlab.freedesktop.org/drm/intel/-/issues/2012 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
This tests is being sporadically skipped in CI as it is not due "PSR sink not reliable: yes". This commit adds printing of debugfs ("tests/kms_psr2_su: Print debugfs when skipping test"), but it is not enough to track error cases. It adds printing of errorno while it fails to read debugfs. Cc: José Roberto de Souza <jose.souza@intel.com> Signed-off-by:
Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> Reviewed-by:
José Roberto de Souza <jose.souza@intel.com>
-
To make the script also useful when igt_runner/igt_resume binarires are installed, also search PATH for the binaries. Signed-off-by:
Stefan Agner <stefan@agner.ch> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Jun 11, 2020
-
-
Lyude Paul authored
Noticed while running some tests that adding any kind of spaces into the name of a test run would stop igt_resume from working for said test run. Turns out that when we parse test metadata, we accidentally use the '%ms' specifier with fscanf() which finishes parsing strings when any kind of whitespace is encountered. So, fix this by using the proper %m[^\n] specifier, which dynamically allocates it's result and doesn't stop reading the string until a newline is encountered. Additionally, add a test for this. Signed-off-by:
Lyude Paul <lyude@redhat.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Ayaz Siddiqui authored
_open_pmu() was calling perf_igfx_open_group() which in turn was calling igt_perf_type_id("i915") each time. By making _open_pmu() take type as a parameter and call igt_perf_open_group() we achieve two things: * we use the correct type for engines->device instead of the hardcoded "i915" * optimization - we call igt_perf_type_id() once - it's reading sysfs Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by:
Ayaz A Siddiqui <ayaz.siddiqui@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
- Jun 10, 2020
-
-
Petri Latvala authored
__cancel_work_at_exit writes -1 to param "reset", with the intention that it's "any available method". Hex values to numeric params should be prefixed with 0x to be parsed as a number. Use the convention of %u with -1 as is used elsewhere with the "reset" param. Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Arkadiusz Hiler authored
Sometimes creating the string representation fails. This usually happens when we have a huge logs (e.g.: something was spamming the dmesg) or the result generation was run on a very low-end system (e.g. embedded board with 256 megs of RAM). Sadly json-c call returns us NULL and provides no explanation whatsoever. Let's fix a NULL pointer dereference in such cases and print a mesage that should help people make sense out of what have just happened. Cc: Swati Sharma <swati2.sharma@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Petri Latvala authored
In commit b943d64f ("kms_atomic_transition: Make the available pipe discovery dynamic") the subtests of kms_atomic_transition were split into dynamic subtests. What avoided scrutiny however was that the looping uses for_each_pipe_with_valid_output, which gives you every valid pipe/output combo, so just using the pipe name as the dynamic subtest name causes duplicates, resulting in weird CI results. As the nature of the original test was a stress test for watermarks, keep the full combo rather than switching to for_each_pipe_with_single_output, but use the output name as well in the dynamic subtest name. Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- Jun 09, 2020
-
-
This allows the test to work on setups where the primary plane cannot be disabled while the CRTC is enabled. It should make no difference for the output. Signed-off-by:
Michel Dänzer <mdaenzer@redhat.com> Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com>
-
- Jun 08, 2020
-
-
Arkadiusz Hiler authored
It got removed in Python 3.9 and ever since Python 3.3 it's: from xml.etree.ElementTree import * Link: https://docs.python.org/3.9/whatsnew/3.9.html#removed Issue: #86 (comment 520308) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Ayaz Siddiqui authored
In intel_gpu_top device path was hard coded for integrated GPU. With this patch we: * use igt_device_scan library for device scanning, * make discrete GPU the default one, * provided options for card selection. v2: * explicitly set ret to EXIT_SUCCESS after all the other uses * fix use after free of opt_device (Tvrtko) * use EXIT_FAILURE instead of "1" (Tvrtko) Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by:
Ayaz A Siddiqui <ayaz.siddiqui@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
Ayaz Siddiqui authored
Will be used in the next patch. 1. set_pci_slot_name(): stores PCI_SLOT_NAME from prop to device 2. igt_device_find_first_discrete_card(): try to find first discrete GPU 3. igt_devices_free(): Free device buffers created during scan Signed-off-by:
Ayaz A Siddiqui <ayaz.siddiqui@intel.com> Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Ayaz Siddiqui authored
igt_device_scan can now be used as a separate library which only depends glib and libudev - some IGT internals are being stubbed in this case. v2: (mostly) sort includes (Lucas) Cc: Lucas De Marchi <lucas.de.marchi@gmail.com> Signed-off-by:
Ayaz A Siddiqui <ayaz.siddiqui@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Ayaz Siddiqui authored
Return value of udev_enumerate_add_match_property() was not being checked in scan_drm_devices(). Signed-off-by:
Ayaz A Siddiqui <ayaz.siddiqui@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Jun 07, 2020
-
-
Chris Wilson authored
Since preempt-reset is 640ms we have to wait at least that long to recover from a hostile client. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Jun 06, 2020
-
-
Remove all "localized" functions in media spin and libdrm usage in the test. Signed-off-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
For some scenarios we want to keep previous objects and their offsets and recreate only batchbuffer object. To allow user do that add bb reset function which can or not purge collected objects from previous run. Signed-off-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
To avoid relocations when intel_buf is used we need to keep previous offset and context. Add addr structure with offset and ctx fields. Signed-off-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- Jun 04, 2020
-
-
Imre Deak authored
After replugging a connector and the kernel reports the connector as connected the cached modes returned by drmModeGetConnectorCurrent() (the kernel's cached list of modes) may be stale. The modes will be only updated by a full reprobe. Ensure this by setting output->force_reprobe which will result in calling drmModeGetConnector(). This fixes sporadic test failures due to seeing no modes unexpectedly. So far things happened to work, because some in-kernel user of the output - like fbdev - does a full reprobe sometime after the hotplug event. Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by:
Imre Deak <imre.deak@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-