Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Manszewski, Christoph" <christoph.manszewski@intel.com>
To: "Hajda, Andrzej" <andrzej.hajda@intel.com>,
	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: Tue, 19 Nov 2024 09:50:49 +0100	[thread overview]
Message-ID: <48f96974-cbe2-40d3-bfbc-5e9f6a5543fc@intel.com> (raw)
In-Reply-To: <f946b1fe-e572-4aad-885c-7b7ce0cdcec7@intel.com>

Hi Andrzej,

On 18.11.2024 17:52, Hajda, Andrzej wrote:
> 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?

The experimental placement is there to ensure that the eudebug api won't 
get removed by a uapi update procedure documented by igt docs. It was 
reported by and requested by:

	Ville Syrjälä <ville.syrjala@linux.intel.com>

Apart from the placement, this is also a single file (compared to two 
files in the public kernel eudebug branch IIRC) which was requested 
during upstream review. But the api itself should be identical to the 
one found in the public eudebug-dev kernel branch.

Thanks,
Christoph

> 
> 
>>   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, "<...>");
>>       }
> 

  reply	other threads:[~2024-11-19  8:51 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
2024-11-19  8:50     ` Manszewski, Christoph [this message]
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=48f96974-cbe2-40d3-bfbc-5e9f6a5543fc@intel.com \
    --to=christoph.manszewski@intel.com \
    --cc=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