public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: is pci_alloc_consistent() really consistent on a pentium?
  2002-05-30 20:44 is pci_alloc_consistent() really consistent on a pentium? William Chow
@ 2002-05-30 20:35 ` David S. Miller
  2002-05-31 20:58   ` William Chow
  0 siblings, 1 reply; 3+ messages in thread
From: David S. Miller @ 2002-05-30 20:35 UTC (permalink / raw)
  To: lilbilchow; +Cc: linux-kernel

   From: William Chow <lilbilchow@yahoo.com>
   Date: Thu, 30 May 2002 13:44:06 -0700 (PDT)

   If IA32 builds use the i386 version of
   pci_alloc_consistent(), how is the memory provided by
   this function really write-thru (on a pentium) since
   it appears to only set up the default mapping
   (PCD/PWT==0)? In contrast, pgprot_noncached() and
   pci_mmap_page_range() explicitly set these bits on a
   pentium (i.e. when boot_cpu_data.x86 > 3). Or am I
   missing something?

pci_mmap_page_range maps I/O memory, like frame buffers and
device registers.

pci_alloc_consistent promises only that CPU writes will be coherent
with PCI device DMA activity.  For Pentium this holds true with all
normal ram, because once the cpu does the store coherent transactions
on the system bus (from, for example, the PCI device) will take a hit
on the L2 cache line of the cpu and thus the cpu will provide the most
up to date copy of the data.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* is pci_alloc_consistent() really consistent on a pentium?
@ 2002-05-30 20:44 William Chow
  2002-05-30 20:35 ` David S. Miller
  0 siblings, 1 reply; 3+ messages in thread
From: William Chow @ 2002-05-30 20:44 UTC (permalink / raw)
  To: linux-kernel

If IA32 builds use the i386 version of
pci_alloc_consistent(), how is the memory provided by
this function really write-thru (on a pentium) since
it appears to only set up the default mapping
(PCD/PWT==0)? In contrast, pgprot_noncached() and
pci_mmap_page_range() explicitly set these bits on a
pentium (i.e. when boot_cpu_data.x86 > 3). Or am I
missing something?

Please CC me on the response.

- William Chow

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: is pci_alloc_consistent() really consistent on a pentium?
  2002-05-30 20:35 ` David S. Miller
@ 2002-05-31 20:58   ` William Chow
  0 siblings, 0 replies; 3+ messages in thread
From: William Chow @ 2002-05-31 20:58 UTC (permalink / raw)
  To: David S. Miller; +Cc: linux-kernel

Thanks much for the response.

Can you point me at any sources/references that can
enlighten me on how this works? I did find some
additional information in the IA32 s/w dev guide
(particularly, vol 3-10.3.2) which reiterated your
response, but it seemed to give short shrift to the
mechanism behind it (it suggested that the magic was
in the snooping by the memory controller and cpu).

--- "David S. Miller" <davem@redhat.com> wrote:
>    From: William Chow <lilbilchow@yahoo.com>
>    Date: Thu, 30 May 2002 13:44:06 -0700 (PDT)
> 
>    If IA32 builds use the i386 version of
>    pci_alloc_consistent(), how is the memory
> provided by
>    this function really write-thru (on a pentium)
> since
>    it appears to only set up the default mapping
>    (PCD/PWT==0)? In contrast, pgprot_noncached() and
>    pci_mmap_page_range() explicitly set these bits
> on a
>    pentium (i.e. when boot_cpu_data.x86 > 3). Or am
> I
>    missing something?
> 
> pci_mmap_page_range maps I/O memory, like frame
> buffers and
> device registers.
> 
> pci_alloc_consistent promises only that CPU writes
> will be coherent
> with PCI device DMA activity.  For Pentium this
> holds true with all
> normal ram, because once the cpu does the store
> coherent transactions
> on the system bus (from, for example, the PCI
> device) will take a hit
> on the L2 cache line of the cpu and thus the cpu
> will provide the most
> up to date copy of the data.


__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-05-31 20:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-30 20:44 is pci_alloc_consistent() really consistent on a pentium? William Chow
2002-05-30 20:35 ` David S. Miller
2002-05-31 20:58   ` William Chow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox