Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-12 Thread peterz
On Wed, Aug 12, 2020 at 10:18:32AM +0200, pet...@infradead.org wrote: > > trace_hardirqs_restore+0x59/0x80 kernel/trace/trace_preemptirq.c:106 > > rcu_irq_enter_irqson+0x43/0x70 kernel/rcu/tree.c:1074 > > trace_irq_enable_rcuidle+0x87/0x120 > > include/trace/events/preemptirq.h:40

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-12 Thread peterz
On Wed, Aug 12, 2020 at 10:06:50AM +0200, Marco Elver wrote: > On Tue, Aug 11, 2020 at 10:17PM +0200, pet...@infradead.org wrote: > > On Tue, Aug 11, 2020 at 11:46:51AM +0200, pet...@infradead.org wrote: > > > > > So let me once again see if I can't find a better solution for this all. > > >

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-11 Thread peterz
On Tue, Aug 11, 2020 at 11:46:51AM +0200, pet...@infradead.org wrote: > So let me once again see if I can't find a better solution for this all. > Clearly it needs one :/ So the below boots without triggering the debug code from Marco -- it should allow nesting local_irq_save/restore under

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-11 Thread peterz
On Tue, Aug 11, 2020 at 11:20:54AM +0200, pet...@infradead.org wrote: > On Tue, Aug 11, 2020 at 10:38:50AM +0200, Jürgen Groß wrote: > > In case you don't want to do it I can send the patch for the Xen > > variants. > > I might've opened a whole new can of worms here. I'm not sure we > can/want

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-11 Thread peterz
On Tue, Aug 11, 2020 at 10:38:50AM +0200, Jürgen Groß wrote: > In case you don't want to do it I can send the patch for the Xen > variants. I might've opened a whole new can of worms here. I'm not sure we can/want to fix the entire fallout this release :/ Let me ponder this a little, because the

Re: [PATCH v3 4/7] x86/paravirt: remove 32-bit support from PARAVIRT_XXL

2020-08-07 Thread peterz
On Fri, Aug 07, 2020 at 12:02:59PM +0200, Jürgen Groß wrote: > On 07.08.20 11:39, pet...@infradead.org wrote: > > On Fri, Aug 07, 2020 at 10:38:23AM +0200, Juergen Gross wrote: > > > > > -# else > > > - const unsigned char cpu_iret[1]; > > > -# endif > > > }; > > > static const struct

Re: [PATCH v3 4/7] x86/paravirt: remove 32-bit support from PARAVIRT_XXL

2020-08-07 Thread peterz
On Fri, Aug 07, 2020 at 10:38:23AM +0200, Juergen Gross wrote: > -# else > - const unsigned char cpu_iret[1]; > -# endif > }; > > static const struct patch_xxl patch_data_xxl = { > @@ -42,7 +38,6 @@ static const struct patch_xxl patch_data_xxl = { > .irq_save_fl= {

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-06 Thread peterz
On Thu, Aug 06, 2020 at 09:47:23AM +0200, Marco Elver wrote: > Testing my hypothesis that raw then nested non-raw > local_irq_save/restore() breaks IRQ state tracking -- see the reproducer > below. This is at least 1 case I can think of that we're bound to hit. Aaargh! > diff --git a/init/main.c

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-05 Thread peterz
On Wed, Aug 05, 2020 at 04:12:37PM +0200, pet...@infradead.org wrote: > On Wed, Aug 05, 2020 at 03:59:40PM +0200, Marco Elver wrote: > > On Wed, Aug 05, 2020 at 03:42PM +0200, pet...@infradead.org wrote: > > > > Shouldn't we __always_inline those? They're going to be really small. > > > > I can

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-05 Thread peterz
On Wed, Aug 05, 2020 at 03:59:40PM +0200, Marco Elver wrote: > On Wed, Aug 05, 2020 at 03:42PM +0200, pet...@infradead.org wrote: > > Shouldn't we __always_inline those? They're going to be really small. > > I can send a v2, and you can choose. For reference, though: > > 86271ee0

Re: [PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers

2020-08-05 Thread peterz
On Wed, Aug 05, 2020 at 03:26:29PM +0200, Marco Elver wrote: > Add missing noinstr to arch_local*() helpers, as they may be called from > noinstr code. > > On a KCSAN config with CONFIG_PARAVIRT=y, syzbot stumbled across corrupt Cute, so I've been working on adding objtool support for this a

Re: [PATCH v3 5/6] powerpc/pseries: implement paravirt qspinlocks for SPLPAR

2020-07-23 Thread peterz
On Thu, Jul 23, 2020 at 03:04:13PM -0400, Waiman Long wrote: > On 7/23/20 2:47 PM, pet...@infradead.org wrote: > > On Thu, Jul 23, 2020 at 02:32:36PM -0400, Waiman Long wrote: > > > BTW, do you have any comment on my v2 lock holder cpu info qspinlock > > > patch? > > > I will have to update the

Re: [PATCH v3 5/6] powerpc/pseries: implement paravirt qspinlocks for SPLPAR

2020-07-23 Thread peterz
On Thu, Jul 23, 2020 at 02:32:36PM -0400, Waiman Long wrote: > BTW, do you have any comment on my v2 lock holder cpu info qspinlock patch? > I will have to update the patch to fix the reported 0-day test problem, but > I want to collect other feedback before sending out v3. I want to say I hate