All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: link
Be 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.