[PATCH v2] UBUNTU: [Config] armhf: JUMP_LABEL=y

Paolo Pisati paolo.pisati at canonical.com
Tue Mar 31 15:46:07 UTC 2015


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 <paolo.pisati at canonical.com>
---
 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<https://lists.ubuntu.com/archives/kernel-team/2014-October/049433.html> mark<REVIEW>
 CONFIG_LOCALVERSION_AUTO			n mark<ENFORCED> note<triggers packaging failures>
 
 # 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
-- 
2.1.4





More information about the kernel-team mailing list