Re: [PATCH] block: virtio_blk: don't hold spin lock during world switch
From: Ming Lei
Date: Mon Jun 02 2014 - 09:06:16 EST
On Mon, Jun 2, 2014 at 9:23 AM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
> Jens Axboe <axboe@xxxxxxxxx> writes:
>> On 2014-05-30 00:10, Rusty Russell wrote:
>>> Jens Axboe <axboe@xxxxxxxxx> writes:
>>>> 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.
>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/