> I thoguht  pre assigning eight buses on each PCI is enough.   There should be
> no need to set it to be 16.  Right ?

That may be acceptable for one particular current hardware implementation, but is completely unacceptable for general use.
Once you transition to PCI-X it is common to have one bus segment per connector so that you can run at the maximum data rate (133M transfers/s, or 266M if you use the dual rate variant).  PCI Express systems will have similar issues, because that architecture is inherently point to point and relies on switches.  The switches create multiple bus segments and look to the software like multiple PCI-PCI bridges.
Some of the large servers I work on have 64 or more bus segments.  Those systems typically run a general purpose OS rather than a real time OS, but it seems unnecessarily limiting to design an API into the RTOS or even into the BSP which is known to be far below the architectural limitations of the bus.

-- Chris Caudle

