From 18042a752e6d15b37a86b9fe03d8d2a15b2aab7d Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Wed, 10 Oct 2012 20:40:57 +0800 Subject: [PATCH] kmalloc: No need to call fls if the size is already power-of-2 aligned Reduce code complexity --- sys/kern/kern_slaballoc.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_slaballoc.c b/sys/kern/kern_slaballoc.c index 362092f59b..9a80068756 100644 --- a/sys/kern/kern_slaballoc.c +++ b/sys/kern/kern_slaballoc.c @@ -505,16 +505,12 @@ slab_record_source(SLZone *z, const char *file, int line) static __inline unsigned long powerof2_size(unsigned long size) { - int i, wt; + int i; - if (size == 0) - return 0; + if (size == 0 || powerof2(size)) + return size; i = flsl(size); - wt = (size & ~(1 << (i - 1))); - if (!wt) - --i; - return (1UL << i); } -- 2.41.0