From: David Mosberger <davidm@napali.hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] [patch] 2.4.20-ia64-021210 new spinlock code
Date: Thu, 27 Mar 2003 20:29:04 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590723705337@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590709805543@msgid-missing>
>>>>> On Sat, 15 Mar 2003 21:31:53 +1100, Keith Owens <kaos@sgi.com> said:
Keith> On Fri, 14 Mar 2003 22:46:28 -0800,
Keith> David Mosberger <davidm@napali.hpl.hp.com> wrote:
>> I thought about it some more and recalled why I was so uneasy about
>> claiming ar.pfs is 0: the problem is that this informs that the
>> _previous_ register frame was empty, not the current one. So the
>> unwind info technically is still wrong. I think you realize that, and
>> the kernel unwinder won't complain, since it's not paranoid about
>> validating accesses to stacked registers. But still, the unwind info
>> is wrong and I'm not terribly comfortable with that.
Keith> I agree, but the end result is benign.
I disagree. A bug is a bug. Relying on implementation-specific
behavior of one particular unwinder doesn't change that.
Keith> Unwind needs a way of saying "this is out of line code, not a
Keith> function, and its state is the same as this ip". But without
Keith> that feature in the unwind spec, this is probably the best
Keith> that we can do. It is a pity that unwind thinks that
Keith> everything is a function and did not consider out of line
Keith> code.
Keith> How about putting the new spinlock code in now so I can
Keith> continue with adding kdb support for debugging hung
Keith> spinlocks? Even with the swapped arg list, any debug data on
Keith> hung spinlocks is better than none at all. I will think some
Keith> more about the unwind descriptors to see if there is any way
Keith> of avoiding the misattribution of the register usage, but the
Keith> worst case is that we live with the swapped argument list.
My experience tells me that if I put in the code now, nobody will work
on a corrected version.
I think it makes sense to start a discussion of extending the unwind
spec to make it easier to accommodate what we're trying to do here. A
similar facility already exists in libunwind for dynamic unwind info
(since runtime function cloning naturally leads to the same issue).
Can you start this discussion?
--david
next prev parent reply other threads:[~2003-03-27 20:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-11 12:48 [Linux-ia64] [patch] 2.4.20-ia64-021210 prevent loop on zero instruction Keith Owens
2003-03-14 4:39 ` [Linux-ia64] [patch] 2.4.20-ia64-021210 unwind.c - allow unw_access_gr(r0) Keith Owens
2003-03-15 0:01 ` Bjorn Helgaas
2003-03-15 1:10 ` [Linux-ia64] [patch] 2.4.20-ia64-021210 new spinlock code Keith Owens
2003-03-15 1:30 ` David Mosberger
2003-03-15 2:36 ` Keith Owens
2003-03-15 2:40 ` Keith Owens
2003-03-15 6:46 ` David Mosberger
2003-03-15 10:31 ` Keith Owens
2003-03-27 20:29 ` David Mosberger [this message]
2003-03-27 23:15 ` Keith Owens
2003-03-27 23:32 ` David Mosberger
2003-03-28 1:39 ` Keith Owens
2003-03-28 1:45 ` David Mosberger
2003-03-28 1:49 ` Keith Owens
2003-03-28 1:53 ` David Mosberger
2003-03-28 2:10 ` Keith Owens
2003-03-28 2:14 ` David Mosberger
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=marc-linux-ia64-105590723705337@msgid-missing \
--to=davidm@napali.hpl.hp.com \
--cc=linux-ia64@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox