From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754858AbbGXSCa (ORCPT ); Fri, 24 Jul 2015 14:02:30 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:33455 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754752AbbGXSB7 (ORCPT ); Fri, 24 Jul 2015 14:01:59 -0400 Message-Id: <20150724175209.814173117@infradead.org> User-Agent: quilt/0.61-1 Date: Fri, 24 Jul 2015 19:52:09 +0200 From: Peter Zijlstra To: linux-kernel@vger.kernel.org, mingo@kernel.org Cc: jasonbaron0@gmail.com, bp@alien8.de, luto@amacapital.net, tglx@linutronix.de, rostedt@goodmis.org, will.deacon@arm.com, liuj97@gmail.com, rabin@rab.in, ralf@linux-mips.org, ddaney@caviumnetworks.com, benh@kernel.crashing.org, michael@ellerman.id.au, heiko.carstens@de.ibm.com, davem@davemloft.net, peterz@infradead.org Subject: [RFC][PATCH 0/7] jump_label: Another (better) static_key interface Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, After yet another bug because of the weirdness of the static key interface, here an attempt at providing a better one. This is boot tested on x86_64, bzImage works, modules have a problem. It looks like jump_label_add_module() runs into a 'wrong' NOP, which would indicate jump_label_apply_nops() didn't work right. I'm too tired to spot the fail, so I figured I'd post it anyway :-) Beware: x86_64_defconfig has CONFIG_JUMP_LABEL=n. @arch people, please have a look at patch 6 where I've attempted to do inline asm for all kinds of unknown archs. --- arch/arm/include/asm/jump_label.h | 18 +++- arch/arm/kernel/jump_label.c | 2 +- arch/arm64/include/asm/jump_label.h | 18 +++- arch/arm64/kernel/jump_label.c | 2 +- arch/mips/include/asm/jump_label.h | 19 +++- arch/mips/kernel/jump_label.c | 2 +- arch/powerpc/include/asm/jump_label.h | 19 +++- arch/powerpc/kernel/jump_label.c | 2 +- arch/s390/include/asm/jump_label.h | 19 +++- arch/s390/kernel/jump_label.c | 2 +- arch/sparc/include/asm/jump_label.h | 34 ++++-- arch/sparc/kernel/jump_label.c | 2 +- arch/x86/include/asm/jump_label.h | 21 +++- arch/x86/kernel/jump_label.c | 2 +- arch/x86/kernel/tsc.c | 22 ++-- include/linux/jump_label.h | 188 +++++++++++++++++++++++++++++----- kernel/jump_label.c | 114 ++++++++++++--------- kernel/sched/core.c | 6 +- 18 files changed, 374 insertions(+), 118 deletions(-)