Re: [Patch 1/1] x86 pci: Add option to not assign BAR's if not already assigned

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mike Travis
Date: Thursday, May 13, 2010 - 12:12 pm

Bjorn Helgaas wrote:

The problem arises because we run out of address spaces to assign.

Say you have 24 cards, and the 1st 16 do not use I/O BARs.  If
you assign the available 16 address spaces to cards that may not
need them, then the final 8 cards will not be available.

This avoids this problem by not wasting I/O address spaces when
they are not going to be used.


I think since this is so specific (like the potential of having
more than 16 cards would be something the customer would know),
I think it's better to error on the safe side.  If a BIOS does
not recognize an add in card (for whatever reason), and does
not assign the I/O BAR, then it would be up to the kernel to
do that.  Wouldn't you get more customer complaints about non-working
I/O, than someone with > 16 PCI cards not being able to use them
all?


We were going for as light a touch as possible, as there is not
time to verify other arches.  I'd be glad to submit a follow on
patch dealing with the generic case and depend on others for
testing, if that's of interest.

Note we also modeled the option to be identical in operation to
the pci=norom option, which is a similar x86 specific function.


16+ PCI devices is a fairly large amount.  Are there any other PC's
that handle this much I/O?

That's a great idea if it can work.  Unfortunately, we are all tied
to the way BIOS sets up the system, and for UV systems I don't think
dynamic provisioning would work.  There's too much infrastructure
that all has to cooperate by the time the system is fully functional.


Thanks for the feedback.

Mike

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [Patch 1/1] x86 pci: Add option to not assign BAR's if ..., Mike Travis, (Thu May 13, 12:12 pm)