Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp6655011ybp; Tue, 15 Oct 2019 19:15:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqx2L5ofawCZyxfOyL/7U1ssfNYkQ3JdDXVyGuoLHyzsfOPlPSYyYvA0IGM7vBhRPavnI9Ng X-Received: by 2002:a17:906:d928:: with SMTP id rn8mr36391729ejb.143.1571192121171; Tue, 15 Oct 2019 19:15:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571192121; cv=none; d=google.com; s=arc-20160816; b=YRNqQvS4mkutWM8KiPWMlyLuqpU6znsp5Cg3U1CsXMrHZEqrs66Ml0qpidgum6fycw pDdWXXmTiFa6Jq+Eo1CgmxI90IiRGKTHgTeCnaIyTEHiiMOYOvmb0C565eU4m8lKDTLH glOq78nF0ZI0doqhd4ZgGwYn/Osc/rLoILBoepXbHtwVFAFRcbSjVHayR6Oq3RMqJyjA nOcLbXucEZSIV9cRMSxNxZBnG6caXAh6lCDchGUb+L1ruEy2fZhlVQ+nin7U5zXB+OYC gFhB1lw/UujXZLnpDNBFyZH75+bvwO7wPs7y5MZ080j63JnTSlFg1QeSyRl/BPb+tNT/ nJjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=Zm5pOfIrBSs3fOGYxWz/QMl9YfjfGdmqHLVaLIF0FHA=; b=giWl5qDrG5htb28JtWcFfvcgaVxCP9rFPvZQTZLgmcl5ygHn1E98fIPd1Kw0q9vD44 iYOQtkYB5YR+zoVcyphH0Ht369Yq2U5bZ38o+qtwsyYoLuNyu7WaIDdSB450Q7rDd1t2 GLEPJjfL2ZHmWqW/a+XJsuTbaNrEA7VRIkqOoJjO5UldK5D+iSXDFBnoXLEicloCykGJ RaQzLj6BSYA8/2d/bJ+1gS8TsR5cHSVnjkZOwTY47TBo0+D93hAGxwb7ef2Ng38DcrBA F9tYHoOZ6CsAoNPjKy1jLJH1lVPulzyzcw68bMRGQeAyHzOKpoezYOFIp0zozxtKV3Ux O2zg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s6si14488881ejr.274.2019.10.15.19.14.58; Tue, 15 Oct 2019 19:15:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389733AbfJOTV1 (ORCPT + 99 others); Tue, 15 Oct 2019 15:21:27 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:45621 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731917AbfJOTSh (ORCPT ); Tue, 15 Oct 2019 15:18:37 -0400 Received: from localhost ([127.0.0.1] helo=localhost.localdomain) by Galois.linutronix.de with esmtp (Exim 4.80) (envelope-from ) id 1iKSL2-00067i-Qs; Tue, 15 Oct 2019 21:18:32 +0200 From: Sebastian Andrzej Siewior To: linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, Sebastian Andrzej Siewior Subject: [PATCH 03/34] powerpc: Use CONFIG_PREEMPTION Date: Tue, 15 Oct 2019 21:17:50 +0200 Message-Id: <20191015191821.11479-4-bigeasy@linutronix.de> In-Reply-To: <20191015191821.11479-1-bigeasy@linutronix.de> References: <20191015191821.11479-1-bigeasy@linutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thomas Gleixner CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT. Both PREEMPT and PREEMPT_RT require the same functionality which today depends on CONFIG_PREEMPT. Switch the entry code over to use CONFIG_PREEMPTION. Add PREEMPT_RT output in __die(). Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Michael Ellerman Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Thomas Gleixner [bigeasy: +traps.c, Kconfig] Signed-off-by: Sebastian Andrzej Siewior --- arch/powerpc/Kconfig | 2 +- arch/powerpc/kernel/entry_32.S | 4 ++-- arch/powerpc/kernel/entry_64.S | 4 ++-- arch/powerpc/kernel/traps.c | 7 ++++++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 3e56c9c2f16ee..8ead8d6e1cbc8 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -106,7 +106,7 @@ config LOCKDEP_SUPPORT config GENERIC_LOCKBREAK bool default y - depends on SMP && PREEMPT + depends on SMP && PREEMPTION =20 config GENERIC_HWEIGHT bool diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index d60908ea37fb9..e1a4c39b83b86 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S @@ -897,7 +897,7 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ bne- 0b 1: =20 -#ifdef CONFIG_PREEMPT +#ifdef CONFIG_PREEMPTION /* check current_thread_info->preempt_count */ lwz r0,TI_PREEMPT(r2) cmpwi 0,r0,0 /* if non-zero, just restore regs and return */ @@ -921,7 +921,7 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ */ bl trace_hardirqs_on #endif -#endif /* CONFIG_PREEMPT */ +#endif /* CONFIG_PREEMPTION */ restore_kuap: kuap_restore r1, r2, r9, r10, r0 =20 diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 6467bdab8d405..83733376533e8 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S @@ -840,7 +840,7 @@ _GLOBAL(ret_from_except_lite) bne- 0b 1: =20 -#ifdef CONFIG_PREEMPT +#ifdef CONFIG_PREEMPTION /* Check if we need to preempt */ andi. r0,r4,_TIF_NEED_RESCHED beq+ restore @@ -871,7 +871,7 @@ _GLOBAL(ret_from_except_lite) li r10,MSR_RI mtmsrd r10,1 /* Update machine state */ #endif /* CONFIG_PPC_BOOK3E */ -#endif /* CONFIG_PREEMPT */ +#endif /* CONFIG_PREEMPTION */ =20 .globl fast_exc_return_irq fast_exc_return_irq: diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 82f43535e6867..23d2f20be4f2e 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -252,14 +252,19 @@ NOKPROBE_SYMBOL(oops_end); =20 static int __die(const char *str, struct pt_regs *regs, long err) { + const char *pr =3D ""; + printk("Oops: %s, sig: %ld [#%d]\n", str, err, ++die_counter); =20 + if (IS_ENABLED(CONFIG_PREEMPTION)) + pr =3D IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT"; + printk("%s PAGE_SIZE=3D%luK%s%s%s%s%s%s%s %s\n", IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN) ? "LE" : "BE", PAGE_SIZE / 1024, early_radix_enabled() ? " MMU=3DRadix" : "", early_mmu_has_feature(MMU_FTR_HPTE_TABLE) ? " MMU=3DHash" : "", - IS_ENABLED(CONFIG_PREEMPT) ? " PREEMPT" : "", + pr, IS_ENABLED(CONFIG_SMP) ? " SMP" : "", IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=3D" __stringify(NR_CPUS)) : "", debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", --=20 2.23.0