From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S939360AbcIER0A (ORCPT ); Mon, 5 Sep 2016 13:26:00 -0400 Received: from foss.arm.com ([217.140.101.70]:33184 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936420AbcIERZz (ORCPT ); Mon, 5 Sep 2016 13:25:55 -0400 From: Catalin Marinas To: Will Deacon Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, peterz@infradead.org, jbaron@akamai.com, Suzuki.Poulose@arm.com Subject: [PATCH v2 0/2] arm64: Use static keys for CPU features Date: Mon, 5 Sep 2016 18:25:46 +0100 Message-Id: <1473096348-19548-1-git-send-email-catalin.marinas@arm.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series is aimed at optimising the arm64 cpus_have_cap() functionality (checking for the presence of certain CPU capabilities/features) to avoid a bitmap test and use a jump label instead, patched at boot time. While this series does not provide a significant performance improvement with the current kernel, it will be more beneficial with new features like TTBR0 PAN are which are used on hot paths (get_user/put_user, thread switching). Jon, if you are happy with this patch (especially the documentation update), are ok for it to go into mainline via the arm64 tree? While there doesn't seem to be a specific maintainer for jump_label.*, cc'ing Peter and Jason for comments/acks/naks. Thanks. Changes since v1: - Moved the jump_label_init() call to smp_prepare_boot_cpu() following Suzuki's suggestion - Fixed missing empty line in Documentation/static-keys.txt Catalin Marinas (2): jump_labels: Allow array initialisers arm64: Use static keys for CPU features Documentation/static-keys.txt | 9 +++++++++ arch/arm64/include/asm/cpufeature.h | 14 +++++++++++--- arch/arm64/kernel/cpufeature.c | 3 +++ arch/arm64/kernel/smp.c | 5 +++++ include/linux/jump_label.h | 12 ++++++++++++ 5 files changed, 40 insertions(+), 3 deletions(-)