lkml.org 
[lkml]   [2022]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 1/1] x86/amd_nb: unexport amd_cache_northbridges()
From
Hi Boris,

On 3/15/2022 10:58 PM, Borislav Petkov wrote:
> [CAUTION: External Email]
>
> On Mon, Feb 28, 2022 at 09:41:54PM +0530, Naveen Krishna Chatradhi wrote:
>> From: Muralidhara M K <muralimk@amd.com>
>>
>> amd_cache_northbridges() is called from init_amd_nbs(), during
>> fs_initcall() and need not be called explicitly. Kernel components
>> can directly call amd_nb_num() to get the initialized number of
>> north bridges.
>>
>> unexport amd_cache_northbridges(), update dependent modules to
>> call amd_nb_num() instead. While at it, simplify the while checks
>> in amd_cache_northbridges().
Apologies for the late reply.
> What I am missing in this commit message is why is it ok to do that?
>
> AFAIR, previously, amd_cache_northbridges() wasn't an initcall so the
> module or builtin - which came first - was forcing the NB caching
> through the explicit call to amd_cache_northbridges().
>
> fs_inicall() does that now unconditionally so the question is, why can
> the module init functions assume that the northbridges have been cached
> already and can simply get the NB number?

Modules that are using this API comes after the fs_initcall() is called.

This patch is prepared based on a previous discussion

https://lore.kernel.org/lkml/bcf5e86c-d3f1-0dab-2bed-505b1eb95f17@amd.com/

quoting from the thread

> I'm going to venture a pretty sure guess that the initcall runs first
> and that amd_cache_northbridges() call in amd64_edac_init() is probably

> not even needed anymore...

and i've confirmed the call flow.

>
> Thx.
>
> --
> Regards/Gruss,
> Boris.
>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpeople.kernel.org%2Ftglx%2Fnotes-about-netiquette%3Awq&amp;data=04%7C01%7CNaveenKrishna.Chatradhi%40amd.com%7Cf178536c5a264e5bd9ca08da06a98c6f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637829622545040298%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=iRnHksY7p4nd4pALbDNp11Y7%2FSMAou9X0XrV%2FC7K8Xk%3D&amp;reserved=0

Regards,

Naveenk

\
 
 \ /
  Last update: 2022-03-23 16:25    [W:0.102 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site