[PATCH v4 11/66] mm/mmap: Use maple tree for unmapped_area{_topdown}

Liam Howlett liam.howlett at oracle.com
Wed Dec 15 10:28:26 PST 2021


* Vlastimil Babka <vbabka at suse.cz> [211215 11:43]:
> On 12/1/21 15:29, Liam Howlett wrote:
> > From: "Liam R. Howlett" <Liam.Howlett at Oracle.com>
> > 
> > The maple tree code was added to find the unmapped area in a previous
> > commit and was checked against what the rbtree returned, but the actual
> > result was never used.  Start using the maple tree implementation and
> > remove the rbtree code.
> 
> Nice cleanup. But...
> 
> > Add kernel documentation comment for these functions.
> > 
> > Signed-off-by: Liam R. Howlett <Liam.Howlett at Oracle.com>
> 
> >  
> >  	/* Adjust search length to account for worst case alignment overhead */
> >  	length = info->length + info->align_mask;
> >  	if (length < info->length)
> >  		return -ENOMEM;
> >  
> > -	rcu_read_lock();
> > -	mas_empty_area_rev(&mas, info->low_limit, info->high_limit - 1,
> > -			   length);
> > -	rcu_read_unlock();
> 
> Why is RCU locking being removed as part of this? Ditton in
> unmapped_area_topdown()

It is not needed with the mmap_lock() being used in the maple tree.  But
I should either be consistent and keep it everywhere or not have it in
the earlier patch.  I will fix this, maybe I should have left them in
everywhere.


More information about the maple-tree mailing list