From: Jaime Velasco Juan <jsagarribay@gmail.com>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: airlied@linux.ie, dri-devel@lists.sourceforge.net
Subject: Re: [PATCH] radeon/PM Really wait for vblank before reclocking
Date: Tue, 16 Feb 2010 13:41:41 +0000 [thread overview]
Message-ID: <20100216134141.GA4066@pogo> (raw)
In-Reply-To: <b170af451002150952t4e98db3axa9703adc26547ee2@mail.gmail.com>
El lun. 15 de feb. de 2010, a las 18:52:46 +0100, Rafał Miłecki escribió:
> 2010/2/15 Jaime Velasco Juan <jsagarribay@gmail.com>:
> > The old code used a false condition so it always waited until
> > timeout
> >
> > Signed-off-by: Jaime Velasco Juan <jsagarribay@gmail.com>
> > ---
> > drivers/gpu/drm/radeon/radeon_pm.c | 10 ++++++----
> > 1 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
> > index a8e151e..842952f 100644
> > --- a/drivers/gpu/drm/radeon/radeon_pm.c
> > +++ b/drivers/gpu/drm/radeon/radeon_pm.c
> > @@ -337,10 +337,12 @@ static void radeon_pm_set_clocks(struct radeon_device *rdev)
> > rdev->pm.req_vblank |= (1 << 1);
> > drm_vblank_get(rdev->ddev, 1);
> > }
> > - if (rdev->pm.active_crtcs)
> > - wait_event_interruptible_timeout(
> > - rdev->irq.vblank_queue, 0,
> > - msecs_to_jiffies(RADEON_WAIT_VBLANK_TIMEOUT));
> > + if (rdev->pm.active_crtcs) {
> > + long timeout = msecs_to_jiffies(RADEON_WAIT_VBLANK_TIMEOUT);
> > + __wait_event_interruptible_timeout(
> > + rdev->irq.vblank_queue, 1,
> > + timeout);
> > + }
>
> Yeah, it seems logic was wrong, thanks.
>
> Two questions: is there some real reason for using "timeout" variable?
> We don't re-use this anywhere. It seems useless, doesn't make code
> shorter, forces braces usage and you defined this inside braces, not
> on beginning of function, as kernel coding style says. Can you just
> drop this redundant variable?
>
> Second: could you say what is "better" in using
> __wait_event_interruptible_timeout? Is this faster (doesn't check
> condition) or something?
>
I just took the code from the definition of wait_event_interruptible_timeout;
that macro checks the condition before calling
__wait_event_interruptible_timeout, where the task really goes to sleep,
but __wait_event_interruptible_timeout changes the timeout parameter, so
it needs to be a variable. I just tried to do the smallest change to the
code. It's true that almost nobody else use this macro directly.
Even with this, I still see some ocasional glitches when reclocking the
engine, but this does not stall rendering for 200ms as before (it was
very noticeable). This has nothing to do with this patch, but is it really
needed to take cp.mutex in radeon_pm_set_clocks? I've been doing some
testing without doing it and it doesn't seem to break anything.
Regards
> --
> Rafał
------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
next prev parent reply other threads:[~2010-02-16 13:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-15 15:09 [PATCH] radeon/PM Really wait for vblank before reclocking Jaime Velasco Juan
2010-02-15 17:52 ` Rafał Miłecki
2010-02-16 13:41 ` Jaime Velasco Juan [this message]
2010-02-16 15:54 ` Alex Deucher
2010-02-17 18:22 ` Rafał Miłecki
2010-02-17 18:33 ` Rafał Miłecki
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=20100216134141.GA4066@pogo \
--to=jsagarribay@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.sourceforge.net \
--cc=zajec5@gmail.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.