All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lauri Kasanen <cand@gmx.com>
To: "Christian König" <deathsimple@vodafone.de>
Cc: "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] drm/radeon: Inline r100_mm_rreg
Date: Fri, 11 Apr 2014 10:52:01 +0300	[thread overview]
Message-ID: <20140411105201.57ea4a1b.cand@gmx.com> (raw)
In-Reply-To: <5346F13B.6060604@vodafone.de>

On Thu, 10 Apr 2014 21:30:03 +0200
Christian König <deathsimple@vodafone.de> wrote:

> >>> Quick thought from someone entirely unfamiliar with the hardware:
> >>> perhaps you can get the performance benefit without the size increase
> >>> by moving the else portion into a non-inline function? I'm guessing
> >>> that most accesses happen in the "if" branch.
> >> The function call overhead is about equal to branching overhead, so
> >> splitting it would only help about half that. It's called from many
> >> places, and a lot of calls per sec.
> 
> Actually direct register access shouldn't be necessary so often. Apart 
> from page flips, write/read pointer updates and irq processing there 
> shouldn't be so many of them. Could you clarify a bit more what issue 
> you are seeing here?

Too much cpu usage for such a simple function. 2% makes it #2 in top-10
radeon.ko functions, right after evergreen_cs_parse. For reference, #3
(radeon_cs_packet_parse) is only 0.5%, one fourth of this function's
usage.

As proved by the perf increase, it's called often enough that getting
rid of the function call overhead (and compiling the if out
compile-time) helps measurably.

- Lauri

  reply	other threads:[~2014-04-11  7:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-10 13:08 [PATCH] drm/radeon: Inline r100_mm_rreg Lauri Kasanen
2014-04-10 16:19 ` Ilia Mirkin
2014-04-10 18:46   ` Lauri Kasanen
2014-04-10 18:52     ` Ilia Mirkin
2014-04-10 19:30       ` Christian König
2014-04-11  7:52         ` Lauri Kasanen [this message]
2014-04-11  8:33           ` Christian König
2014-04-11  9:54             ` Lauri Kasanen
2014-04-11 12:32               ` Christian König
2014-04-11 16:47                 ` Lauri Kasanen
2014-04-11 17:38                 ` Lauri Kasanen

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=20140411105201.57ea4a1b.cand@gmx.com \
    --to=cand@gmx.com \
    --cc=deathsimple@vodafone.de \
    --cc=dri-devel@lists.freedesktop.org \
    /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.