PCI-64: how to find

Donald Becker becker at scyld.com
Thu Feb 7 15:07:36 PST 2002

On Thu, 7 Feb 102, Mikhail Kuzminsky wrote:

> I want to find some confirmation that my installed
> RH 7.2 "understand" that it works with PCI-64.

This is kernel issue mostly unrelated to distribution that you are using.

There are three aspects of 64 bit PCI operation
    data width,
    target address size, and
    master address size.

The aspect people commonly think of is 64 bit master addresses.  This
means the PCI device can read and write anywhere in the host's 64 bit
address space.  This doesn't require a 64 bit slot.  When a 64 bit
address chip has a 32 bit PCI connection it uses "dual address cycle"
mode to send the address.  Smarter chips optimize this by using
standard single address cycles when the upper address bits are all '0'.

The aspect that has the biggest performance impact on current machines
is data bus width.  64 bit slots means that you might get 2X the
performance for burst transfers.

No one really cares about target address size.  No reasonable PCI device
uses up so much address space that 32 bits isn't enough to address
Still, some devices do have 64 bit Base Address Registers.

> (We are using some dual mobos from Tyan which supports
> 64-bit PCI slots). We have Intel Pro1000T NICs installed
> in PCI-64 slots, but I didn't find any information
> that Linux works in "PCI-64" mode.

You wouldn't -- the BIOS and PCI device handles this automatically,
perhaps with some tweaks from the device driver.
There is usually an override for the few old motherboards that didn't
correctly wire up the bus width sensing pins.

> May be this information  must be presented somewhere
> (/proc/pci, /var/log/messages etc ) ?

The PCI configuration space bits report 64 bit capabilities -- use

Donald Becker				becker at scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993

More information about the Beowulf mailing list