Messages in this thread | | | Date | Wed, 23 Mar 2022 20:54:20 +0530 | Subject | Re: [PATCH 1/1] x86/amd_nb: unexport amd_cache_northbridges() | From | "Chatradhi, Naveen Krishna" <> |
| |
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&data=04%7C01%7CNaveenKrishna.Chatradhi%40amd.com%7Cf178536c5a264e5bd9ca08da06a98c6f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637829622545040298%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=iRnHksY7p4nd4pALbDNp11Y7%2FSMAou9X0XrV%2FC7K8Xk%3D&reserved=0
Regards,
Naveenk
| |