All of lore.kernel.org
 help / color / mirror / Atom feed
From: "bogdan.purcareata@freescale.com" <bogdan.purcareata@freescale.com>
To: Scott Wood <scottwood@freescale.com>
Cc: "kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mihai.caraman@freescale.com" <mihai.caraman@freescale.com>,
	"Laurentiu.Tudor@freescale.com" <Laurentiu.Tudor@freescale.com>
Subject: RE: [PATCH] KVM: PPC: Convert openpic lock to raw_spinlock
Date: Fri, 12 Sep 2014 14:12:02 +0000	[thread overview]
Message-ID: <337352d340114a34a32f71445b496a74@BY2PR03MB189.namprd03.prod.outlook.com> (raw)
In-Reply-To: <1410459569.24184.361.camel@snotra.buserror.net>

> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Thursday, September 11, 2014 9:19 PM
> To: Purcareata Bogdan-B43198
> Cc: kvm-ppc@vger.kernel.org; kvm@vger.kernel.org
> Subject: Re: [PATCH] KVM: PPC: Convert openpic lock to raw_spinlock
> 
> On Thu, 2014-09-11 at 15:25 -0400, Bogdan Purcareata wrote:
> > This patch enables running intensive I/O workloads, e.g. netperf, in a guest
> > deployed on a RT host. No change for !RT kernels.
> >
> > The openpic spinlock becomes a sleeping mutex on a RT system. This no longer
> > guarantees that EPR is atomic with exception delivery. The guest VCPU thread
> > fails due to a BUG_ON(preemptible()) when running netperf.
> >
> > In order to make the kvmppc_mpic_set_epr() call safe on RT from non-atomic
> > context, convert the openpic lock to a raw_spinlock. A similar approach can
> > be seen for x86 platforms in the following commit [1].
> >
> > Here are some comparative cyclitest measurements run inside a high priority
> RT
> > guest run on a RT host. The guest has 1 VCPU and the test has been run for
> 15
> > minutes. The guest runs ~750 hackbench processes as background stress.
> 
> Does hackbench involve triggering interrupts that would go through the
> MPIC?  You may want to try an I/O-heavy benchmark to stress the MPIC
> code (the more interrupt sources are active at once, the "better").

Before this patch, running netperf/iperf in the guest always resulted in hitting the afore-mentioned BUG_ON, when the host was RT. This is why I can't provide comparative cyclitest measurements before and after the patch, with heavy I/O stress. Since I had no problem running hackbench before, I'm assuming it doesn't involve interrupts passing through the MPIC. The measurements were posted just to show that the patch doesn't mess up anything somewhere else.

> Also try a guest with many vcpus.

AFAIK, without the MSI affinity patches [1], all vfio interrupts will go to core 0 in the guest. In this case, I guess there won't be contention induced latencies due to multiple VCPUs expecting to have their interrupts delivered. Am I getting it wrong?

