From: torvalds@transmeta.com (Linus Torvalds)
To: linux-kernel@vger.kernel.org
Subject: Re: test13-pre5
Date: 31 Dec 2000 11:15:51 -0800 [thread overview]
Message-ID: <92o0l7$h5v$1@penguin.transmeta.com> (raw)
In-Reply-To: <20001231182127.A24348@gruyere.muc.suse.de> <Pine.LNX.4.10.10012310924500.4029-100000@penguin.transmeta.com> <20001231200741.F28963@mea-ext.zmailer.org>
In article <20001231200741.F28963@mea-ext.zmailer.org>,
Matti Aarnio <matti.aarnio@zmailer.org> wrote:
>
> Actually nothing SMP specific in that problem sphere.
> Alpha has load-locked/store-conditional pair for
> this type of memory accesses to automatically detect,
> and (conditionally) restart the operation - to form
> classical ``locked-read-modify-write'' operations.
Sure, we could make the older alphas use ldl_l stl_c for byte accesses,
but if you thought byte accesses on those machines were kind-of slow
before, just WAIT until that happens.
Old alpha machines (the same ones that would need this code) were
HORRIBLE at ldl_l<->stl_c: they go out all the way to the bus to set the
lock. So suddenly your every byte access ends up being a few hundred
cycles!
So ldl_l/stc_l is not the answer. It would work, but it would be so
slow that you'd be a lot better off not doing it.
I think they fixed ldl/stc later on (so that it only sets a bit locally
that gets cleared by the cache coherency protocol), but as later alphas
have the byte accesses anyway that doesn't matter here. The faster
ldl/stc makes for much faster spinlocks on newer alphas, though.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2000-12-31 19:46 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-12-28 20:25 test13-pre5 Linus Torvalds
2000-12-28 18:39 ` test13-pre5 Marcelo Tosatti
2000-12-28 20:59 ` test13-pre5 Linus Torvalds
2000-12-28 19:22 ` test13-pre5 Marcelo Tosatti
2000-12-28 21:21 ` [wildly off-topic] test13-pre5 Rik van Riel
2000-12-28 19:31 ` Marcelo Tosatti
2000-12-28 21:39 ` test13-pre5 Daniel Phillips
2000-12-28 22:14 ` test13-pre5 Marcelo Tosatti
2000-12-29 1:10 ` test13-pre5 Linus Torvalds
2000-12-29 12:06 ` test13-pre5 Daniel Phillips
2000-12-28 22:17 ` test13-pre5 Andi Kleen
2000-12-28 22:33 ` test13-pre5 David S. Miller
2000-12-28 22:58 ` test13-pre5 Andi Kleen
2000-12-28 22:54 ` test13-pre5 David S. Miller
2000-12-28 23:17 ` test13-pre5 Andi Kleen
2000-12-28 23:14 ` test13-pre5 David S. Miller
2000-12-28 23:39 ` test13-pre5 Andi Kleen
2000-12-28 23:25 ` test13-pre5 Rik van Riel
2000-12-28 23:36 ` test13-pre5 Linus Torvalds
2000-12-28 23:03 ` test13-pre5 Rik van Riel
2000-12-29 15:46 ` test13-pre5 Mark Hemment
2000-12-29 16:30 ` test13-pre5 Tim Wright
2000-12-29 17:54 ` test13-pre5 Mark Hemment
2000-12-29 21:23 ` test13-pre5 David S. Miller
2000-12-29 21:51 ` test13-pre5 Linus Torvalds
2000-12-28 23:15 ` test13-pre5 Linus Torvalds
2000-12-28 23:25 ` test13-pre5 Andi Kleen
2000-12-28 23:37 ` test13-pre5 Linus Torvalds
2000-12-28 23:43 ` test13-pre5 Andi Kleen
2000-12-29 0:49 ` test13-pre5 Stefan Traby
2000-12-29 1:23 ` test13-pre5 Linus Torvalds
2000-12-29 1:06 ` test13-pre5 Albert Cranford
2000-12-29 14:53 ` test13-pre5 Stefan Traby
2000-12-30 13:24 ` test13-pre5 Geert Uytterhoeven
2000-12-31 17:21 ` test13-pre5 Andi Kleen
2000-12-31 17:27 ` test13-pre5 Linus Torvalds
2000-12-31 17:36 ` test13-pre5 Andi Kleen
2000-12-31 18:19 ` test13-pre5 Andrea Arcangeli
2000-12-31 18:06 ` test13-pre5 Andi Kleen
2000-12-31 18:07 ` test13-pre5 Matti Aarnio
2000-12-31 19:15 ` Linus Torvalds [this message]
2000-12-31 19:49 ` test13-pre5 Andi Kleen
2000-12-31 18:10 ` test13-pre5 Andrea Arcangeli
2001-01-01 19:58 ` test13-pre5 H. Peter Anvin
2000-12-29 16:49 ` [PATCH] filemap_fdatasync & related changes Marcelo Tosatti
2000-12-29 21:13 ` Linus Torvalds
2001-01-03 16:37 ` Chris Mason
2001-01-03 17:07 ` Daniel Phillips
2001-01-03 18:28 ` Linus Torvalds
2001-01-03 19:09 ` Chris Mason
2001-01-03 21:39 ` Chris Wedgwood
2001-01-04 18:46 ` Stephen C. Tweedie
2001-01-04 9:48 ` Christoph Rohland
2001-01-04 14:41 ` Marcelo Tosatti
2001-01-04 16:58 ` Rik van Riel
2001-01-04 17:38 ` Chris Mason
2001-01-04 18:00 ` Linus Torvalds
2001-01-04 22:52 ` Daniel Phillips
2001-01-04 15:30 ` Chris Mason
2001-01-04 17:01 ` Christoph Rohland
2000-12-28 21:27 ` test13-pre5 (via82cxxx_audio.c) Jonathan Hudson
2000-12-29 18:17 ` test13-pre5 Tom Rini
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='92o0l7$h5v$1@penguin.transmeta.com' \
--to=torvalds@transmeta.com \
--cc=linux-kernel@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.