Re: [PATCH 1/6] mm/huge_memory.c: rework the function vma_adjust_trans_huge()

2021-03-14 Thread Miaohe Lin
Hi:
On 2021/3/14 4:03, Matthew Wilcox wrote:
> On Sat, Mar 13, 2021 at 05:32:19AM -0500, Miaohe Lin wrote:
>> +static inline void try_to_split_huge_pmd_address(struct vm_area_struct 
>> *vma, unsigned long address)
>> +{
>> +if (address & ~HPAGE_PMD_MASK &&
>> +range_in_vma(vma, address & HPAGE_PMD_MASK,
>> + (address & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE))
>> +split_huge_pmd_address(vma, address, false, NULL);
>> +}
> 
> This isn't "try to split".  This is "split if needed".  I think the
> comments also need to be moved up here.
> 

Make sense. Would do it in v2! Thanks!

> I'm not even sure this is really an improvement.
> .
> 

At least we can eliminate a couple of duplicated lines and use helper 
range_in_vma() to improve
the readability slightly. Right? :)


Re: [PATCH 1/6] mm/huge_memory.c: rework the function vma_adjust_trans_huge()

2021-03-13 Thread Matthew Wilcox
On Sat, Mar 13, 2021 at 05:32:19AM -0500, Miaohe Lin wrote:
> +static inline void try_to_split_huge_pmd_address(struct vm_area_struct *vma, 
> unsigned long address)
> +{
> + if (address & ~HPAGE_PMD_MASK &&
> + range_in_vma(vma, address & HPAGE_PMD_MASK,
> +  (address & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE))
> + split_huge_pmd_address(vma, address, false, NULL);
> +}

This isn't "try to split".  This is "split if needed".  I think the
comments also need to be moved up here.

I'm not even sure this is really an improvement.