All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gabriel Paubert <paubert@iram.es>
To: wilhardt@synergymicro.com
Cc: Dan Malek <dan@embeddededge.com>, linuxppc-dev@lists.linuxppc.org
Subject: Re: MPC7455 and lwarx
Date: Wed, 27 Nov 2002 18:32:49 +0100	[thread overview]
Message-ID: <3DE501C1.2080700@iram.es> (raw)
In-Reply-To: 3DE4FCC9.E62EF5B1@synergymicro.com


Dave Wilhardt wrote:
>>
>>Why do you want to use these instructions on a data space that isn't
>>cached?  Further, why are you running this class of processor with
>>uncached memory?
>>
>
>
> I have a "shared memory" region that is used between VME boards in
> a chassis.  The "master pool" is located on the system controller in DRAM.
> In order to maintain coherency between the boards, I have marked the region
> as non cached.  This was fine for non-MPC745x boards.  Time for a redesign...


Are you sure that it even worked to start with ? Consider a system with 3
processor boards (processor 1 is the system controller):
- processor 2 does lwarx on the shared memory
- processor 3 does another lwarx before 2 has time to perform the stwcx.
- processor 2 does the stwcx.
- processor 3 does not notice it since the address is taken by processor 1
VME<->PCI bridge and it does not snoop it
- processor 3 does the stwcx. but modifies a stale value, for example a
counter will be incremented once instead of twice, or both processors will
have taken a lock and who knows what the consequences are.

I believe that the scheme could work with 2 master boards accessing shared
memory on one of the boards, never with 3 or more.

As the author of one of the Tundra Universe drivers, I'd suggest using
semaphores to do this. Disclaimer, Ie never used them since several of my
boards have a Universe I (with an impressive list of bugs) and all are
single master systems. So I never defined an API to access the semaphores
in my drivers.

	Regards,
	Gabriel.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

      reply	other threads:[~2002-11-27 17:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-26 22:00 MPC7455 and lwarx Dave Wilhardt
2002-11-27 13:00 ` Gabriel Paubert
2002-11-27 14:46   ` Dan Malek
2002-11-27 17:11     ` Dave Wilhardt
2002-11-27 17:32       ` Gabriel Paubert [this message]

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=3DE501C1.2080700@iram.es \
    --to=paubert@iram.es \
    --cc=dan@embeddededge.com \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=wilhardt@synergymicro.com \
    /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.