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: Sat, 15 Mar 2003 01:30:01 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590709806127@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590709805543@msgid-missing>
>>>>> On Sat, 15 Mar 2003 12:10:38 +1100, Keith Owens <kaos@sgi.com> said:
Keith> Patch is against 2.4.20-ia64-021210. Reduce the uncontended
Keith> spinlock path from 5 bundles to 3 (McKinley) or 4 (Itanium),
Keith> both have one less memory access on the uncontended path.
Keith> Move the contended path out of line so we can do exponential
Keith> backoff, kdb, lock metering etc. in one place.
Keith> David, closing the 1 bundle unwind window was a bit harder
Keith> than I expected, it turns out that altrp does not specify
Keith> where it applies, it is prologue global. To get altrp to
Keith> apply after mov b7=r28, I needed multiple prologues and
Keith> bodies. AFAICT this will unwind correctly on any instruction
Keith> within ia64_spinlock_contention. Could you verify that on
Keith> your simulator (assuming it supports .save ar.pfs,r0)?
I think it's correct, but more complicated than it has to be: you
should be able to use the general directive ".spillreg rp, b7" instead
of ".altrp".
Another suggestion: use #ifndef CONFIG_ITANIUM instead of #ifdef
CONFIG_MCKINLEY. This ensures that brl will be used on future CPUs as
well (as it should be).
--david
next prev parent reply other threads:[~2003-03-15 1:30 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 [this message]
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
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-105590709806127@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