From: "Hajda, Andrzej" <andrzej.hajda@intel.com>
To: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>,
<igt-dev@lists.freedesktop.org>
Cc: <jonathan.cavitt@intel.com>, <mika.kuoppala@intel.com>,
<dominik.grzegorzek@intel.com>
Subject: Re: [PATCH i-g-t 3/4] eudebug: Add eudebug pagefault event declarations
Date: Mon, 18 Nov 2024 17:52:17 +0100 [thread overview]
Message-ID: <f946b1fe-e572-4aad-885c-7b7ce0cdcec7@intel.com> (raw)
In-Reply-To: <20241115141132.866838-4-gwan-gyeong.mun@intel.com>
W dniu 15.11.2024 o 15:11, Gwan-gyeong Mun pisze:
> From: Jonathan Cavitt <jonathan.cavitt@intel.com>
>
> Update the xe_eudebug drm to include pagefault events.
>
> Co-developed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
> include/drm-uapi-experimental/xe_drm_eudebug.h | 13 +++++++++++++
I am lost between prelim/eudebug/experimental header placements. So just
out of curiosity what is the role of drm-uapi-experimental comparing to
prelim or just drm-uapi?
> lib/xe/xe_eudebug.c | 11 +++++++++++
> 2 files changed, 24 insertions(+)
>
> diff --git a/include/drm-uapi-experimental/xe_drm_eudebug.h b/include/drm-uapi-experimental/xe_drm_eudebug.h
> index f50051e9a..ed2e728c2 100644
> --- a/include/drm-uapi-experimental/xe_drm_eudebug.h
> +++ b/include/drm-uapi-experimental/xe_drm_eudebug.h
> @@ -154,6 +154,7 @@ struct drm_xe_eudebug_event {
> #define DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE 9
> #define DRM_XE_EUDEBUG_EVENT_METADATA 10
> #define DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA 11
> +#define DRM_XE_EUDEBUG_EVENT_PAGEFAULT 12
>
> __u16 flags;
> #define DRM_XE_EUDEBUG_EVENT_CREATE (1 << 0)
> @@ -352,6 +353,18 @@ struct drm_xe_eudebug_event_vm_bind_op_metadata {
> __u64 metadata_cookie;
> };
>
> +struct drm_xe_eudebug_event_pagefault {
> + struct drm_xe_eudebug_event base;
> +
> + __u64 client_handle;
> + __u64 exec_queue_handle;
> + __u64 lrc_handle;
> + __u32 flags;
> + __u32 bitmask_size;
> + __u64 pagefault_address;
> + __u8 bitmask[];
> +};
> +
> #if defined(__cplusplus)
> }
> #endif
> diff --git a/lib/xe/xe_eudebug.c b/lib/xe/xe_eudebug.c
> index c5814421b..de01e6b49 100644
> --- a/lib/xe/xe_eudebug.c
> +++ b/lib/xe/xe_eudebug.c
> @@ -91,6 +91,8 @@ static const char *type_to_str(unsigned int type)
> return "metadata";
> case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA:
> return "vm_bind_op_metadata";
> + case DRM_XE_EUDEBUG_EVENT_PAGEFAULT:
> + return "pagefault";
> }
>
> return "UNKNOWN";
> @@ -222,6 +224,15 @@ static const char *event_members_to_str(struct drm_xe_eudebug_event *e, char *bu
> op->vm_bind_op_ref_seqno, op->metadata_handle, op->metadata_cookie);
> break;
> }
> + case DRM_XE_EUDEBUG_EVENT_PAGEFAULT: {
> + struct drm_xe_eudebug_event_pagefault *pf = (void *)e;
maybe better: pf = container_of(e, pf, base);
Beside this:
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Regards
Andrzej
> +
> + sprintf(buf, "client_handle=%llu, exec_queue_handle=%llu, "
> + "lrc_handle=%llu, bitmask_size=%d, pagefault_address=0x%llx",
> + pf->client_handle, pf->exec_queue_handle, pf->lrc_handle,
> + pf->bitmask_size, pf->pagefault_address);
> + break;
> + }
> default:
> strcpy(buf, "<...>");
> }
next prev parent reply other threads:[~2024-11-18 16:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-15 14:11 [PATCH i-g-t 0/4] tests/intel/xe_eudebug_online: Introduce read/write pagefault tests Gwan-gyeong Mun
2024-11-15 14:11 ` [PATCH i-g-t 1/4] lib/gppgu_shader: Add write to ppgtt offset Gwan-gyeong Mun
2024-11-18 13:00 ` Hajda, Andrzej
2024-11-21 12:01 ` Gwan-gyeong Mun
2024-11-15 14:11 ` [PATCH i-g-t 2/4] lib/gpgpu_shader: Add causing a read pagefault from the eu thread Gwan-gyeong Mun
2024-11-18 13:08 ` Hajda, Andrzej
2024-11-21 12:02 ` Gwan-gyeong Mun
2024-11-19 11:38 ` Manszewski, Christoph
2024-11-21 12:07 ` Gwan-gyeong Mun
2024-11-15 14:11 ` [PATCH i-g-t 3/4] eudebug: Add eudebug pagefault event declarations Gwan-gyeong Mun
2024-11-18 16:52 ` Hajda, Andrzej [this message]
2024-11-19 8:50 ` Manszewski, Christoph
2024-11-19 12:26 ` Manszewski, Christoph
2024-11-15 14:11 ` [PATCH i-g-t 4/4] tests/intel/xe_eudebug_online: Add read/write pagefault online tests Gwan-gyeong Mun
2024-11-19 8:10 ` Hajda, Andrzej
2024-11-21 12:06 ` Gwan-gyeong Mun
2024-11-19 15:58 ` Hajda, Andrzej
2024-11-21 12:11 ` Gwan-gyeong Mun
2024-11-19 16:49 ` Manszewski, Christoph
2024-11-21 12:15 ` Gwan-gyeong Mun
2024-11-15 14:42 ` ✓ CI.xeBAT: success for tests/intel/xe_eudebug_online: Introduce read/write pagefault tests Patchwork
2024-11-15 14:48 ` ✓ Fi.CI.BAT: " Patchwork
2024-11-15 21:24 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-11-15 23:25 ` ✗ CI.xeFULL: " 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=f946b1fe-e572-4aad-885c-7b7ce0cdcec7@intel.com \
--to=andrzej.hajda@intel.com \
--cc=dominik.grzegorzek@intel.com \
--cc=gwan-gyeong.mun@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=jonathan.cavitt@intel.com \
--cc=mika.kuoppala@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