[PATCH i-g-t 0/2] Add post-gpukmod-unbind igt_hook

Peter Senna Tschudin peter.senna at linux.intel.com
Thu Jul 3 15:03:02 UTC 2025


his patch introduces a new IGT hook: IGT_HOOK_POST_GPUKMOD_UNBIND
(post-gpukmod-unbind), designed to facilitate kmemleak scans in our CI
workflows.

As suggested by Lucas de Marchi, a useful strategy for detecting memory
leaks is to run kmemleak scans both before binding and after unbinding
the GPU kernel module. This patch adds support for the latter scenario,
enabling automated scans immediately after the GPU module is unbound.


Example test-list:
 igt at xe_module_load@load
 igt at core_hotunplug@unbind-rebind
 igt at xe_module_load@unload

Usage Example:
 IGT_PING_HOSTNAME='10.211.176.1'
 IGT_TEST_ROOT='/home/gta/UPSTREAM/igt-gpu-tools/build/tests/'
 ./build/runner/igt_runner -o -l verbose -s --per-test-timeout 120 \
   --overall-timeout 960 --piglit-style-dmesg --dmesg-warn-level=4 \
   --use-watchdog --inactivity-timeout 90 \
   --abort-on-monitored-error=ping,taint --disk-usage-limit=10M \
   --facts --hook 'post-gpukmod-unbind:OUTF=/tmp/kmemleak-post-unbind && \
                   echo $IGT_HOOK_TEST_FULLNAME $IGT_HOOK_TEST $IGT_HOOK_SUBTEST >> $OUTF && \
                   echo scan > /sys/kernel/debug/kmemleak && \
                   cat /sys/kernel/debug/kmemleak >> $OUTF' \
   --test-list ~/igt/test-list \
   /home/gta/igt/0

Known Limitations: In certain cases, such as when running
igt at core_hotunplug@unbind-rebind, the unbind operation is explicitly
managed by igt_runner if the module is already loaded. However, if the
unbind occurs outside of igt_runner, the hook will not be triggered and
the scan will not run.

Cc: Gustavo Sousa <gustavo.sousa at linux.intel.com>
Cc: Lucas de Marchi <lucas.demarchi at linux.intel.com>

Peter Senna Tschudin (2):
  igt_core: igt_hook_get_pointer() for external hooks
  lib/igt_kmod: Add IGT_HOOK_POST_GPUKMOD_UNBIND

 lib/igt_core.c | 12 ++++++++++++
 lib/igt_core.h |  9 +++++++++
 lib/igt_hook.c |  5 +++++
 lib/igt_hook.h |  1 +
 lib/igt_kmod.c |  7 +++++++
 5 files changed, 34 insertions(+)

-- 
2.43.0



More information about the igt-dev mailing list