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 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.