Re: One problem in reassign pci bus number?

From: Richard Yang
Date: Mon May 07 2012 - 22:46:45 EST


On Sun, May 06, 2012 at 07:04:09PM -0700, Yinghai Lu wrote:
>On Sun, May 6, 2012 at 6:17 PM, Richard Yang <weiyang@xxxxxxxxxxxxxxxxxx> wrote:
>> so this free space will be combined with the free space got from
>> parent, form a big space to meet the requirement.
>>
>> This is the general idea about probe_resource()?
>>
>> And this is the design decision to find the free space at the end
>> of top, even at the start we have more free space?
>
>no, probe_resource will get from start if space is big enough.
>
>if not, it will try to extend top.

Hmm... for example we still have this
parent[70-160]
brother1[70-80] res[90-150] brother2[151-160]
->child[105-140]

if we call probe_resource(res, new_res, 16, par, 1, 0xff,
IORESOURCE_PCI_FIXED);

I think this call is used to allocate a res of size 16 under res.
When there is no enough free space, it will expend res, and res->parent.

While in this situation, res doesn't have enough free space. so it need
to expend itself.

In the probe_resource() it tries to extend res on the right side.
So even there is enough space between brother1 and res, I think the
probe_resource() will not return 0.

Do you think my analysis is correct?
>
>Yinghai

--
Richard Yang
Help you, Help me

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/