From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Peter Senna Tschudin <peter.senna@linux.intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
Kamil Konieczny <kamil.konieczny@linux.intel.com>
Subject: Re: [PATCH i-g-t v2] lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests
Date: Fri, 26 Jul 2024 07:43:40 -0700 [thread overview]
Message-ID: <877cd8gqn7.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <78c5f531-f482-49c7-8290-38710698e4a7@linux.intel.com>
On Thu, 25 Jul 2024 07:03:19 -0700, Peter Senna Tschudin wrote:
>
Hi Peter,
> Changes xe_query_oa_units_new() to return NULL instead of aborting
> due to assertion failure when querying for DRM_XE_DEVICE_QUERY_OA_UNITS.
>
> It adds a skip to xe_oa.c to make sure it will not try to run the tests if the
> query has failed before.
>
> The motivation is as follows:
> - The only test that requires oa_units is tests/intel/xe_oa.c, however current
> code will prevent all Xe tests from running if OA_UNITS is not supported
> - Before this patch, trying to run IGT on the Xe module from Fedora 40
> (6.9.9-200.fc40.x86_64) fails
> - After this patch, we can run some tests, such as xe_exec_basic
> successfully
As far as I understand the purpose of IGT is to test the latest drm-tip
kernels. Also, I would think testing older kernels is of dubious value,
since bugs you would find there would typically have been fixed in later
kernels.
I also consider this patch sort of temporary, I would imagine it can be
reverted after distro kernels have moved to 6.11 where the uapi in this
patch will be available.
With that out of the way, I will approve this patch for merging but I have
a couple of nit-picks below.
>
> Here is an example of the impact of this patch:
> 1. Use Fedora 40 with the following kernel command line arguments:
> "xe.force_probe=* i915.force_probe=!* modprobe.blacklist=i915,ast,snd_hda_intel,xe"
>
> 2. Running IGT without this patch will fail:
> $ sudo ./build/tests/xe_exec_basic
> $ echo $?
> 98
>
> 3. Running after fix applied will succeed:
> sudo ./build/tests/xe_exec_basic
> $ sudo ./build/tests/xe_exec_basic
> $ echo $?
> 0
>
> V2:
> - Cleanup headers from message body
> - Add 'lib/xe/xe_query:' to subject line
Also, note that, assuming you are new here, for IGT and kernel, the commit
message should explain the "why" or the reason for the patch. So I would
think the above commit message can be condensed, but that is up to you,
it's ok with me.
>
> Signed-off-by: Peter Senna Tschudin <peter.senna@intel.com>
> ---
> lib/xe/xe_query.c | 6 +++++-
> tests/intel/xe_oa.c | 9 ++++++++-
> 2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
> index 84eaaac96..f0643e1bc 100644
> --- a/lib/xe/xe_query.c
> +++ b/lib/xe/xe_query.c
> @@ -124,7 +124,11 @@ static struct drm_xe_query_oa_units *xe_query_oa_units_new(int fd)
> .data = 0,
> };
>
> - igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
> + /**
I am seeing, in IGT, the "/**" comment pattern used only for test or
subtest description. So we should just use this pattern for multi-line
comments:
/*
* This is a multi-line comment
*/
> + * Only tests/intel/xe_oa.c needs OA_UNITS
This comment is misleading and needs to be changed. Please change it to
something like (no need for multi-line comment either):
/* Support older kernels where this uapi is not yet available */
Since this is the real reason for this change.
> + */
> + if (igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query) != 0)
No need for "!= 0", just do:
if (igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query))
> + return NULL;
>
> oa_units = malloc(query.size);
> igt_assert(oa_units);
> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> index ff2218300..dd02f8608 100644
> --- a/tests/intel/xe_oa.c
> +++ b/tests/intel/xe_oa.c
> @@ -4503,6 +4503,7 @@ static const char *xe_engine_class_name(uint32_t engine_class)
> igt_main
> {
> struct drm_xe_engine_class_instance *hwe = NULL;
> + struct xe_device *xe_dev;
>
> igt_fixture {
> struct stat sb;
> @@ -4527,7 +4528,13 @@ igt_main
> igt_assert_eq(drm_fd, -1);
>
> drm_fd = drm_open_driver(DRIVER_XE);
> - xe_device_get(drm_fd);
> + xe_dev = xe_device_get(drm_fd);
> +
> + /**
> + * This test needs OA_UNITS to run, see xe_query_oa_units_new()
> + * on lib/xe/xe_query.c
Here just say:
/* See xe_query_oa_units_new() */
Kernel style is to minimize comments and also minimize unnecessary
verbosity in comments.
> + */
> + igt_require(xe_dev->oa_units);
>
> devid = intel_get_drm_devid(drm_fd);
> sysfs = igt_sysfs_open(drm_fd);
> --
> 2.34.1
>
Please fix these things up and resend. Then I will will R-b and merge the
patch.
Thanks.
--
Ashutosh
next prev parent reply other threads:[~2024-07-26 15:01 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 14:03 [PATCH i-g-t v2] lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests Peter Senna Tschudin
2024-07-25 17:30 ` ✓ CI.xeBAT: success for " Patchwork
2024-07-25 17:42 ` ✓ Fi.CI.BAT: " Patchwork
2024-07-25 21:25 ` ✗ CI.xeFULL: failure " Patchwork
2024-07-26 5:07 ` ✓ CI.xeBAT: success for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev2) Patchwork
2024-07-26 5:18 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-07-26 6:26 ` ✓ CI.xeBAT: success for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev3) Patchwork
2024-07-26 6:36 ` ✓ Fi.CI.BAT: " Patchwork
2024-07-26 10:31 ` ✗ Fi.CI.IGT: failure for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests Patchwork
2024-07-26 14:43 ` Dixit, Ashutosh [this message]
2024-07-26 15:01 ` ✗ CI.xeFULL: failure for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev2) Patchwork
2024-07-26 16:27 ` ✗ CI.xeFULL: failure for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev3) Patchwork
2024-07-27 0:01 ` ✗ Fi.CI.IGT: " Patchwork
2024-07-29 5:25 ` [PATCH i-g-t v3] Do not require QUERY_OA_UNITS for all Xe tests Peter Senna Tschudin
2024-07-29 7:00 ` Dixit, Ashutosh
2024-07-29 17:41 ` Kamil Konieczny
2024-07-29 5:55 ` ✓ CI.xeBAT: success for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev4) Patchwork
2024-07-29 6:12 ` ✓ Fi.CI.BAT: " Patchwork
2024-07-29 7:33 ` ✗ CI.xeFULL: failure " Patchwork
2024-07-29 11:24 ` ✗ Fi.CI.IGT: " Patchwork
2024-07-31 11:17 ` [PATCH i-g-t v4] lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests Peter Senna Tschudin
2024-07-31 15:24 ` Kamil Konieczny
2024-08-06 19:48 ` Dixit, Ashutosh
2024-07-31 13:58 ` ✓ CI.xeBAT: success for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev5) Patchwork
2024-07-31 14:11 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-07-31 15:13 ` Kamil Konieczny
2024-07-31 15:52 ` ✗ CI.xeFULL: " Patchwork
2024-08-02 9:40 ` ✓ CI.xeBAT: success for lib/xe/xe_query: Do not require QUERY_OA_UNITS for all Xe tests (rev6) Patchwork
2024-08-02 9:43 ` ✓ Fi.CI.BAT: " Patchwork
2024-08-02 10:32 ` ✗ CI.xeFULL: failure " Patchwork
2024-08-08 6:54 ` Peter Senna Tschudin
2024-08-02 20:17 ` ✗ Fi.CI.IGT: " 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=877cd8gqn7.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=peter.senna@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 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.