RE: :Re: :Re: [PATCH v1 3/7] PCI: Let kcmdline reserve bus numbers for hotplug bridges

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: yhlu.kernel@xxxxxxxxx [mailto:yhlu.kernel@xxxxxxxxx] On Behalf Of
> Yinghai Lu
> Sent: Monday, September 21, 2015 17:32
> To: Tang, Jason (ES)
> Cc: Bjorn Helgaas; linux-pci@xxxxxxxxxxxxxxx
> Subject: Re: :Re: [PATCH v1 3/7] PCI: Let kcmdline reserve bus
> numbers for hotplug bridges
> 
> On Mon, Sep 21, 2015 at 9:01 AM, Tang, Jason (ES) <Jason.Tang2@xxxxxxx>
> wrote:
> > I have tested the case where a subsequent bridge has not been probed yet
> and the BIOS is assigning it the same bus number. The behavior I observed
> is that conflicting bus numbers will be fixed during the second pass of
> PCI probing. See pci_scan_bridge() in drivers/pci/probe.c, lines 875-880
> on tag v4.3-rc2. Also observe how patch 7 in my series updates the
> preceding conditional (line 874) to also check if the device is a
> hotpluggable bridge.
> >
> 
> so there is a window that two peer bridges have been configured to
> overlapped bus range?

>From what I have seen, yes, for a brief moment bridges/endpoints will have overlapping numbers. At least on my system, the kernel fixes that problem during pass 2 by reenumerating devices in reverse order.

> >> Also it could even cross the boundary to other peer root bus range.
> >
> > I am not sure what you mean by this. Can you elaborate?
> 
> couple peer bus range:
> root bus 0: [0,7f], root bus [80, ff]
> if one bridge under first root bus get add range blindly, it will
> cross the boundary at 0x7f.

None of my test systems have multiple roots, so I am unable to test this scenario.

��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux