From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968559AbcA1EaT (ORCPT ); Wed, 27 Jan 2016 23:30:19 -0500 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:38871 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968536AbcA1EaQ (ORCPT ); Wed, 27 Jan 2016 23:30:16 -0500 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Thu, 28 Jan 2016 13:25:10 +0900 From: Joonsoo Kim To: Vlastimil Babka Cc: Christian Borntraeger , David Rientjes , Heiko Carstens , linux-kernel@vger.kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org Subject: Re: [PATCH/RFC 3/3] s390: query dynamic DEBUG_PAGEALLOC setting Message-ID: <20160128042510.GB14467@js1304-P5Q-DELUXE> References: <1453799905-10941-1-git-send-email-borntraeger@de.ibm.com> <1453799905-10941-4-git-send-email-borntraeger@de.ibm.com> <20160126181903.GB4671@osiris> <20160127001918.GA7089@js1304-P5Q-DELUXE> <20160127005920.GB7089@js1304-P5Q-DELUXE> <56A8BB15.9070305@suse.cz> <56A8BC6D.9080101@de.ibm.com> <56A8C028.7050305@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56A8C028.7050305@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.