Re: [PATCH 0/4] tests/xe: Add xe_page_reclaim test suite

Wang, X
2026-04-13T22:13:12Z

On 4/7/2026 12:15, Summers, Stuart wrote:
> On Mon, 2026-04-06 at 18:42 +0000, Brian Nguyen wrote:
>> Page Reclamation is a Xe3p feature that optimizes TLB invalidations
>> by targeting only the specific physical pages being unmapped, rather
>> than
>> issuing a full PPC flush. With Page Reclamation, the driver maintains
>> a
>> Page Reclaim List (PRL), on the backing pages of a VMA range, which
>> is
>> passed into the hardware, limiting the flush to only the affected
>> pages.
>>
>> PRL supports up to 512 entries and beyond that results in a fallback
>> to
>> full TLB invalidation, and invalidating the PRL. The page reclamation
>> test
>> cases validate different combinations of the possible VMA ranges.
>>
>> The primary source of validation of these cases is derived from the
>> gt_stats in debugfs to confirm the proper PRL generation.
> Just a high level question here, assuming the page reclamation is
> happening at every invalidation and we should be getting coverage
> generally across many of our tests (e.g. xe_* --r *invalidation*),
> would it make sense to reduce the test scope here by just adding hooks
> to the existing tests to check counters - and this kind of
> infrastructure could potentially even go beyond just page
> reclamation...
>
> Or maybe another kind of related question, if we are adding some
> explicit invalidation sizes/alignments here, are we not covering that
> in some of the other tests like xe_vm?
>
> Thanks,
> Stuart

Hi Stuart,

Thanks for the questions.
The page reclamation suite focuses on specific VMA
configurations and allocation sizes to validate PRL
correctness and edge cases. These need purpose-built
setups with known expected outputs, so a standalone
test is more appropriate here.
Hooking PRL checks into existing tests like xe_vm
wouldn't give us reliable validation — those tests
have their own allocation patterns not designed with
PRL in mind, and PRL is already running behind the
scenes regardless. Spreading PRL logic across many
tests also makes future maintenance harder.

Thanks,

Xin
>> Brian Nguyen (4):
>>   tests/xe: Add page reclaim test
>>   tests/xe: Add random page reclaim subtest
>>   tests/xe: Add transient display PRL skip
>>   tests/xe: Add large VMA range tests for better coverage
>>
>>  tests/intel/xe_page_reclaim.c | 826
>> ++++++++++++++++++++++++++++++++++
>>  tests/meson.build             |   1 +
>>  2 files changed, 827 insertions(+)
>>  create mode 100644 tests/intel/xe_page_reclaim.c
>>