Message ID | 20220420060221.1107736-1-anshuman.khandual@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/page_table_check: Drop all redundant EXPORT_SYMBOL() | expand |
On Wed, Apr 20, 2022 at 2:01 AM Anshuman Khandual <anshuman.khandual@arm.com> wrote: > > Function definitions need not be exported via EXPORT_SYMBOL() mechanism. In > this case these functions just get called only inside their wrappers. Even > __page_table_check_zero() gets called without such an export. Just drop all > these redundant EXPORT_SYMBOL(). > > Cc: Pasha Tatashin <pasha.tatashin@soleen.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> > --- > This applies on v5.18-rc3 > > mm/page_table_check.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/mm/page_table_check.c b/mm/page_table_check.c > index 2458281bff89..5c2a96159832 100644 > --- a/mm/page_table_check.c > +++ b/mm/page_table_check.c > @@ -167,7 +167,6 @@ void __page_table_check_pte_clear(struct mm_struct *mm, unsigned long addr, > PAGE_SIZE >> PAGE_SHIFT); > } > } > -EXPORT_SYMBOL(__page_table_check_pte_clear); > > void __page_table_check_pmd_clear(struct mm_struct *mm, unsigned long addr, > pmd_t pmd) > @@ -180,7 +179,6 @@ void __page_table_check_pmd_clear(struct mm_struct *mm, unsigned long addr, > PMD_PAGE_SIZE >> PAGE_SHIFT); > } > } > -EXPORT_SYMBOL(__page_table_check_pmd_clear); > > void __page_table_check_pud_clear(struct mm_struct *mm, unsigned long addr, > pud_t pud) > @@ -193,7 +191,6 @@ void __page_table_check_pud_clear(struct mm_struct *mm, unsigned long addr, > PUD_PAGE_SIZE >> PAGE_SHIFT); > } > } > -EXPORT_SYMBOL(__page_table_check_pud_clear); > > void __page_table_check_pte_set(struct mm_struct *mm, unsigned long addr, > pte_t *ptep, pte_t pte) > @@ -208,7 +205,6 @@ void __page_table_check_pte_set(struct mm_struct *mm, unsigned long addr, > pte_write(pte)); > } > } > -EXPORT_SYMBOL(__page_table_check_pte_set); Hi Anshuman, See this: https://lore.kernel.org/all/20211124234754.l5co34dUK%25akpm@linux-foundation.org/ The rest of EXPORTs were added to be symmetric, and allow other drivers to use set_*p**()/clear_p** calls. Pasha
On Wed, Apr 20, 2022 at 12:54:08PM -0400, Pasha Tatashin wrote: > The rest of EXPORTs were added to be symmetric, and allow other > drivers to use set_*p**()/clear_p** calls. EXPORT_SYMBOLs actually have a real cost. We don't add them "for symmetry".
On Wed, Apr 20, 2022 at 11:23 PM Matthew Wilcox <willy@infradead.org> wrote: > > On Wed, Apr 20, 2022 at 12:54:08PM -0400, Pasha Tatashin wrote: > > The rest of EXPORTs were added to be symmetric, and allow other > > drivers to use set_*p**()/clear_p** calls. > > EXPORT_SYMBOLs actually have a real cost. We don't add them "for > symmetry". Sure, the rest of exports can be removed, but: > -EXPORT_SYMBOL(__page_table_check_pte_set); must stay because of ERROR: modpost: "__page_table_check_pte_set" [drivers/gpu/drm/i915/i915.ko] undefined! Pasha
On 4/21/22 09:02, Pasha Tatashin wrote: > On Wed, Apr 20, 2022 at 11:23 PM Matthew Wilcox <willy@infradead.org> wrote: >> >> On Wed, Apr 20, 2022 at 12:54:08PM -0400, Pasha Tatashin wrote: >>> The rest of EXPORTs were added to be symmetric, and allow other >>> drivers to use set_*p**()/clear_p** calls. >> >> EXPORT_SYMBOLs actually have a real cost. We don't add them "for >> symmetry". > > Sure, the rest of exports can be removed, but: > >> -EXPORT_SYMBOL(__page_table_check_pte_set); > > must stay because of > > ERROR: modpost: "__page_table_check_pte_set" > [drivers/gpu/drm/i915/i915.ko] undefined! Sure, will resend.
diff --git a/mm/page_table_check.c b/mm/page_table_check.c index 2458281bff89..5c2a96159832 100644 --- a/mm/page_table_check.c +++ b/mm/page_table_check.c @@ -167,7 +167,6 @@ void __page_table_check_pte_clear(struct mm_struct *mm, unsigned long addr, PAGE_SIZE >> PAGE_SHIFT); } } -EXPORT_SYMBOL(__page_table_check_pte_clear); void __page_table_check_pmd_clear(struct mm_struct *mm, unsigned long addr, pmd_t pmd) @@ -180,7 +179,6 @@ void __page_table_check_pmd_clear(struct mm_struct *mm, unsigned long addr, PMD_PAGE_SIZE >> PAGE_SHIFT); } } -EXPORT_SYMBOL(__page_table_check_pmd_clear); void __page_table_check_pud_clear(struct mm_struct *mm, unsigned long addr, pud_t pud) @@ -193,7 +191,6 @@ void __page_table_check_pud_clear(struct mm_struct *mm, unsigned long addr, PUD_PAGE_SIZE >> PAGE_SHIFT); } } -EXPORT_SYMBOL(__page_table_check_pud_clear); void __page_table_check_pte_set(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) @@ -208,7 +205,6 @@ void __page_table_check_pte_set(struct mm_struct *mm, unsigned long addr, pte_write(pte)); } } -EXPORT_SYMBOL(__page_table_check_pte_set); void __page_table_check_pmd_set(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) @@ -223,7 +219,6 @@ void __page_table_check_pmd_set(struct mm_struct *mm, unsigned long addr, pmd_write(pmd)); } } -EXPORT_SYMBOL(__page_table_check_pmd_set); void __page_table_check_pud_set(struct mm_struct *mm, unsigned long addr, pud_t *pudp, pud_t pud) @@ -238,7 +233,6 @@ void __page_table_check_pud_set(struct mm_struct *mm, unsigned long addr, pud_write(pud)); } } -EXPORT_SYMBOL(__page_table_check_pud_set); void __page_table_check_pte_clear_range(struct mm_struct *mm, unsigned long addr,
Function definitions need not be exported via EXPORT_SYMBOL() mechanism. In this case these functions just get called only inside their wrappers. Even __page_table_check_zero() gets called without such an export. Just drop all these redundant EXPORT_SYMBOL(). Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> --- This applies on v5.18-rc3 mm/page_table_check.c | 6 ------ 1 file changed, 6 deletions(-)