From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@osdl.org>,
Zwane Mwaikambo <zwane@fsmlabs.com>,
linux-kernel@vger.kernel.org, wli@holomorphy.com
Subject: Re: [PATCH] remove LOCK_SECTION from x86_64 spin_lock asm
Date: Thu, 16 Sep 2004 09:44:31 +0200 [thread overview]
Message-ID: <20040916074431.GA13713@elte.hu> (raw)
In-Reply-To: <20040916072959.GH12915@wotan.suse.de>
* Andi Kleen <ak@suse.de> wrote:
> Something is mixed up here:
>
> The whole problem only happens on kernels using frame pointer. I never
> saw it, simply because I don't use frame pointers.
>
> On a frame pointer less kernel profiling works just fine, and with
> this fix it should work the same on a FP kernel.
it only works on pointer less kernels because the spinlock profile
unwinding is _conditional_ on an FP kernel right now:
#if defined(CONFIG_SMP) && defined(CONFIG_FRAME_POINTER)
unsigned long profile_pc(struct pt_regs *regs)
{
...
on non-FP kernels you'll see all the overhead in the single spin_lock()
function, agreed?
> > in this respect - it might work if you can detect for sure at build time
> > whether there's any local variable. Tricks like this really tend to
> > haunt us later.
>
> There are already lots of such assumptions in the kernel (e.g. WCHAN
> and others). I don't think adding one more is a big issue.
wchan has only one assumption: that that all __sched section functions
have a valid frame pointer. This is not unrobust at all. (it is
nonperformant though on register-starved platforms and having proper
unwind would fix wchan too.) In fact ->real_pc could be used by __sched
functions as well, it would likely be cheaper (on x86) than having to
compile with -fno-omit-frame-pointers.
Ingo
next prev parent reply other threads:[~2004-09-16 7:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-15 16:01 [PATCH] remove LOCK_SECTION from x86_64 spin_lock asm Zwane Mwaikambo
2004-09-15 21:45 ` Andrew Morton
2004-09-15 17:55 ` Zwane Mwaikambo
2004-09-15 21:47 ` Ingo Molnar
2004-09-16 6:13 ` Andi Kleen
2004-09-16 6:27 ` Ingo Molnar
2004-09-16 6:44 ` Andi Kleen
2004-09-16 6:51 ` Ingo Molnar
2004-09-16 6:53 ` Andi Kleen
2004-09-16 6:58 ` Ingo Molnar
2004-09-16 7:09 ` Andi Kleen
2004-09-16 7:19 ` Ingo Molnar
2004-09-16 7:29 ` Andi Kleen
2004-09-16 7:44 ` Ingo Molnar [this message]
2004-09-16 7:53 ` Andi Kleen
2004-09-16 9:01 ` Andi Kleen
2004-09-16 12:44 ` Zwane Mwaikambo
2004-09-16 19:30 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2004-09-15 22:42 Andrew Chew
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=20040916074431.GA13713@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=wli@holomorphy.com \
--cc=zwane@fsmlabs.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.