Linux PARISC architecture development
 help / color / mirror / Atom feed
From: "Michael S. Zick" <mszick@morethan.org>
To: parisc-linux@lists.parisc-linux.org
Cc: Kyle McMartin <kyle@mcmartin.ca>,
	John David Anglin <dave@hiauly1.hia.nrc.ca>
Subject: Re: [parisc-linux] Heavy Iron Reference Docs
Date: Sun, 30 Apr 2006 18:01:23 -0500	[thread overview]
Message-ID: <200604301801.23210.mszick@morethan.org> (raw)
In-Reply-To: <200604302125.k3ULPDl5016370@hiauly1.hia.nrc.ca>

On Sun April 30 2006 16:25, John David Anglin wrote:
> 
> Note the line doesn't have to be dirty.  Unless extreme care is
> used, the line could have been be brought into cache by a load for
> data elsewhere on the line.  So for correct operation of 'ldcw,co',
> there really must be no inter-processor timing problems in kicking
> out cachelines.  Otherwise, we could end up with two dirty cachelines
> and a broken spinlock.
> 

Somewhere it is written: "No data should be stored on the same cache
line as the lock unless all access is protected by that lock."

I recall the quote, do not recall which document.

That is what you just said above.  It makes sense even if not using
the coherent version of the semaphore instruction.

It makes even more sense if we are directly trying to control the
cache behavior using the coherent version.

One lock per cache line and knowledge of how long the cache line
is on a machine seems to be safe rule for now.

I.E: Fix it first, make it elegant later.

> It may be this is only reliable on fully coherent systems.  While
> the N-class is classified as a UMA machine, it has two system buses
> separated by a memory controller.  Each system bus can handle four
> processors with L1 and L2 cache.  Thus, it would seem safer to adopt
> the prewrite and use ldcw without the cache control completer.
> 

Scratches head...

I wonder where Joel has his processors installed in relation to the
two busses?  Both on same buss or one per buss?  Would his lockups
go away if he picked the other relationship?

I will ask him.  (or perhaps I just did)

Mike
> Dave
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

  reply	other threads:[~2006-04-30 23:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-30  3:50 [parisc-linux] Heavy Iron Reference Docs Michael S. Zick
2006-04-30  4:36 ` John David Anglin
2006-04-30 17:13   ` Kyle McMartin
2006-04-30 21:25     ` John David Anglin
2006-04-30 23:01       ` Michael S. Zick [this message]
2006-04-30 23:28         ` Michael S. Zick
2006-05-02  6:24           ` Grant Grundler
2006-05-02 11:27             ` Michael S. Zick
2006-04-30 23:30         ` John David Anglin
2006-05-01  3:23           ` Michael S. Zick
2006-05-02  6:00       ` Grant Grundler
2006-05-02 15:10         ` John David Anglin
2006-05-02 15:13           ` Kyle McMartin
2006-05-02 15:41             ` John David Anglin
2006-04-30  7:03 ` Grant Grundler
2006-04-30 13:12   ` Michael S. Zick

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=200604301801.23210.mszick@morethan.org \
    --to=mszick@morethan.org \
    --cc=dave@hiauly1.hia.nrc.ca \
    --cc=kyle@mcmartin.ca \
    --cc=parisc-linux@lists.parisc-linux.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