Re: [PATCH 11/11] qspinlock, kvm: Add paravirt support

From: Peter Zijlstra
Date: Mon Jul 07 2014 - 11:24:05 EST


On Sun, Jun 22, 2014 at 10:06:18PM +0530, Raghavendra K T wrote:
> On 06/15/2014 06:17 PM, Peter Zijlstra wrote:
> >Signed-off-by: Peter Zijlstra<peterz@xxxxxxxxxxxxx>
> >---
> [...]
> >+
> >+void kvm_wait(int *ptr, int val)
> >+{
> >+ unsigned long flags;
> >+
> >+ if (in_nmi())
> >+ return;
> >+
> >+ /*
> >+ * Make sure an interrupt handler can't upset things in a
> >+ * partially setup state.
> >+ */
>
> I am seeing hang with even 2 cpu guest (with patches on top of 3.15-rc6 ).
> looking further with gdb I see one cpu is stuck with native_halt with
> slowpath flag(_Q_LOCKED_SLOW) set when it was called.

Like said in 0/n I think, I only booted the kernel in kvm, didn't
actually do anything with it.

It took me most of the day to figure out how to get paravirt working at
all, didn't feel like spending another many hours trying to figure out
how to make the crap thing do actual work.

But I'll see what I can do after we can 'conceptually' agree on the
paravirt patch.

Attachment: pgpgB9W4e3KU_.pgp
Description: PGP signature