Re: slab: avoid linear search in kmalloc? (GCC Guru wanted :)

Momchil Velikov (velco@fadata.bg)
21 Nov 2001 11:34:48 +0200


>>>>> "Arjan" == Arjan van de Ven <arjanv@redhat.com> writes:

Arjan> Momchil Velikov wrote:
>>
>> >>>>> "Bernd" == Bernd Eckenfels <ecki@lina.inka.de> writes:
>>
Bernd> Hello,
Bernd> I noticed that kmalloc and kmem_find_general_cachep are doing a linear
Bernd> search in the cache_sizes array. Isnt it better to speed that up by doing a
Bernd> binary search or a b-tree if like the following patch?
>>
>> Here is a patch using a gcc extension. gcc generates binary search for the case.

Arjan> the big "case" statement makes you wonder if ffz(~size) would do the
Arjan> same ;)

*Nod*, espesially on architectures, where it is a single instruction.

OTOH, this is possible only if the sizes are powers of two. And they
could be more closely sparsed ...

Regards,
-velco

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/