[1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2014-August/120247.html

Thanks,
Bogdan P.

WARNING: multiple messages have this Message-ID (diff)
From: "bogdan.purcareata@freescale.com" <bogdan.purcareata@freescale.com>
To: Scott Wood <scottwood@freescale.com>
Cc: "kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mihai.caraman@freescale.com" <mihai.caraman@freescale.com>,
	"Laurentiu.Tudor@freescale.com" <Laurentiu.Tudor@freescale.com>
Subject: RE: [PATCH] KVM: PPC: Convert openpic lock to raw_spinlock
Date: Fri, 12 Sep 2014 14:12:02 +0000	[thread overview]
Message-ID: <337352d340114a34a32f71445b496a74@BY2PR03MB189.namprd03.prod.outlook.com> (raw)
In-Reply-To: <1410459569.24184.361.camel@snotra.buserror.net>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXb29kIFNjb3R0LUIwNzQyMQ0K
PiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDExLCAyMDE0IDk6MTkgUE0NCj4gVG86IFB1cmNh
cmVhdGEgQm9nZGFuLUI0MzE5OA0KPiBDYzoga3ZtLXBwY0B2Z2VyLmtlcm5lbC5vcmc7IGt2bUB2
Z2VyLmtlcm5lbC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gS1ZNOiBQUEM6IENvbnZlcnQg
b3BlbnBpYyBsb2NrIHRvIHJhd19zcGlubG9jaw0KPiANCj4gT24gVGh1LCAyMDE0LTA5LTExIGF0
IDE1OjI1IC0wNDAwLCBCb2dkYW4gUHVyY2FyZWF0YSB3cm90ZToNCj4gPiBUaGlzIHBhdGNoIGVu
YWJsZXMgcnVubmluZyBpbnRlbnNpdmUgSS9PIHdvcmtsb2FkcywgZS5nLiBuZXRwZXJmLCBpbiBh
IGd1ZXN0DQo+ID4gZGVwbG95ZWQgb24gYSBSVCBob3N0LiBObyBjaGFuZ2UgZm9yICFSVCBrZXJu
ZWxzLg0KPiA+DQo+ID4gVGhlIG9wZW5waWMgc3BpbmxvY2sgYmVjb21lcyBhIHNsZWVwaW5nIG11
dGV4IG9uIGEgUlQgc3lzdGVtLiBUaGlzIG5vIGxvbmdlcg0KPiA+IGd1YXJhbnRlZXMgdGhhdCBF
UFIgaXMgYXRvbWljIHdpdGggZXhjZXB0aW9uIGRlbGl2ZXJ5LiBUaGUgZ3Vlc3QgVkNQVSB0aHJl
YWQNCj4gPiBmYWlscyBkdWUgdG8gYSBCVUdfT04ocHJlZW1wdGlibGUoKSkgd2hlbiBydW5uaW5n
IG5ldHBlcmYuDQo+ID4NCj4gPiBJbiBvcmRlciB0byBtYWtlIHRoZSBrdm1wcGNfbXBpY19zZXRf
ZXByKCkgY2FsbCBzYWZlIG9uIFJUIGZyb20gbm9uLWF0b21pYw0KPiA+IGNvbnRleHQsIGNvbnZl
cnQgdGhlIG9wZW5waWMgbG9jayB0byBhIHJhd19zcGlubG9jay4gQSBzaW1pbGFyIGFwcHJvYWNo
IGNhbg0KPiA+IGJlIHNlZW4gZm9yIHg4NiBwbGF0Zm9ybXMgaW4gdGhlIGZvbGxvd2luZyBjb21t
aXQgWzFdLg0KPiA+DQo+ID4gSGVyZSBhcmUgc29tZSBjb21wYXJhdGl2ZSBjeWNsaXRlc3QgbWVh
c3VyZW1lbnRzIHJ1biBpbnNpZGUgYSBoaWdoIHByaW9yaXR5DQo+IFJUDQo+ID4gZ3Vlc3QgcnVu
IG9uIGEgUlQgaG9zdC4gVGhlIGd1ZXN0IGhhcyAxIFZDUFUgYW5kIHRoZSB0ZXN0IGhhcyBiZWVu
IHJ1biBmb3INCj4gMTUNCj4gPiBtaW51dGVzLiBUaGUgZ3Vlc3QgcnVucyB+NzUwIGhhY2tiZW5j
aCBwcm9jZXNzZXMgYXMgYmFja2dyb3VuZCBzdHJlc3MuDQo+IA0KPiBEb2VzIGhhY2tiZW5jaCBp
bnZvbHZlIHRyaWdnZXJpbmcgaW50ZXJydXB0cyB0aGF0IHdvdWxkIGdvIHRocm91Z2ggdGhlDQo+
IE1QSUM/ICBZb3UgbWF5IHdhbnQgdG8gdHJ5IGFuIEkvTy1oZWF2eSBiZW5jaG1hcmsgdG8gc3Ry
ZXNzIHRoZSBNUElDDQo+IGNvZGUgKHRoZSBtb3JlIGludGVycnVwdCBzb3VyY2VzIGFyZSBhY3Rp
dmUgYXQgb25jZSwgdGhlICJiZXR0ZXIiKS4NCg0KQmVmb3JlIHRoaXMgcGF0Y2gsIHJ1bm5pbmcg
bmV0cGVyZi9pcGVyZiBpbiB0aGUgZ3Vlc3QgYWx3YXlzIHJlc3VsdGVkIGluIGhpdHRpbmcgdGhl
IGFmb3JlLW1lbnRpb25lZCBCVUdfT04sIHdoZW4gdGhlIGhvc3Qgd2FzIFJULiBUaGlzIGlzIHdo
eSBJIGNhbid0IHByb3ZpZGUgY29tcGFyYXRpdmUgY3ljbGl0ZXN0IG1lYXN1cmVtZW50cyBiZWZv
cmUgYW5kIGFmdGVyIHRoZSBwYXRjaCwgd2l0aCBoZWF2eSBJL08gc3RyZXNzLiBTaW5jZSBJIGhh
ZCBubyBwcm9ibGVtIHJ1bm5pbmcgaGFja2JlbmNoIGJlZm9yZSwgSSdtIGFzc3VtaW5nIGl0IGRv
ZXNuJ3QgaW52b2x2ZSBpbnRlcnJ1cHRzIHBhc3NpbmcgdGhyb3VnaCB0aGUgTVBJQy4gVGhlIG1l
YXN1cmVtZW50cyB3ZXJlIHBvc3RlZCBqdXN0IHRvIHNob3cgdGhhdCB0aGUgcGF0Y2ggZG9lc24n
dCBtZXNzIHVwIGFueXRoaW5nIHNvbWV3aGVyZSBlbHNlLg0KDQo+IEFsc28gdHJ5IGEgZ3Vlc3Qg
d2l0aCBtYW55IHZjcHVzLg0KDQpBRkFJSywgd2l0aG91dCB0aGUgTVNJIGFmZmluaXR5IHBhdGNo
ZXMgWzFdLCBhbGwgdmZpbyBpbnRlcnJ1cHRzIHdpbGwgZ28gdG8gY29yZSAwIGluIHRoZSBndWVz
dC4gSW4gdGhpcyBjYXNlLCBJIGd1ZXNzIHRoZXJlIHdvbid0IGJlIGNvbnRlbnRpb24gaW5kdWNl
ZCBsYXRlbmNpZXMgZHVlIHRvIG11bHRpcGxlIFZDUFVzIGV4cGVjdGluZyB0byBoYXZlIHRoZWly
IGludGVycnVwdHMgZGVsaXZlcmVkLiBBbSBJIGdldHRpbmcgaXQgd3Jvbmc/DQoNClsxXSBodHRw
czovL2xpc3RzLm96bGFicy5vcmcvcGlwZXJtYWlsL2xpbnV4cHBjLWRldi8yMDE0LUF1Z3VzdC8x
MjAyNDcuaHRtbA0KDQpUaGFua3MsDQpCb2dkYW4gUC4NCg=

  reply	other threads:[~2014-09-12 14:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-11 13:06 [PATCH] KVM: PPC: Convert openpic lock to raw_spinlock Bogdan Purcareata
2014-09-11 19:25 ` Bogdan Purcareata
2014-09-11 18:19 ` Scott Wood
2014-09-11 18:19   ` Scott Wood
2014-09-12 14:12   ` bogdan.purcareata [this message]
2014-09-12 14:12     ` bogdan.purcareata
2014-09-12 17:50     ` Scott Wood
2014-09-12 17:50       ` Scott Wood
2015-01-22  9:39 Bogdan Purcareata
2015-02-02  9:35 ` Purcareata Bogdan
2015-02-17 12:27   ` Purcareata Bogdan
2015-02-17 17:53     ` Sebastian Andrzej Siewior
2015-02-17 17:59       ` Sebastian Andrzej Siewior
2015-02-18  8:31         ` Purcareata Bogdan
2015-02-18  8:40           ` 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=337352d340114a34a32f71445b496a74@BY2PR03MB189.namprd03.prod.outlook.com \
    --to=bogdan.purcareata@freescale.com \
    --cc=Laurentiu.Tudor@freescale.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=mihai.caraman@freescale.com \
    --cc=scottwood@freescale.com \
    /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.