From: Matthew Brost <matthew.brost@intel.com>
To: Arvind Yadav <arvind.yadav@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
<himal.prasad.ghimiray@intel.com>,
<thomas.hellstrom@linux.intel.com>, <pallavi.mishra@intel.com>
Subject: Re: [RFC v2 8/9] drm/xe/uapi: Add UAPI for purgeable bo state to madvise query response
Date: Tue, 2 Dec 2025 11:01:08 -0800 [thread overview]
Message-ID: <aS83dKXLLHvvSHas@lstrano-desk.jf.intel.com> (raw)
In-Reply-To: <20251201055309.854074-9-arvind.yadav@intel.com>
On Mon, Dec 01, 2025 at 11:20:18AM +0530, Arvind Yadav wrote:
> From: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>
> Complete the purgeable buffer object UAPI by adding the response
> structure to drm_xe_mem_range_attr for querying current purgeable
> state of buffer objects within a memory range.
>
> This allows userspace to determine the current state of BOs:
> - DRM_XE_VMA_PURGEABLE_STATE_WILLNEED (0): BO actively needed, has backing store
> - DRM_XE_VMA_PURGEABLE_STATE_DONTNEED (1): BO eligible for purging, still has backing
> - DRM_XE_VMA_PURGEABLE_STATE_PURGED (2): BO purged, backing store freed (read-only)
>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> Signed-off-by: Arvind Yadav <arvind.yadav@intel.com>
> ---
> include/uapi/drm/xe_drm.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 02d63938d16f..8f289a2849ff 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -2147,10 +2147,14 @@ struct drm_xe_madvise {
> * - DRM_XE_VMA_PURGEABLE_STATE_DONTNEED (1): Hints that BO is not
> * currently needed. Kernel may purge it under memory pressure.
> * Only applies to non-shared BOs. Returns retained=1 if not purged.
> + *
> + * - DRM_XE_VMA_PURGEABLE_STATE_PURGED: Read-only state indicating
> + * the BO purge state.
This is tricky one. Since the value of purgable state can immediately
change after getting populated, is there any value in reporting this to
user space? My guess is no. So with that, I'd probably remove this uAPI.
Matt
> */
> struct {
> #define DRM_XE_VMA_PURGEABLE_STATE_WILLNEED 0
> #define DRM_XE_VMA_PURGEABLE_STATE_DONTNEED 1
> +#define DRM_XE_VMA_PURGEABLE_STATE_PURGED 2
> /** @purge_state_val.val: value for DRM_XE_VMA_ATTR_PURGEABLE_STATE */
> __u32 val;
> /**
> @@ -2224,6 +2228,15 @@ struct drm_xe_mem_range_attr {
> __u32 reserved;
> } pat_index;
>
> + /** @purge_state_val: Purgeable state configuration */
> + struct {
> + /** @purge_state_val.val: value for DRM_XE_VMA_ATTR_PURGEABLE_STATE */
> + __u32 val;
> +
> + /** @purge_state_val.reserved: Reserved */
> + __u32 reserved;
> + } purge_state_val;
> +
> /** @reserved: Reserved */
> __u64 reserved[2];
> };
> --
> 2.43.0
>
next prev parent reply other threads:[~2025-12-02 19:01 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 5:50 [RFC v2 0/9] drm/xe/madvise: Add support for purgeable buffer objects Arvind Yadav
2025-12-01 5:50 ` [RFC v2 1/9] drm/xe/uapi: Add UAPI " Arvind Yadav
2025-12-01 23:00 ` Matthew Brost
2025-12-02 2:55 ` Yadav, Arvind
2025-12-01 5:50 ` [RFC v2 2/9] drm/xe/bo: Add purgeable bo state tracking and field madv to xe_bo Arvind Yadav
2025-12-01 23:02 ` Matthew Brost
2025-12-02 2:56 ` Yadav, Arvind
2025-12-02 18:52 ` Matthew Brost
2025-12-01 5:50 ` [RFC v2 3/9] drm/xe/bo: Prevent purging of shared buffer objects Arvind Yadav
2025-12-01 23:10 ` Matthew Brost
2025-12-02 3:42 ` Yadav, Arvind
2025-12-02 9:42 ` Thomas Hellström
2025-12-02 15:17 ` Matthew Brost
2025-12-02 18:22 ` Yadav, Arvind
2025-12-02 18:35 ` Matthew Brost
2025-12-01 5:50 ` [RFC v2 4/9] drm/xe/madvise: Implement purgeable buffer object support Arvind Yadav
2025-12-02 1:46 ` Matthew Brost
2025-12-02 4:01 ` Yadav, Arvind
2025-12-02 21:39 ` Matthew Brost
2025-12-03 14:01 ` Yadav, Arvind
2025-12-01 5:50 ` [RFC v2 5/9] drm/xe/bo: Handle CPU faults on purged buffer objects Arvind Yadav
2025-12-02 18:42 ` Matthew Brost
2025-12-02 18:48 ` Matthew Brost
2025-12-03 7:25 ` Yadav, Arvind
2025-12-03 16:24 ` Matthew Brost
2025-12-01 5:50 ` [RFC v2 6/9] drm/xe/bo: Prevent mmap of " Arvind Yadav
2025-12-02 18:54 ` Matthew Brost
2025-12-01 5:50 ` [RFC v2 7/9] drm/xe/vm: Prevent binding " Arvind Yadav
2025-12-02 18:57 ` Matthew Brost
2025-12-03 11:24 ` Yadav, Arvind
2025-12-01 5:50 ` [RFC v2 8/9] drm/xe/uapi: Add UAPI for purgeable bo state to madvise query response Arvind Yadav
2025-12-02 19:01 ` Matthew Brost [this message]
2025-12-03 3:54 ` Yadav, Arvind
2025-12-01 5:50 ` [RFC v2 9/9] drm/xe: Add support for querying purgeable BO states Arvind Yadav
2025-12-02 18:36 ` [RFC v2 0/9] drm/xe/madvise: Add support for purgeable buffer objects Souza, Jose
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=aS83dKXLLHvvSHas@lstrano-desk.jf.intel.com \
--to=matthew.brost@intel.com \
--cc=arvind.yadav@intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=pallavi.mishra@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox