Messages in this thread | | | From | Pasha Tatashin <> | Date | Wed, 26 Jan 2022 07:34:19 -0500 | Subject | Re: [PATCH v3 3/4] mm/khugepaged: unify collapse pmd clear, flush and free |
| |
On Wed, Jan 26, 2022 at 1:34 AM David Rientjes <rientjes@google.com> wrote: > > On Wed, 26 Jan 2022, Pasha Tatashin wrote: > > > Unify the code that flushes, clears pmd entry, and frees the PTE table > > level into a new function collapse_and_free_pmd(). > > > > This clean-up is useful as in the next patch we will add another call to > > this function to iterate through PTE prior to freeing the level for page > > table check. > > > > Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com> > > Acked-by: David Rientjes <rientjes@google.com>
Thank you, David.
> > One nit below. > > > --- > > mm/khugepaged.c | 32 ++++++++++++++++---------------- > > 1 file changed, 16 insertions(+), 16 deletions(-) > > > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > > index 35f14d0a00a6..440112355ffe 100644 > > --- a/mm/khugepaged.c > > +++ b/mm/khugepaged.c > > @@ -1416,6 +1416,17 @@ static int khugepaged_add_pte_mapped_thp(struct mm_struct *mm, > > return 0; > > } > > > > +static void collapse_and_free_pmd(struct mm_struct *mm, struct vm_area_struct *vma, > > + unsigned long addr, pmd_t *pmdp) > > +{ > > + spinlock_t *ptl = pmd_lock(vma->vm_mm, pmdp); > > + pmd_t pmd = pmdp_collapse_flush(vma, addr, pmdp); > > + > > + spin_unlock(ptl); > > No strong objection, but I think the typical style would be to declare the > local variables separately and avoid mixing the code, especially in cases > when taking locks (and not just initializing the local variables).
I will address this in the next revision.
Thank you, Pasha
| |