[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CY8PR11MB71345BD92CF809FCFA5E890D89FF2@CY8PR11MB7134.namprd11.prod.outlook.com>
Date: Mon, 3 Jun 2024 13:02:31 +0000
From: "Zhuo, Qiuxu" <qiuxu.zhuo@...el.com>
To: Arnd Bergmann <arnd@...db.de>, "Luck, Tony" <tony.luck@...el.com>, "Arnd
Bergmann" <arnd@...nel.org>, Borislav Petkov <bp@...en8.de>
CC: James Morse <james.morse@....com>, Mauro Carvalho Chehab
<mchehab@...nel.org>, Robert Richter <rric@...nel.org>, Marvin Lin
<milkfafa@...il.com>, Shubhrajyoti Datta <shubhrajyoti.datta@....com>, "Sai
Krishna Potthuri" <sai.krishna.potthuri@....com>,
"linux-edac@...r.kernel.org" <linux-edac@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] EDAC, i10nm: make skx_common.o a separate module
> From: Arnd Bergmann <arnd@...db.de>
> [ ...]
> A particularly bad case happens when one of the two is built-in while the
> other one is a loadable module. In this case, the module infrastructure
> assumes it's always built-in, which can mess up e.g. __exit annotations and
> THIS_MODULE references.
Hi Arnd,
Thanks for looking into this.
I re-verified the following configuration w/o your patch, it worked well, and I didn't see
__exit annotations and THIS_MODULE references got messed up.
This was because skx_common.o was built into separate two copied texts
(one is built-in, and the other is in the module).
1. Kernel configuration (one built-in, one module)
CONFIG_EDAC_SKX=y
CONFIG_EDAC_I10NM=m
2. Build OK.
Loaded/unloaded i10nm_edac.ko on an Intel Sapphire Rapids server successfully.
3. Symbol in skx_common.o example:
[root@...1ca103as0104 ~]# cat /proc/kallsyms | grep skx_adxl_put
ffffffff832c7da0 T skx_adxl_put <--- symbol in built-in kernel
ffffffffc094a350 t skx_adxl_put [i10nm_edac] <--- symbol in 'i10nm_edac.ko' module
Thanks!
-Qiuxu
Powered by blists - more mailing lists