Message ID | 20220217091609.8214-1-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/slab_common: use helper function is_power_of_2() | expand |
On 2/17/22 10:16, Miaohe Lin wrote: > Use helper function is_power_of_2() to check if KMALLOC_MIN_SIZE is power > of two. Minor readability improvement. > > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> We can try, but in case some compiler will no longer able to perform the check at build-time (although is_power_of_2() looks sufficiently trivial too), we'll have to revert it. > --- > mm/slab_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/slab_common.c b/mm/slab_common.c > index 23f2ab0713b7..6ee64d6208b3 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -807,7 +807,7 @@ void __init setup_kmalloc_cache_index_table(void) > unsigned int i; > > BUILD_BUG_ON(KMALLOC_MIN_SIZE > 256 || > - (KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1))); > + !is_power_of_2(KMALLOC_MIN_SIZE)); > > for (i = 8; i < KMALLOC_MIN_SIZE; i += 8) { > unsigned int elem = size_index_elem(i);
On 2022/2/17 17:23, Vlastimil Babka wrote: > On 2/17/22 10:16, Miaohe Lin wrote: >> Use helper function is_power_of_2() to check if KMALLOC_MIN_SIZE is power >> of two. Minor readability improvement. >> >> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > > We can try, but in case some compiler will no longer able to perform the > check at build-time (although is_power_of_2() looks sufficiently trivial > too), we'll have to revert it. I see. I checked the compiler in my env but there might be some compilers can't perform the check at build-time. Many thanks for your reply. > >> --- >> mm/slab_common.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/mm/slab_common.c b/mm/slab_common.c >> index 23f2ab0713b7..6ee64d6208b3 100644 >> --- a/mm/slab_common.c >> +++ b/mm/slab_common.c >> @@ -807,7 +807,7 @@ void __init setup_kmalloc_cache_index_table(void) >> unsigned int i; >> >> BUILD_BUG_ON(KMALLOC_MIN_SIZE > 256 || >> - (KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1))); >> + !is_power_of_2(KMALLOC_MIN_SIZE)); >> >> for (i = 8; i < KMALLOC_MIN_SIZE; i += 8) { >> unsigned int elem = size_index_elem(i); > > . >
On 2/17/22 11:44, Miaohe Lin wrote: > On 2022/2/17 17:23, Vlastimil Babka wrote: >> On 2/17/22 10:16, Miaohe Lin wrote: >>> Use helper function is_power_of_2() to check if KMALLOC_MIN_SIZE is power >>> of two. Minor readability improvement. >>> >>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> >> >> We can try, but in case some compiler will no longer able to perform the >> check at build-time (although is_power_of_2() looks sufficiently trivial >> too), we'll have to revert it. > > I see. I checked the compiler in my env but there might be some compilers can't > perform the check at build-time. I'll add this to the slab tree and linux-next and we'll see if wider testing uncovers such compilers. Should be unlikely. > Many thanks for your reply. > >> >>> --- >>> mm/slab_common.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/mm/slab_common.c b/mm/slab_common.c >>> index 23f2ab0713b7..6ee64d6208b3 100644 >>> --- a/mm/slab_common.c >>> +++ b/mm/slab_common.c >>> @@ -807,7 +807,7 @@ void __init setup_kmalloc_cache_index_table(void) >>> unsigned int i; >>> >>> BUILD_BUG_ON(KMALLOC_MIN_SIZE > 256 || >>> - (KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1))); >>> + !is_power_of_2(KMALLOC_MIN_SIZE)); >>> >>> for (i = 8; i < KMALLOC_MIN_SIZE; i += 8) { >>> unsigned int elem = size_index_elem(i); >> >> . >> >
On 2022/2/18 1:04, Vlastimil Babka wrote: > On 2/17/22 11:44, Miaohe Lin wrote: >> On 2022/2/17 17:23, Vlastimil Babka wrote: >>> On 2/17/22 10:16, Miaohe Lin wrote: >>>> Use helper function is_power_of_2() to check if KMALLOC_MIN_SIZE is power >>>> of two. Minor readability improvement. >>>> >>>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> >>> >>> We can try, but in case some compiler will no longer able to perform the >>> check at build-time (although is_power_of_2() looks sufficiently trivial >>> too), we'll have to revert it. >> >> I see. I checked the compiler in my env but there might be some compilers can't >> perform the check at build-time. > > I'll add this to the slab tree and linux-next and we'll see if wider testing > uncovers such compilers. Should be unlikely. Many thanks! :) > >> Many thanks for your reply. >> >>> >>>> --- >>>> mm/slab_common.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/mm/slab_common.c b/mm/slab_common.c >>>> index 23f2ab0713b7..6ee64d6208b3 100644 >>>> --- a/mm/slab_common.c >>>> +++ b/mm/slab_common.c >>>> @@ -807,7 +807,7 @@ void __init setup_kmalloc_cache_index_table(void) >>>> unsigned int i; >>>> >>>> BUILD_BUG_ON(KMALLOC_MIN_SIZE > 256 || >>>> - (KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1))); >>>> + !is_power_of_2(KMALLOC_MIN_SIZE)); >>>> >>>> for (i = 8; i < KMALLOC_MIN_SIZE; i += 8) { >>>> unsigned int elem = size_index_elem(i); >>> >>> . >>> >> > > . >
diff --git a/mm/slab_common.c b/mm/slab_common.c index 23f2ab0713b7..6ee64d6208b3 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -807,7 +807,7 @@ void __init setup_kmalloc_cache_index_table(void) unsigned int i; BUILD_BUG_ON(KMALLOC_MIN_SIZE > 256 || - (KMALLOC_MIN_SIZE & (KMALLOC_MIN_SIZE - 1))); + !is_power_of_2(KMALLOC_MIN_SIZE)); for (i = 8; i < KMALLOC_MIN_SIZE; i += 8) { unsigned int elem = size_index_elem(i);
Use helper function is_power_of_2() to check if KMALLOC_MIN_SIZE is power of two. Minor readability improvement. Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- mm/slab_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)