Christophe Leroy <christophe.le...@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?
>  
> -     return (mask->low_slices & available->low_slices) == mask->low_slices &&
> -             slice_bitmap_equal(result, mask->high_slices, slice_count);
> +     return true;
>  }

-aneesh

Reply via email to