[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2dae83e3-6fee-4e66-964e-c7baf46eecd8@suse.de>
Date: Tue, 28 Oct 2025 18:14:55 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: Chintan Patel <chintanlike@...il.com>, maarten.lankhorst@...ux.intel.com,
maxime.ripard@...nel.org, airlied@...il.com, simona@...ll.ch
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
syzbot+147ba789658184f0ce04@...kaller.appspotmail.com
Subject: Re: [PATCH v4] drm/vblank: Increase timeout in drm_wait_one_vblank()
Am 28.10.25 um 04:43 schrieb Chintan Patel:
> Currently, wait_event_timeout() in drm_wait_one_vblank() uses a 100ms
> timeout. Under heavy scheduling pressure or rare delayed vblank
> handling, this can trigger WARNs unnecessarily.
>
> Increase the timeout to 1000ms to reduce spurious WARNs, while still
> catching genuine issues.
Thanks a lot.
>
> Reported-by: syzbot+147ba789658184f0ce04@...kaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=147ba789658184f0ce04
> Tested-by: syzbot+147ba789658184f0ce04@...kaller.appspotmail.com
> Signed-off-by: Chintan Patel <chintanlike@...il.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@...e.de>
>
> v2:
> - Dropped unnecessary in-code comment (suggested by Thomas Zimmermann)
> - Removed else branch, only log timeout case
>
> v3:
> - Replaced drm_dbg_kms()/manual logging with drm_err() (suggested by Ville Syrjälä)
> - Removed unnecessary curr = drm_vblank_count() (suggested by Thomas Zimmermann)
> - Fixed commit message wording ("invalid userspace calls" → "delayed vblank handling")
>
> v4:
> - Keep the original drm_WARN() to catch genuine kernel issues
> - Increased timeout from 100ms → 1000ms to reduce spurious WARNs (suggested by Thomas Zimmermann)
> ---
> drivers/gpu/drm/drm_vblank.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 46f59883183d..f779103b261b 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1303,7 +1303,7 @@ void drm_wait_one_vblank(struct drm_device *dev, unsigned int pipe)
>
> ret = wait_event_timeout(vblank->queue,
> last != drm_vblank_count(dev, pipe),
> - msecs_to_jiffies(100));
> + msecs_to_jiffies(1000));
>
> drm_WARN(dev, ret == 0, "vblank wait timed out on crtc %i\n", pipe);
>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
Powered by blists - more mailing lists