Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752574AbbHTMOz (ORCPT ); Thu, 20 Aug 2015 08:14:55 -0400 Received: from mail-yk0-f182.google.com ([209.85.160.182]:33734 "EHLO mail-yk0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751845AbbHTMOw (ORCPT ); Thu, 20 Aug 2015 08:14:52 -0400 From: Kevin Hao To: Michael Ellerman Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Benjamin Herrenschmidt Subject: [PATCH 0/8] powerpc: use jump label for {cpu,mmu}_has_feature() Date: Thu, 20 Aug 2015 20:14:28 +0800 Message-Id: <1440072876-8321-1-git-send-email-haokexin@gmail.com> X-Mailer: git-send-email 2.1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2518 Lines: 56 Hi, I have tried to change the {cpu,mmu}_has_feature() to use jump label two yeas ago [1]. But that codes seem a bit ugly. This is a reimplementation by moving the jump_label_init() much earlier so the jump label can be used in a very earlier stage. Boot test on p4080ds, t2080rdb and powermac (qemu). This patch series is against linux-next. [1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2013-September/111026.html Kevin Hao (8): jump_label: no need to acquire the jump_label_mutex in jump_lable_init() jump_label: make it possible for the archs to invoke jump_label_init() much earlier jump_label: introduce DEFINE_STATIC_KEY_{TRUE,FALSE}_ARRAY macros powerpc: invoke jump_label_init() in a much earlier stage powerpc: kill mfvtb() powerpc: move the cpu_has_feature to a separate file powerpc: use the jump label for cpu_has_feature powerpc: use jump label for mmu_has_feature arch/powerpc/include/asm/cacheflush.h | 1 + arch/powerpc/include/asm/cpufeatures.h | 34 +++++++++++++++++++++++++++++++++ arch/powerpc/include/asm/cputable.h | 16 ++++++++-------- arch/powerpc/include/asm/cputime.h | 1 + arch/powerpc/include/asm/dbell.h | 1 + arch/powerpc/include/asm/dcr-native.h | 1 + arch/powerpc/include/asm/mman.h | 1 + arch/powerpc/include/asm/mmu.h | 29 ++++++++++++++++++++++++++++ arch/powerpc/include/asm/reg.h | 9 --------- arch/powerpc/include/asm/time.h | 3 ++- arch/powerpc/include/asm/xor.h | 1 + arch/powerpc/kernel/align.c | 1 + arch/powerpc/kernel/cputable.c | 33 ++++++++++++++++++++++++++++++++ arch/powerpc/kernel/irq.c | 1 + arch/powerpc/kernel/process.c | 1 + arch/powerpc/kernel/setup-common.c | 1 + arch/powerpc/kernel/setup_32.c | 5 +++++ arch/powerpc/kernel/setup_64.c | 4 ++++ arch/powerpc/kernel/smp.c | 1 + arch/powerpc/platforms/cell/pervasive.c | 1 + arch/powerpc/xmon/ppc-dis.c | 1 + include/linux/jump_label.h | 6 ++++++ kernel/jump_label.c | 5 +++-- 23 files changed, 137 insertions(+), 20 deletions(-) create mode 100644 arch/powerpc/include/asm/cpufeatures.h -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/