Thread (8 messages) 8 messages, 4 authors, 2014-06-11

Re: [PATCH] block: virtio_blk: don't hold spin lock during world switch

From: Ming Lei <hidden>
Date: 2014-06-02 13:06:11
Also in: lkml

Possibly related (same subject, not in this thread)

On Mon, Jun 2, 2014 at 9:23 AM, Rusty Russell [off-list ref] wrote:
Jens Axboe [off-list ref] writes:
quoted
On 2014-05-30 00:10, Rusty Russell wrote:
quoted
Jens Axboe [off-list ref] writes:
quoted
If Rusty agrees, I'd like to add it for 3.16 with a stable marker.
Really stable?  It improves performance, which is nice.  But every patch
which goes into the kernel fixes a bug, improves clarity, improves
performance or adds a feature.  I've now seen all four cases get CC'd
into stable.

Including some of mine explicitly not marked stable which get swept up
by enthusiastic stable maintainers :(

Is now there *any* patch short of a major rewrite which shouldn't get
cc: stable?
I agree that there's sometimes an unfortunate trend there. I didn't
check, but my assumption was that this is a regression after the blk-mq
conversion, in which case I do think it belongs in stable.
No, it's always been that way.  In the original driver the entire "issue
requests" function was under the lock.

It was your mq conversion which made this optimization possible, and
also made it an optimization: now other the queues can continue while
this one is going.
quoted
But in any case, I think the patch is obviously correct and the wins are
sufficiently large to warrant a stable inclusion even if it isn't a
regression.
If you're running SMP under an emulator where exits are expensive, then
this wins.  Under KVM it's marginal at best.
Both my tests on arm64 and x86 are under KVM, and looks the
patch can improve performance a lot. IMO, even though under
KVM, virtio-blk performance still depends how well hypervisor(
qemu, ...) emulates the device, and basically speaking, it is
expensive to switch from guest to host and let host handle the
notification.


Thanks,
--
Ming Lei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help