All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Auld <matthew.auld@intel.com>
To: Jan Maslak <jan.maslak@intel.com>
Cc: igt-dev@lists.freedesktop.org,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Matthew Brost" <matthew.brost@intel.com>
Subject: Re: [i-g-t] tests/intel/xe_create: add create-big-bo-interruptible subtest
Date: Tue, 3 Nov 2026 14:18:47 +0000	[thread overview]
Message-ID: <feeefb3c-d4e0-46ee-b35b-9b77e5ef7093@intel.com> (raw)
In-Reply-To: <aunqkZXCF9AsnnH6@ART-DEV-395>

On 03/11/2026 14:07, Jan Maslak wrote:
> On Wed, Oct 21, 2026 at 03:22:41PM +0100, Matthew Auld wrote:
>> Add a create-big-bo-interruptible subtest that wraps large BO
>> creation and CPU mmap verification in igt_fork_signal_helper() /
>> igt_stop_signal_helper() (500 Hz continuous signal interruption) and
>> also supports non-VRAM (iGPU) platforms using a 512 MiB system memory BO
>> (roughly matching bug report).
>>
>> When a large BO creation overflows the migration batchbuffer
>> suballocation pool (gt->usm.bb_pool), an interruptible suballocator wait
>> aborts xe_migrate_clear() with -ERESTARTSYS, synchronously drains all
>> in-flight migration jobs at err_sync:, and restarts
>> DRM_IOCTL_XE_GEM_CREATE from scratch, livelocking under periodic signals
>> such as Xorg's SIGALRM smart-scheduler.
>>
>> Current working theory for user reported bug. Running this locally, it
>> does indeed run forever on BMG. Patching the intr wait on kernel side,
>> fixes it.
>>
>> Assisted-by: LLM
>> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644
>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Cc: Matthew Brost <matthew.brost@intel.com>
>> ---
> 
> Hi Matthew,
> 
>> 	bo_handle = xe_bo_create(fd, vm, bo_size, vram_if_possible(fd, gt),
>> 				 DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> 
> Could we use xe_bo_create_caching() with DRM_XE_GEM_CPU_CACHING_WC
> here? The existing VRAM case already defaults to WC.
> For system-memory BOs, xe_bo_create() defaults to WB, which skips CCS
> clearing on LNL, leading to the test passing without calling
> xe_migrate_clear(). WC exposes the stall on LNL on an unfixed kernel.

Yeah, very good point. Will fix.

> 
>> +	if (interruptible)
>> +		igt_stop_signal_helper();
> 
> If a dynamic case fails before this, the helper stays running and the
> next GT aborts at assert(!proc->running). I reproduced this with an
> injected failure. Could we move the helper start/stop into setup/teardown
> fixtures around a group containing this subtest? Then create_big() no
> longer needs the interruptible parameter either.
> 
> With WC and fixture cleanup, I compared the results with and without
> the kernel fix [1]: three 60 s external timeouts without the fix,
> versus three passes with it. I've included a suggested diff.

Ok, I will incorporate this. Thanks for taking a look.

> 
> Thanks,
> Jan
> 
> [1] https://patchwork.freedesktop.org/patch/764504/


      reply	other threads:[~2026-11-03 14:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-21 14:22 [PATCH i-g-t] tests/intel/xe_create: add create-big-bo-interruptible subtest Matthew Auld
2026-10-21 18:53 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-10-21 19:42 ` ✓ i915.CI.BAT: " Patchwork
2026-10-21 21:39 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-10-22  0:36 ` ✓ i915.CI.Full: success " Patchwork
2026-11-03 14:07 ` [i-g-t] " Jan Maslak
2026-11-03 14:18   ` Matthew Auld [this message]

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=feeefb3c-d4e0-46ee-b35b-9b77e5ef7093@intel.com \
    --to=matthew.auld@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jan.maslak@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=thomas.hellstrom@linux.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.