Message ID | 20190301221956.97493-1-cai@lca.pw (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] mm/hugepages: fix "orig_pud" set but not used | expand |
On Sat, Mar 2, 2019 at 3:50 AM Qian Cai <cai@lca.pw> wrote: > > The commit a00cc7d9dd93 ("mm, x86: add support for PUD-sized transparent > hugepages") introduced pudp_huge_get_and_clear_full() but no one uses > its return code. In order to not diverge from > pmdp_huge_get_and_clear_full(), just change zap_huge_pud() to not assign > the return value from pudp_huge_get_and_clear_full(). > > mm/huge_memory.c: In function 'zap_huge_pud': > mm/huge_memory.c:1982:8: warning: variable 'orig_pud' set but not used > [-Wunused-but-set-variable] > pud_t orig_pud; > ^~~~~~~~ > 4th argument passed to pudp_huge_get_and_clear_full() is not used. Is it fine to remove *int full * in pudp_huge_get_and_clear_full() if there is no plan to use it in future ? This is applicable to below functions as well - pmdp_huge_get_and_clear_full() ptep_get_and_clear_full() pte_clear_not_present_full() > Signed-off-by: Qian Cai <cai@lca.pw> > --- > > v2: keep returning a code from pudp_huge_get_and_clear_full() for possible > future uses. > > mm/huge_memory.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index faf357eaf0ce..9f57a1173e6a 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -1979,7 +1979,6 @@ spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma) > int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > pud_t *pud, unsigned long addr) > { > - pud_t orig_pud; > spinlock_t *ptl; > > ptl = __pud_trans_huge_lock(pud, vma); > @@ -1991,8 +1990,7 @@ int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, > * pgtable_trans_huge_withdraw after finishing pudp related > * operations. > */ > - orig_pud = pudp_huge_get_and_clear_full(tlb->mm, addr, pud, > - tlb->fullmm); > + pudp_huge_get_and_clear_full(tlb->mm, addr, pud, tlb->fullmm); > tlb_remove_pud_tlb_entry(tlb, pud, addr); > if (vma_is_dax(vma)) { > spin_unlock(ptl); > -- > 2.17.2 (Apple Git-113) >
On 3/4/19 7:02 AM, Souptick Joarder wrote: > On Sat, Mar 2, 2019 at 3:50 AM Qian Cai <cai@lca.pw> wrote: >> >> The commit a00cc7d9dd93 ("mm, x86: add support for PUD-sized transparent >> hugepages") introduced pudp_huge_get_and_clear_full() but no one uses >> its return code. In order to not diverge from >> pmdp_huge_get_and_clear_full(), just change zap_huge_pud() to not assign >> the return value from pudp_huge_get_and_clear_full(). >> >> mm/huge_memory.c: In function 'zap_huge_pud': >> mm/huge_memory.c:1982:8: warning: variable 'orig_pud' set but not used >> [-Wunused-but-set-variable] >> pud_t orig_pud; >> ^~~~~~~~ >> > > 4th argument passed to pudp_huge_get_and_clear_full() is not used. > Is it fine to remove *int full * in pudp_huge_get_and_clear_full() if > there is no plan to use it in future ? > > This is applicable to below functions as well - > pmdp_huge_get_and_clear_full() > ptep_get_and_clear_full() > pte_clear_not_present_full() I suppose arches may override those that could make use of "int full".
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index faf357eaf0ce..9f57a1173e6a 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1979,7 +1979,6 @@ spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma) int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, pud_t *pud, unsigned long addr) { - pud_t orig_pud; spinlock_t *ptl; ptl = __pud_trans_huge_lock(pud, vma); @@ -1991,8 +1990,7 @@ int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, * pgtable_trans_huge_withdraw after finishing pudp related * operations. */ - orig_pud = pudp_huge_get_and_clear_full(tlb->mm, addr, pud, - tlb->fullmm); + pudp_huge_get_and_clear_full(tlb->mm, addr, pud, tlb->fullmm); tlb_remove_pud_tlb_entry(tlb, pud, addr); if (vma_is_dax(vma)) { spin_unlock(ptl);
The commit a00cc7d9dd93 ("mm, x86: add support for PUD-sized transparent hugepages") introduced pudp_huge_get_and_clear_full() but no one uses its return code. In order to not diverge from pmdp_huge_get_and_clear_full(), just change zap_huge_pud() to not assign the return value from pudp_huge_get_and_clear_full(). mm/huge_memory.c: In function 'zap_huge_pud': mm/huge_memory.c:1982:8: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable] pud_t orig_pud; ^~~~~~~~ Signed-off-by: Qian Cai <cai@lca.pw> --- v2: keep returning a code from pudp_huge_get_and_clear_full() for possible future uses. mm/huge_memory.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)