[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [v1 PATCH 2/3]: Helper routines to use GLib threadpool
From: |
Venkateswararao Jujjuri (JV) |
Subject: |
[Qemu-devel] Re: [v1 PATCH 2/3]: Helper routines to use GLib threadpool infrastructure in 9pfs. |
Date: |
Wed, 16 Mar 2011 07:20:20 -0700 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 |
On 3/16/2011 6:10 AM, Anthony Liguori wrote:
> On 03/16/2011 04:20 AM, Stefan Hajnoczi wrote:
>> On Tue, Mar 15, 2011 at 1:13 PM, Anthony Liguori<address@hidden> wrote:
>>> Why even bothering signaling for completion with the virtio-9p threadpool?
>>>
>>> There's no sane guest that's going to poll on virtio-9p completion with
>>> interrupts disabled and no timer. Once we enable the I/O thread by default,
>>> it won't even be necessary for the paio layer.
>> It's not just about preventing livelock under extreme cases. If you
>> omit the signal then !CONFIG_IOTHREAD builds will see increased
>> latency because virtfs request completion will piggy-back on other
>> events that *do* interrupt the vcpu.
>
> But realistically, the timer is firing at a high enough frequency that I doubt
> you'd even observe the latency.
>
> There's an easy solution here, just do some sniff testing to see if you can
> tell
> the difference. I bet you can't.
>
>> I'm no fan of !CONFIG_IOTHREAD
>> but skipping signals is currently bad practice and will continue to be
>> until CONFIG_IOTHREAD is removed entirely.
>>
>> The proper solution would be a thin abstraction for thread-safe
>> notification that compiles out signals when CONFIG_IOTHREAD is used.
>> Then we have one place in QEMU that does signalling correctly and we
>> can optimize it or remove CONFIG_IOTHREAD completely without having
>> the burden of duplicating this code in several places.
>
> We have probably 5 different ways to wake up a CPU. I don't think we should
> add
> a new one just for this.
>
> !CONFIG_IOTHREAD needs to go away in the very near future. I'd rather focus
> on
> that.
If that is the case, how about making VirtFS dependent on CONFIG_IOTHREAD
during the configuration? This can help even if !CONFIG_IOTHREAD lingers around
for some more time and would avoid any of the Stefan's concerns.
- JV
>
> Regards,
>
> Anthony Liguori
>
>> Stefan
>
- [Qemu-devel] [v1 PATCH 1/3]: Move the paio_signal_handler to a generic location., (continued)
[Qemu-devel] [v1 PATCH 3/3]: Convert v9fs_stat to threaded model., Arun R Bharadwaj, 2011/03/15