From: Alejandro Lucero Palau <alucerop@amd.com>
To: Dan Williams <dan.j.williams@intel.com>,
dave.jiang@intel.com, ira.weiny@intel.com
Cc: Davidlohr Bueso <dave@stgolabs.net>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
stable@vger.kernel.org, Zijun Hu <zijun_hu@icloud.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alison Schofield <alison.schofield@intel.com>,
Gregory Price <gourry@gourry.net>,
Vishal Verma <vishal.l.verma@intel.com>,
linux-cxl@vger.kernel.org
Subject: Re: [PATCH 0/5] cxl: Initialization and shutdown fixes
Date: Fri, 11 Oct 2024 12:21:35 +0100 [thread overview]
Message-ID: <7eb2912e-3359-8a22-2db9-4bfa803eccbe@amd.com> (raw)
In-Reply-To: <172862483180.2150669.5564474284074502692.stgit@dwillia2-xfh.jf.intel.com>
Hi Dan,
I think this is the same issue one of the patches in type2 support tries
to deal with:
https://lore.kernel.org/linux-cxl/20240907081836.5801-1-alejandro.lucero-palau@amd.com/T/#m9357a559c1a3cc7869ecce44a1801d51518d106e
If this fixes that situation, I guess I can drop that one from v4 which
is ready to be sent.
The other problem I try to fix in that patch, the endpoint not being
there when that code tries to use it, it is likely not needed either,
although I have a trivial fix for it now instead of that ugly loop with
delays. The solution is to add PROBE_FORCE_SYNCHRONOUS as probe_type for
the cxl_mem_driver which implies the device_add will only return when
the device is really created. Maybe that is worth it for other potential
situations suffering the delayed creation.
On 10/11/24 06:33, Dan Williams wrote:
> Gregory's modest proposal to fix CXL cxl_mem_probe() failures due to
> delayed arrival of the CXL "root" infrastructure [1] prompted questions
> of how the existing mechanism for retrying cxl_mem_probe() could be
> failing.
>
> The critical missing piece in the debug was that Gregory's setup had
> almost all CXL modules built-in to the kernel.
>
> On the way to that discovery several other bugs and init-order corner
> cases were discovered.
>
> The main fix is to make sure the drivers/cxl/Makefile object order
> supports root CXL ports being fully initialized upon cxl_acpi_probe()
> exit. The modular case has some similar potential holes that are fixed
> with MODULE_SOFTDEP() and other fix ups. Finally, an attempt to update
> cxl_test to reproduce the original report resulted in the discovery of a
> separate long standing use after free bug in cxl_region_detach().
>
> [1]: http://lore.kernel.org/20241004212504.1246-1-gourry@gourry.net
>
> ---
>
> Dan Williams (5):
> cxl/port: Fix CXL port initialization order when the subsystem is built-in
> cxl/port: Fix cxl_bus_rescan() vs bus_rescan_devices()
> cxl/acpi: Ensure ports ready at cxl_acpi_probe() return
> cxl/port: Fix use-after-free, permit out-of-order decoder shutdown
> cxl/test: Improve init-order fidelity relative to real-world systems
>
>
> drivers/base/core.c | 35 +++++++
> drivers/cxl/Kconfig | 1
> drivers/cxl/Makefile | 12 +--
> drivers/cxl/acpi.c | 7 +
> drivers/cxl/core/hdm.c | 50 +++++++++--
> drivers/cxl/core/port.c | 13 ++-
> drivers/cxl/core/region.c | 48 +++-------
> drivers/cxl/cxl.h | 3 -
> include/linux/device.h | 3 +
> tools/testing/cxl/test/cxl.c | 200 +++++++++++++++++++++++-------------------
> tools/testing/cxl/test/mem.c | 1
> 11 files changed, 228 insertions(+), 145 deletions(-)
>
> base-commit: 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b
>
next prev parent reply other threads:[~2024-10-11 11:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-11 5:33 [PATCH 0/5] cxl: Initialization and shutdown fixes Dan Williams
2024-10-11 5:34 ` [PATCH 1/5] cxl/port: Fix CXL port initialization order when the subsystem is built-in Dan Williams
2024-10-14 11:33 ` Jonathan Cameron
2024-10-11 5:34 ` [PATCH 4/5] cxl/port: Fix use-after-free, permit out-of-order decoder shutdown Dan Williams
2024-10-11 11:50 ` Zijun Hu
2024-10-11 17:46 ` Dan Williams
2024-10-11 23:40 ` Zijun Hu
2024-10-12 17:56 ` Gregory Price
2024-10-12 22:16 ` Dan Williams
2024-10-14 1:29 ` Zijun Hu
2024-10-14 19:32 ` Dan Williams
2024-10-15 0:02 ` Zijun Hu
2024-10-15 0:10 ` Dan Williams
2024-10-15 16:47 ` Jonathan Cameron
2024-10-23 0:31 ` Dan Williams
2024-10-11 11:21 ` Alejandro Lucero Palau [this message]
2024-10-11 17:38 ` [PATCH 0/5] cxl: Initialization and shutdown fixes Dan Williams
2024-10-12 6:30 ` Alejandro Lucero Palau
2024-10-12 21:57 ` Dan Williams
2024-10-14 15:13 ` Alejandro Lucero Palau
2024-10-14 22:24 ` Dan Williams
2024-10-15 8:45 ` Alejandro Lucero Palau
2024-10-15 16:37 ` Dan Williams
2024-10-16 14:41 ` Alejandro Lucero Palau
2024-10-23 0:46 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7eb2912e-3359-8a22-2db9-4bfa803eccbe@amd.com \
--to=alucerop@amd.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=gourry@gourry.net \
--cc=gregkh@linuxfoundation.org \
--cc=ira.weiny@intel.com \
--cc=jonathan.cameron@huawei.com \
--cc=linux-cxl@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=vishal.l.verma@intel.com \
--cc=zijun_hu@icloud.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox