From: "Chris Friesen" <cfriesen@nortel.com>
To: linux-kernel@vger.kernel.org
Subject: question on pci, ordering, smp, etc.
Date: Fri, 07 Jul 2006 12:24:47 -0600 [thread overview]
Message-ID: <44AEA6EF.1030108@nortel.com> (raw)
Suppose I have a chunk of memory that is visible on the PCI bus. I
ioremap_nocache() it into kernel space on multiple cpus. This memory is
not used by any hardware devices, only the various cpus. No DMA is
involved.
What are the rules for portably accessing this memory? I assume that I
need to use readb/readw/readl/writeb/writew/writel and the other mmio
helpers, and can't access it directly? Given that those all give
little-endian access, is there any way to access without the
byte-swapping on big-endian systems?
How can I portably ensure that a write from one cpu will be visible when
another cpu does a read? Do I need to read from the device on the
original cpu, or is there a way to flush it far enough that the other
cpus will get the updated data even if it hasn't made it all the way
back to the device yet?
Thanks,
Chris
reply other threads:[~2006-07-07 18:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=44AEA6EF.1030108@nortel.com \
--to=cfriesen@nortel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox