[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPaKu7R8avTfAZq-V5H6t6AKAGG1kGbdNK019-DQ5sOR=UOo-w@mail.gmail.com>
Date: Mon, 3 Jun 2024 22:04:49 -0700
From: Chia-I Wu <olvaffe@...il.com>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, christian.koenig@....com,
alexander.deucher@....com, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Alison Schofield <alison.schofield@...el.com>, Dave Jiang <dave.jiang@...el.com>,
Baoquan He <bhe@...hat.com>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] kernel/resource: optimize find_next_iomem_res
On Mon, Jun 3, 2024 at 12:24 AM Ilpo Järvinen
<ilpo.jarvinen@...ux.intel.com> wrote:
>
> On Sun, 2 Jun 2024, Andy Shevchenko wrote:
>
> > On Fri, May 31, 2024 at 02:31:45PM -0700, Chia-I Wu wrote:
> > > On Fri, May 31, 2024 at 1:57 AM Andy Shevchenko <
> > > andriy.shevchenko@...ux.intel.com> wrote:
> > > > On Thu, May 30, 2024 at 10:36:57PM -0700, Chia-I Wu wrote:
> >
> > ...
> >
> > > > P.S> I'm not so sure about this change. It needs a thoroughly testing, esp.
> > > > in PCI case. Cc'ing to Ilpo.
> >
> > > What's special about PCI?
> >
> > PCI, due to its nature, may rebuild resources either by shrinking or expanding
> > of the entire subtree after the PCI bridge in question. And this may happen at
> > run-time due to hotplug support. But I'm not a deep expert in this area, Ilpo
> > knows much more than me.
>
> There is code which clearly tries to do expanding resource but that
> usually fails to work as intended because of a parent resource whose size
> is fixed because it's already assigned.
>
> Some other code might block shrinking too under certain conditions.
>
> This area would need to be reworked in PCI core but it's massive and
> scary looking change.
Given the nature of this change (skip checking against children when
the parent does not match), unless a child resource can exceed its
parent resource, I don't think this change affects correctness.
The walk does not hold the resource lock outside of
find_next_iomem_res(). Updating the tree while the walk is in
progress has always been a bit ill-defined. The patch does not change
that (but it might change the timing a bit).
I can export __walk_iomem_res_desc() and write some unit tests against
it. Would that be enough to justify this change?
>
> --
> i.
Powered by blists - more mailing lists