Re: [PATCH v2] mm: kmalloc_index: make compiler break when size is not supported

From: Hyeonggon Yoo
Date: Mon May 10 2021 - 23:03:51 EST


On Mon, May 10, 2021 at 04:44:09PM +0100, Matthew Wilcox wrote:
> On Tue, May 11, 2021 at 12:02:30AM +0900, Hyeonggon Yoo wrote:
> > @@ -382,8 +385,8 @@ static __always_inline unsigned int kmalloc_index(size_t size)
> > if (size <= 8 * 1024 * 1024) return 23;
> > if (size <= 16 * 1024 * 1024) return 24;
> > if (size <= 32 * 1024 * 1024) return 25;
> > - if (size <= 64 * 1024 * 1024) return 26;
> > - BUG();
> > +
> > + BUILD_BUG_ON_MSG(1, "unexpected size in kmalloc_index()");
>
> we're being encouraged to use static_assert() these days.
> https://en.cppreference.com/w/c/language/_Static_assert
>

can you tell me difference between static_assert and BUILD_BUG_ON?
it seems that mm subsystem does not make use of it now.