[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5769E4ED.4050904@huawei.com>
Date: Wed, 22 Jun 2016 09:07:57 +0800
From: wangyijing <wangyijing@...wei.com>
To: Bjorn Helgaas <helgaas@...nel.org>
CC: Bjorn Helgaas <bhelgaas@...gle.com>,
Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
Jason Cooper <jason@...edaemon.net>,
Scott Branden <sbranden@...adcom.com>,
Jon Mason <jonmason@...adcom.com>, <linux-pci@...r.kernel.org>,
Pratyush Anand <pratyush.anand@...il.com>,
<linux-kernel@...r.kernel.org>, Ray Jui <rjui@...adcom.com>,
<rfi@...ts.rocketboards.org>, <linux-renesas-soc@...r.kernel.org>,
"Simon Horman" <horms@...ge.net.au>,
Thierry Reding <thierry.reding@...il.com>,
Tanmay Inamdar <tinamdar@....com>,
Jingoo Han <jingoohan1@...il.com>,
<linux-tegra@...r.kernel.org>, Ley Foon Tan <lftan@...era.com>,
Michal Simek <michal.simek@...inx.com>,
Sören Brinkmann <soren.brinkmann@...inx.com>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v1 00/25] PCI: Request host bridge window resources
在 2016/6/21 23:03, Bjorn Helgaas 写道:
> On Tue, Jun 21, 2016 at 07:58:08PM +0800, wangyijing wrote:
>> Hi Bjorn, use devm_request_resource() for host bridge resource is cool,
>> what about do the similar change for x86, now we request host bridge resource
>> in pci_acpi_root_add_resources() in x86, and we would release the host bridge
>> resource when host bridge device refcount reach 0. This logic may introduce issue,
>> E.g.
>> If we try to remove a pci host bridge, but there is a child pci device which refcount
>> cannot decrease to 0 after remove the device, in this case, its parent pci_bus and
>> parent device, all their refcount cannot reach to 0, the result is pci host bridge
>> refcount can not reach 0, so its .release_fn() won't be called, and host bridge
>> resouces can not release. If we want to add the pci host bridge again, all pci devices
>> can not work because the resource is conflict with the old.
>>
>> devm resource would be released when the driver detach, this is better than what we do now, I think.
>
> I'm not going to convert pci_root.c to use devm right now. That might
> be a good thing, but this current series is mostly trivial. I think
> changing pci_root.c would not be trivial, so that looks like a project
> all by itself.
OK.
>
> I don't quite follow the example of removing a host bridge while a
> child PCI device refcount is non-zero. That sounds like an invalid
> scenario regardless of whether the resources are released by a
> .release_fn() or by devm.
I would send a draft patch to describe and fix the issue, because it's not related to
this series, so let's discuess it in another thread. :)
Thanks!
Yijing.
>
> Bjorn
>
> .
>
Powered by blists - more mailing lists