From patchwork Tue Mar 31 15:46:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Pisati X-Patchwork-Id: 456656 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id F303614018C; Wed, 1 Apr 2015 02:46:26 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1YcyMt-0005m6-At; Tue, 31 Mar 2015 15:46:19 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1YcyMh-0005jT-Qz for kernel-team@lists.ubuntu.com; Tue, 31 Mar 2015 15:46:07 +0000 Received: from [10.172.193.134] (helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1YcyMh-0004u8-MV for kernel-team@lists.ubuntu.com; Tue, 31 Mar 2015 15:46:07 +0000 From: Paolo Pisati To: kernel-team@lists.ubuntu.com Subject: [PATCH v2] UBUNTU: [Config] armhf: JUMP_LABEL=y Date: Tue, 31 Mar 2015 17:46:07 +0200 Message-Id: <1427816767-18153-1-git-send-email-paolo.pisati@canonical.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1427733367-18976-5-git-send-email-paolo.pisati@canonical.com> References: <1427733367-18976-5-git-send-email-paolo.pisati@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com JUMP_LABEL is a branch optimization technic that makes certain branch conditions cheaper to execute within the kernel (e.g. trace points, scheduler functionality, networking code and KVM). It works by injecting 'nop' at those branch points, and then rewriting the correct jump instruction when the branch condition becomes true. In the past, the rewriting that JUMP_LABEL did was interfering with DEBUG_SET_MODULE_RONX (that was marking as RO the .text section of modules unpon loading), but since arm has developed support for fixmap[1], we can enable this optimization again. [1]: https://lkml.org/lkml/2014/8/14/348 Signed-off-by: Paolo Pisati --- debian.master/config/amd64/config.common.amd64 | 1 - debian.master/config/annotations | 1 - debian.master/config/arm64/config.common.arm64 | 1 - debian.master/config/armhf/config.common.armhf | 1 - debian.master/config/config.common.ubuntu | 1 + debian.master/config/i386/config.common.i386 | 1 - debian.master/config/powerpc/config.common.powerpc | 1 - debian.master/config/ppc64el/config.common.ppc64el | 1 - 8 files changed, 1 insertion(+), 7 deletions(-) diff --git a/debian.master/config/amd64/config.common.amd64 b/debian.master/config/amd64/config.common.amd64 index cc2eb87..ed48087 100644 --- a/debian.master/config/amd64/config.common.amd64 +++ b/debian.master/config/amd64/config.common.amd64 @@ -54,7 +54,6 @@ CONFIG_HUGETLB_PAGE=y # CONFIG_I2C_SLAVE is not set CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_IMA=y -CONFIG_JUMP_LABEL=y CONFIG_KVM=m CONFIG_LOG_BUF_SHIFT=18 CONFIG_MFD_SM501=m diff --git a/debian.master/config/annotations b/debian.master/config/annotations index 71e931b..0bd8034 100644 --- a/debian.master/config/annotations +++ b/debian.master/config/annotations @@ -2774,7 +2774,6 @@ CONFIG_PROFILING y CONFIG_OPROFILE p policy<{'amd64': 'm', 'armhf': 'm', 'i386': 'm', 'powerpc': 'm', 'ppc64el': 'm'}> CONFIG_OPROFILE_EVENT_MULTIPLEX p policy<{'amd64': 'n', 'i386': 'n'}> CONFIG_KPROBES p policy<{'amd64': 'y', 'armhf': 'y', 'i386': 'y', 'powerpc': 'y', 'ppc64el': 'y'}> -CONFIG_JUMP_LABEL p policy<{'armhf': 'n', '*': 'y'}> note mark CONFIG_LOCALVERSION_AUTO n mark note # Menu: General setup >> CPU/Task time and stats accounting diff --git a/debian.master/config/arm64/config.common.arm64 b/debian.master/config/arm64/config.common.arm64 index 58b03d1..4a95bed 100644 --- a/debian.master/config/arm64/config.common.arm64 +++ b/debian.master/config/arm64/config.common.arm64 @@ -52,7 +52,6 @@ CONFIG_HUGETLB_PAGE=y CONFIG_HZ=100 # CONFIG_I2C_SLAVE is not set CONFIG_IMA=y -CONFIG_JUMP_LABEL=y CONFIG_KVM=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_MFD_SM501=m diff --git a/debian.master/config/armhf/config.common.armhf b/debian.master/config/armhf/config.common.armhf index fad283e..318ff05 100644 --- a/debian.master/config/armhf/config.common.armhf +++ b/debian.master/config/armhf/config.common.armhf @@ -48,7 +48,6 @@ CONFIG_HZ_250=y CONFIG_I2C_SLAVE=y CONFIG_IMA=y # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set -# CONFIG_JUMP_LABEL is not set CONFIG_KVM=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_MFD_SM501=y diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu index 476d458..7e529f8 100644 --- a/debian.master/config/config.common.ubuntu +++ b/debian.master/config/config.common.ubuntu @@ -3612,6 +3612,7 @@ CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JUMP_LABEL=y CONFIG_K3_DMA=m CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y diff --git a/debian.master/config/i386/config.common.i386 b/debian.master/config/i386/config.common.i386 index 2af9e7b..0756d44 100644 --- a/debian.master/config/i386/config.common.i386 +++ b/debian.master/config/i386/config.common.i386 @@ -54,7 +54,6 @@ CONFIG_HUGETLB_PAGE=y CONFIG_ILLEGAL_POINTER_VALUE=0 CONFIG_IMA=y CONFIG_ISA=y -CONFIG_JUMP_LABEL=y CONFIG_KVM=m CONFIG_LOG_BUF_SHIFT=17 # CONFIG_MATH_EMULATION is not set diff --git a/debian.master/config/powerpc/config.common.powerpc b/debian.master/config/powerpc/config.common.powerpc index 5f2027f..33d6ad6 100644 --- a/debian.master/config/powerpc/config.common.powerpc +++ b/debian.master/config/powerpc/config.common.powerpc @@ -49,7 +49,6 @@ CONFIG_IBMVETH=m # CONFIG_IRQ_ALL_CPUS is not set # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set # CONFIG_ISA is not set -CONFIG_JUMP_LABEL=y CONFIG_KVM=y CONFIG_LOG_BUF_SHIFT=17 # CONFIG_LPARCFG is not set diff --git a/debian.master/config/ppc64el/config.common.ppc64el b/debian.master/config/ppc64el/config.common.ppc64el index cfd4b22..24646f8 100644 --- a/debian.master/config/ppc64el/config.common.ppc64el +++ b/debian.master/config/ppc64el/config.common.ppc64el @@ -68,7 +68,6 @@ CONFIG_IBMVETH=y CONFIG_IMA=y CONFIG_IRQ_ALL_CPUS=y # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set -CONFIG_JUMP_LABEL=y CONFIG_KERNEL_START=0xc000000000000000 CONFIG_KVM=y CONFIG_LOG_BUF_SHIFT=17