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 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.