From: sashiko-bot@kernel.org
To: "Alan Previn" <alan.previn.teres.alexis@intel.com>
Cc: dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH] drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums
Date: Tue, 29 Sep 2026 16:18:42 +0000 [thread overview]
Message-ID: <20260929161842.A9DB61F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260929161125.1973918-2-alan.previn.teres.alexis@intel.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] drm/xe: commit message describes dropped design changes
- [Low] drm/xe: preprocessor macro defined inside function body
--
commit 7206a8140e2444dbf990387d48807b42ec0fbee5
Author: Alan Previn <alan.previn.teres.alexis@intel.com>
drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums
This patch bounds the maximum in-loop wait time in __xe_mmio_wait32 to
100ms to avoid excessively large delays. It also caps udelay usage to
MAX_UDELAY_MS for atomic contexts.
> Check for overflow in udelay/usleep_range use in __xe_mmio_wait32
> and pick the correct helper according to the wait time and atomic.
> Implement a similar helper to replace DIV_ROUND_UP for 32-bit CPUs.
[Severity: Low]
Does the commit message need an update here? The text claims to pick the
correct helper according to the wait time and implement a similar helper
to replace DIV_ROUND_UP, but the actual diff only modifies the sleeping
logic and caps the wait times.
It seems the DIV_ROUND_UP redesign was dropped but the description was not
fully updated to reflect this.
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index 7fa18dfcb5a28..5a03698729ce5 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -350,10 +350,11 @@ static int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u
> wait = ktime_us_delta(end, cur);
>
> if (atomic)
> - udelay(wait);
> + udelay(min_t(s64, wait, (MAX_UDELAY_MS * 1000)));
> else
> usleep_range(wait, wait << 1);
[Severity: Medium]
This isn't a bug introduced by this patch, but __xe_mmio_wait32 is called
with wait values that can reach 100,000 microseconds (100ms) due to the
backoff limit. According to the kernel timer guidelines, usleep_range
should only be used for delays under 20ms, while msleep is recommended
for larger delays to avoid using high-overhead hrtimers. Could we switch
to msleep for the longer iterations?
> - wait <<= 1;
> +#define __XE_MMIO_WAIT_MAX_BACKOFF_100MS (100 * USEC_PER_MSEC)
[Severity: Low]
Is it intended to define this preprocessor macro inside the function body?
Macros do not have block scope in C, so placing it here can be stylistically
misleading and will likely trigger checkpatch warnings. Could this be moved
outside the function body?
> + wait = min_t(s64, wait << 1, __XE_MMIO_WAIT_MAX_BACKOFF_100MS);
> }
>
> if (ret != 0) {
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260929161125.1973918-2-alan.previn.teres.alexis@intel.com?part=1
next prev parent reply other threads:[~2026-09-29 16:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 15:25 [PATCH] drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums Alan Previn
2026-09-29 16:18 ` sashiko-bot [this message]
2026-09-29 19:07 ` Teres Alexis, Alan Previn
2026-09-29 16:19 ` ✓ CI.KUnit: success for drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums (rev6) Patchwork
2026-09-29 17:35 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-29 21:03 ` ✗ Xe.CI.FULL: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2026-09-29 19:20 [PATCH] drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums Alan Previn
2026-09-30 3:51 ` Rodrigo Vivi
2026-09-29 5:44 Alan Previn
2026-09-29 5:49 ` sashiko-bot
2026-09-29 17:51 ` Rodrigo Vivi
2026-09-14 21:57 Alan Previn
2026-09-14 22:16 ` sashiko-bot
2026-09-15 7:34 ` Jani Nikula
2026-09-15 16:00 ` Teres Alexis, Alan Previn
2026-09-15 16:43 ` Jani Nikula
2026-09-15 22:51 ` Rodrigo Vivi
2026-09-16 19:10 ` Teres Alexis, Alan Previn
2026-09-17 0:54 ` Rodrigo Vivi
2026-09-17 2:07 ` Teres Alexis, Alan Previn
2026-09-17 18:49 ` Teres Alexis, Alan Previn
2026-09-08 20:33 Alan Previn
2026-09-08 18:56 Alan Previn
2026-09-08 19:03 ` sashiko-bot
2026-09-09 8:00 ` Jani Nikula
2026-09-11 0:05 ` Teres Alexis, Alan Previn
2026-09-07 23:55 Alan Previn
2026-09-08 0:02 ` sashiko-bot
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=20260929161842.A9DB61F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=alan.previn.teres.alexis@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=sashiko-reviews@lists.linux.dev \
/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