From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> To: Christophe Leroy <christophe.leroy@c-s.fr> Cc: linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>, tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt <benh@kernel.crashing.org>, Michael Ellerman <mpe@ellerman.id.au> Subject: Re: [PATCH 03/34] powerpc: Use CONFIG_PREEMPTION Date: Wed, 16 Oct 2019 09:48:43 +0200 [thread overview] Message-ID: <20191016074842.6acrlzbmgb5bx4pm@linutronix.de> (raw) In-Reply-To: <156db456-af80-1f5e-6234-2e78283569b6@c-s.fr> On 2019-10-16 06:57:48 [+0200], Christophe Leroy wrote: > > > Le 15/10/2019 à 21:17, Sebastian Andrzej Siewior a écrit : > > From: Thomas Gleixner <tglx@linutronix.de> > > > > 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(). > > powerpc doesn't select ARCH_SUPPORTS_RT, so this change is useless as > CONFIG_PREEMPT_RT cannot be selected. No it is not. It makes it possible for PowerPC to select it one day and I have patches for it today. Also, if other ARCH copies code from PowerPC it will copy the correct thing (as in distinguish between the flavour PREEMPT and the functionality PREEMPTION). > > 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); > > static int __die(const char *str, struct pt_regs *regs, long err) > > { > > + const char *pr = ""; > > + > > Please follow the same approach as already existing. Don't add a local var > for that. I would leave it to the maintainer to comment on that and decide which one they want. My eyes find it more readable and the compiles does not create more code. > > printk("Oops: %s, sig: %ld [#%d]\n", str, err, ++die_counter); > > + if (IS_ENABLED(CONFIG_PREEMPTION)) > > + pr = IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT"; > > + > > drop > > > printk("%s PAGE_SIZE=%luK%s%s%s%s%s%s%s %s\n", > > Add one %s > > > IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN) ? "LE" : "BE", > > PAGE_SIZE / 1024, > > early_radix_enabled() ? " MMU=Radix" : "", > > early_mmu_has_feature(MMU_FTR_HPTE_TABLE) ? " MMU=Hash" : "", > > - IS_ENABLED(CONFIG_PREEMPT) ? " PREEMPT" : "", > > Replace by: IS_ENABLED(CONFIG_PREEMPTION) ? " PREEMPT" : "" > > > + pr, > > add something like: IS_ENABLED(CONFIG_PREEMPT_RT) ? "_RT" : "" this on the other hand will create more code which is not strictly required. > > IS_ENABLED(CONFIG_SMP) ? " SMP" : "", > > IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=" __stringify(NR_CPUS)) : "", > > debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", > > > > Christophe Sebastian
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> To: Christophe Leroy <christophe.leroy@c-s.fr> Cc: linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>, tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH 03/34] powerpc: Use CONFIG_PREEMPTION Date: Wed, 16 Oct 2019 09:48:43 +0200 [thread overview] Message-ID: <20191016074842.6acrlzbmgb5bx4pm@linutronix.de> (raw) In-Reply-To: <156db456-af80-1f5e-6234-2e78283569b6@c-s.fr> On 2019-10-16 06:57:48 [+0200], Christophe Leroy wrote: > > > Le 15/10/2019 à 21:17, Sebastian Andrzej Siewior a écrit : > > From: Thomas Gleixner <tglx@linutronix.de> > > > > 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(). > > powerpc doesn't select ARCH_SUPPORTS_RT, so this change is useless as > CONFIG_PREEMPT_RT cannot be selected. No it is not. It makes it possible for PowerPC to select it one day and I have patches for it today. Also, if other ARCH copies code from PowerPC it will copy the correct thing (as in distinguish between the flavour PREEMPT and the functionality PREEMPTION). > > 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); > > static int __die(const char *str, struct pt_regs *regs, long err) > > { > > + const char *pr = ""; > > + > > Please follow the same approach as already existing. Don't add a local var > for that. I would leave it to the maintainer to comment on that and decide which one they want. My eyes find it more readable and the compiles does not create more code. > > printk("Oops: %s, sig: %ld [#%d]\n", str, err, ++die_counter); > > + if (IS_ENABLED(CONFIG_PREEMPTION)) > > + pr = IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT"; > > + > > drop > > > printk("%s PAGE_SIZE=%luK%s%s%s%s%s%s%s %s\n", > > Add one %s > > > IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN) ? "LE" : "BE", > > PAGE_SIZE / 1024, > > early_radix_enabled() ? " MMU=Radix" : "", > > early_mmu_has_feature(MMU_FTR_HPTE_TABLE) ? " MMU=Hash" : "", > > - IS_ENABLED(CONFIG_PREEMPT) ? " PREEMPT" : "", > > Replace by: IS_ENABLED(CONFIG_PREEMPTION) ? " PREEMPT" : "" > > > + pr, > > add something like: IS_ENABLED(CONFIG_PREEMPT_RT) ? "_RT" : "" this on the other hand will create more code which is not strictly required. > > IS_ENABLED(CONFIG_SMP) ? " SMP" : "", > > IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=" __stringify(NR_CPUS)) : "", > > debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", > > > > Christophe Sebastian
next prev parent reply other threads:[~2019-10-16 7:48 UTC|newest] Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-15 19:17 [PATCH 00/34] Treewide: Use CONFIG_PREEMPTION Sebastian Andrzej Siewior 2019-10-15 19:17 ` [PATCH 01/34] ARM: " Sebastian Andrzej Siewior 2019-10-15 19:17 ` Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 02/34] arm64: " Sebastian Andrzej Siewior 2019-10-15 19:17 ` Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 03/34] powerpc: " Sebastian Andrzej Siewior 2019-10-15 19:17 ` Sebastian Andrzej Siewior 2019-10-16 4:57 ` Christophe Leroy 2019-10-16 4:57 ` Christophe Leroy 2019-10-16 7:48 ` Sebastian Andrzej Siewior [this message] 2019-10-16 7:48 ` Sebastian Andrzej Siewior 2019-10-16 9:33 ` Michael Ellerman 2019-10-16 9:33 ` Michael Ellerman 2019-10-16 9:35 ` Sebastian Andrzej Siewior 2019-10-16 9:35 ` Sebastian Andrzej Siewior 2019-10-24 13:59 ` [PATCH 03/34 v2] " Sebastian Andrzej Siewior 2019-10-24 13:59 ` Sebastian Andrzej Siewior 2019-10-24 16:04 ` [PATCH 03/34 v3] " Sebastian Andrzej Siewior 2019-10-24 16:04 ` Sebastian Andrzej Siewior 2019-11-12 12:38 ` Michael Ellerman 2019-11-12 12:38 ` Michael Ellerman 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-12-08 14:58 ` tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 04/34] ARC: " Sebastian Andrzej Siewior 2019-10-15 19:17 ` Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 05/34] c6x: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 06/34] csky: " Sebastian Andrzej Siewior 2019-10-15 23:29 ` Guo Ren 2019-10-16 7:39 ` Sebastian Andrzej Siewior 2019-10-16 23:31 ` Guo Ren 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 07/34] h8300: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 08/34] hexagon: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 09/34] ia64: " Sebastian Andrzej Siewior 2019-10-15 19:17 ` Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-12-08 14:58 ` tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 10/34] m68k/coldfire: " Sebastian Andrzej Siewior 2019-10-16 0:50 ` Greg Ungerer 2019-10-16 7:55 ` Sebastian Andrzej Siewior 2019-10-16 12:14 ` Greg Ungerer 2019-10-15 19:17 ` [PATCH 11/34] microblaze: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:17 ` [PATCH 12/34] MIPS: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 13/34] nds32: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 14/34] nios2: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 15/34] parisc: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 16/34] riscv: " Sebastian Andrzej Siewior 2019-10-15 19:18 ` Sebastian Andrzej Siewior 2019-10-15 20:26 ` Paul Walmsley 2019-10-15 20:26 ` Paul Walmsley 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 17/34] s390: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 18/34] sh: " Sebastian Andrzej Siewior 2019-10-15 19:18 ` Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-12-08 14:58 ` tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 19/34] sparc: " Sebastian Andrzej Siewior 2019-10-15 19:18 ` Sebastian Andrzej Siewior 2019-10-15 20:34 ` David Miller 2019-10-15 20:34 ` David Miller 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-12-08 14:58 ` tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 20/34] xtensa: " Sebastian Andrzej Siewior 2019-10-15 19:43 ` Max Filippov 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 21/34] net: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, net: Use CONFIG_PREEMPTION.patch tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 22/34] xen: Use CONFIG_PREEMPTION Sebastian Andrzej Siewior 2019-10-15 19:18 ` [Xen-devel] " Sebastian Andrzej Siewior 2019-10-16 5:10 ` Jürgen Groß 2019-10-16 5:10 ` [Xen-devel] " Jürgen Groß 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-12-08 14:58 ` [Xen-devel] " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 23/34] fs: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 24/34] btrfs: " Sebastian Andrzej Siewior 2019-10-15 20:16 ` David Sterba 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 25/34] mm: " Sebastian Andrzej Siewior 2019-10-16 14:38 ` Christopher Lameter 2019-10-16 14:38 ` Christopher Lameter 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Thomas Gleixner 2019-10-15 19:18 ` [PATCH 26/34] Documentation/RCU: Use CONFIG_PREEMPTION where appropriate Sebastian Andrzej Siewior 2019-10-16 4:13 ` Paul E. McKenney 2019-10-16 7:31 ` Sebastian Andrzej Siewior 2019-10-17 3:06 ` Paul E. McKenney 2019-10-15 19:18 ` [PATCH 27/34] rcu: " Sebastian Andrzej Siewior 2019-10-16 4:14 ` Paul E. McKenney 2019-10-15 19:18 ` [PATCH 28/34] drm/i810: Refer to `PREEMPTION' in comment Sebastian Andrzej Siewior 2019-10-16 19:58 ` Daniel Vetter 2019-10-15 19:18 ` [PATCH 29/34] backlight/jornada720: Use CONFIG_PREEMPTION Sebastian Andrzej Siewior 2019-10-15 19:18 ` Sebastian Andrzej Siewior 2019-10-17 11:37 ` Daniel Thompson 2019-10-17 11:37 ` Daniel Thompson 2019-10-17 13:23 ` Lee Jones 2019-10-17 13:23 ` Lee Jones 2019-10-17 13:23 ` Lee Jones 2019-10-17 13:28 ` Sebastian Andrzej Siewior 2019-10-17 13:28 ` Sebastian Andrzej Siewior 2019-10-18 7:38 ` Lee Jones 2019-10-18 7:38 ` Lee Jones 2019-10-18 7:38 ` Lee Jones 2019-10-18 7:40 ` Lee Jones 2019-10-18 7:40 ` Lee Jones 2019-10-18 7:40 ` Lee Jones 2019-10-15 19:18 ` [PATCH 30/34] media: cec-gpio: " Sebastian Andrzej Siewior 2019-10-15 19:53 ` Hans Verkuil 2019-10-16 11:51 ` Hans Verkuil 2019-10-16 12:02 ` Sebastian Andrzej Siewior 2019-10-16 12:24 ` Hans Verkuil 2019-10-15 19:18 ` [PATCH 31/34] locking: " Sebastian Andrzej Siewior 2019-10-16 8:18 ` Peter Zijlstra 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Sebastian Andrzej Siewior 2019-10-15 19:18 ` [PATCH 32/34] lib: " Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/core: " tip-bot2 for Sebastian Andrzej Siewior 2019-10-15 19:18 ` [PATCH 33/34] tracing: " Sebastian Andrzej Siewior 2019-10-15 19:24 ` Steven Rostedt 2019-10-15 19:18 ` [PATCH 34/34] workqueue: Use PREEMPTION Sebastian Andrzej Siewior 2019-12-08 14:58 ` [tip: sched/urgent] sched/rt, " tip-bot2 for Sebastian Andrzej Siewior
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191016074842.6acrlzbmgb5bx4pm@linutronix.de \ --to=bigeasy@linutronix.de \ --cc=benh@kernel.crashing.org \ --cc=christophe.leroy@c-s.fr \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mpe@ellerman.id.au \ --cc=paulus@samba.org \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.