On Wed, Jan 27, 2016 at 02:03:36PM +0100, Vlastimil Babka wrote:
> On 01/27/2016 01:47 PM, Christian Borntraeger wrote:
> > On 01/27/2016 01:41 PM, Vlastimil Babka wrote:
> >> On 01/27/2016 01:59 AM, Joonsoo Kim wrote:
> >> 
> >> I think it might be worth also to convert debug_pagealloc_enabled() to be 
> >> based
> >> on static key, like I did for page_owner [1]. That should help make it 
> >> possible
> >> to have virtually no overhead when compiling kernel with 
> >> CONFIG_DEBUG_PAGEALLOC
> >> without enabling it boot-time. I assume it's one of the goals here?
> > 
> > We could do something like that but dump_stack and setup of the initial 
> > identity
> > mapping of the kernel as well as the initial page protection are not hot 
> > path
> > as far as I can tell. Any other places?
> 
> Well, mostly kernel_map_pages() which is used in page allocation hotpaths.

We cannot just convert it because setup_arch() is called before
jump_label_init(). We can do it by introducing _early variant but
I'm not sure it's worth doing. I think that just make it unlikely
works well. Recently, I tested a micro benchmark on slab alloc/free
on CONFIG_SLUB with applying static branch for debug option which
currently is using unlikely branch and can't find any noticeble
performance difference.

Thanks.

Reply via email to