From: "Piórkowski, Piotr" <piotr.piorkowski@intel.com>
To: <intel-xe@lists.freedesktop.org>
Cc: "Piotr Piórkowski" <piotr.piorkowski@intel.com>
Subject: [PATCH v4 0/4] Split GuC ID space into usable and shareable pools
Date: Thu, 27 Aug 2026 12:57:46 +0200 [thread overview]
Message-ID: <20260827105750.1248792-1-piotr.piorkowski@intel.com> (raw)
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
The GuC ID manager currently treats all GuC IDs as a single pool shared
between GuC submission and SR-IOV related allocations.
This series introduces explicit separation between IDs that can be used
for GuC submission and IDs that can be shared with VFs. The ID manager
gains support for independent usable and shareable pools, dedicated
allocation interfaces, pool-specific accounting and validation, and
extended test coverage.
To preserve existing behaviour, both pools continue to map onto the same
GuC ID space where appropriate. GuC submission is updated to explicitly
allocate IDs from the usable pool, while ID manager initialization is
adapted to expose the correct ID ranges for native, PF and VF operating
modes.
v1 -> v2:
- Fix issues reported by Sashiko (top-down VF ID search, KUNIT_EXPECT in
locked sections, xe_root_mmio_gt() for the primary GT).
v2 -> v3:
- Guard failed ID reservations before releasing test allocations.
- Fix shareable spare quota accounting to include PF-exclusive usable IDs.
- Skip some tests required PF mode if there is not CONFIG_PCI_IOV
- Some minor other changes
v3 -> v4:
- Avoid releasing unreserved ID ranges after failed test reservations.
Piotr Piórkowski (4):
drm/xe/guc: Split GuC ID manager into usable and shareable pools
drm/xe/kunit: Extend GuC ID manager split-pool coverage
drm/xe/guc: Start use explicitly usable GuC IDs for for submission
drm/xe/pf: Explicitly use shareable GuC IDs for VFs provisioning
.../xe/tests/xe_gt_sriov_pf_config_kunit.c | 5 +
drivers/gpu/drm/xe/tests/xe_guc_id_mgr_test.c | 665 +++++++++++++++++-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 22 +-
drivers/gpu/drm/xe/xe_guc.c | 4 +-
drivers/gpu/drm/xe/xe_guc_id_mgr.c | 458 +++++++++---
drivers/gpu/drm/xe/xe_guc_id_mgr.h | 31 +-
drivers/gpu/drm/xe/xe_guc_submit.c | 27 +-
drivers/gpu/drm/xe/xe_guc_submit.h | 2 +-
drivers/gpu/drm/xe/xe_guc_types.h | 8 +-
9 files changed, 1066 insertions(+), 156 deletions(-)
--
2.34.1
next reply other threads:[~2026-08-27 10:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 10:57 Piórkowski, Piotr [this message]
2026-08-27 10:57 ` [PATCH v4 1/4] drm/xe/guc: Split GuC ID manager into usable and shareable pools Piórkowski, Piotr
2026-08-27 11:16 ` sashiko-bot
2026-08-27 10:57 ` [PATCH v4 2/4] drm/xe/kunit: Extend GuC ID manager split-pool coverage Piórkowski, Piotr
2026-08-27 10:57 ` [PATCH v4 3/4] drm/xe/guc: Start use explicitly usable GuC IDs for for submission Piórkowski, Piotr
2026-08-27 11:15 ` sashiko-bot
2026-08-27 10:57 ` [PATCH v4 4/4] drm/xe/pf: Explicitly use shareable GuC IDs for VFs provisioning Piórkowski, Piotr
2026-08-27 11:47 ` ✓ CI.KUnit: success for Split GuC ID space into usable and shareable pools (rev4) Patchwork
2026-08-27 12:26 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-27 13:36 ` ✓ Xe.CI.FULL: " Patchwork
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=20260827105750.1248792-1-piotr.piorkowski@intel.com \
--to=piotr.piorkowski@intel.com \
--cc=intel-xe@lists.freedesktop.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox