Re: [PATCH v2 0/1] Fix hmat_adist_nb for CXL

Alejandro Lucero Palau <[email protected]>
Newsgroups org.kernel.vger.linux-cxl,org.kernel.vger.linux-acpi
Message-ID <[email protected]>
Hi Rafael,


Just a reminder of this fix which, if not applied, could trigger 
problems for the CXL Type2 drivers recently merged in net-next: 
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=997bfb05c919d2c5ee77c594d354f6c61b99ccdf


As stated in the commit after comments from Richard, this could also be 
a problem for current Type3 CXL kernel support depending on kernel 
configuration.


Let me know if you see any problem with this fix.


Thank you.


On 7/16/26 19:11, [email protected] wrote:
> From: Alejandro Lucero <[email protected]>
>
>   v2:
> 	- Add Fixes (Richarg Cheng)
> 	- Change commit as fix for Type2/Type3 (Richar Cheng)
>
> RFC
> ===
> While working on adding CXL Type2 support I found a problem with
> register_mt_adistance_algorithm() which is used inside
> cxl_region_probe(). It turns out my kernel config had not
> CONFIG_MEMORY_HOTPLUG enabled leading to the hmat_adist_nb notifier
> block deleted after kernel initialization without doing any notifer
> block unregister, leaving the notifier chain unaware of this. A CXL
> Type2 driver can be load after kernel initialization and with a kernel
> not enabling memory hotplug, the notifier registration crashes if the
> released memory from hmat_adist_nb is reused.
>
> I'm not sure but I do not think this can happen for Type3 devices
> because the related CXL driver is used only during kernel initialization
> if memory hotplug not enabled. Type2, aka CXL accelerator drivers, is
> coming and the problem will arise with certainty.
>
> I have contemplated to modify how the identified __meminit and
> __meminitdat are defined in linux/init.h, extending the case for being
> empty definitions if CONFIG_CXL_MEM=y, but I think it makes sense to
> only avoid the use of __meminit for hmat_adist_nb.
>
> FWIW, a Type2 device should not require CONFIG_MEMORY_HOTPLUG and its
> memory is currently initialized by the BIOS. Maybe not having memory
> hotplug enabled is unusual and even more with CXL, so another option
> could be to enable memory hotplug if CXL mem is enabled.
>
> Alejandro Lucero (1):
>    acpi/hmat: preserve hmat_adist_nb notifier block
>
>   drivers/acpi/numa/hmat.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
>
> base-commit: 8cd9520d35a6c38db6567e97dd93b1f11f185dc6
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.