[RFC REBASED 3/5] powerpc/mm/slice: implement slice_check_range_fits

Nicholas Piggin npiggin at gmail.com
Tue Feb 27 20:04:40 AEDT 2018


On Tue, 27 Feb 2018 12:50:08 +0530
"Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com> wrote:

> Christophe Leroy <christophe.leroy at c-s.fr> writes:
>  +	if ((start + len) > SLICE_LOW_TOP) {
> > +		unsigned long start_index = GET_HIGH_SLICE_INDEX(start);
> > +		unsigned long align_end = ALIGN(end, (1UL << SLICE_HIGH_SHIFT));
> > +		unsigned long count = GET_HIGH_SLICE_INDEX(align_end) - start_index;
> > +		unsigned long i;
> >  
> > -	slice_bitmap_and(result, mask->high_slices, available->high_slices,
> > -			 slice_count);
> > +		for (i = start_index; i < start_index + count; i++) {
> > +			if (!test_bit(i, available->high_slices))
> > +				return false;
> > +		}
> > +	}  
> 
> why not bitmap_equal here instead of test_bit in loop?

Because we only have the available bitmap now. If we see large ranges
here we could use some bitmap operation like find_next_zero_bit perhaps.

Thanks,
Nick


More information about the Linuxppc-dev mailing list