From: Jan Kiszka <jan.kiszka-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH] fix reading from character devices
Date: Mon, 21 Jan 2008 12:30:25 +0100 [thread overview]
Message-ID: <47948251.1030204@siemens.com> (raw)
In-Reply-To: <479478E6.6030903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Avi Kivity wrote:
> Dor Laor wrote:
>> On Mon, 2008-01-21 at 12:13 +0200, Avi Kivity wrote:
>>
>>> Jan Kiszka wrote:
>>>
>>>> Hi Avi,
>>>>
>>>> commit "kvm: qemu: consume all pending I/O in I/O loop"
>>>> (8ab8bb09f1115b9bf733f885cc92b6c63d83f420) broke reading data bursts
>>>> from serial devices (and maybe from other character devices as well) by
>>>> guests. Reason: serial devices do input flow control via fd_read_poll,
>>>> but qemu now ignores this fact by pushing all data into the virtual
>>>> device as soon as it is available.
>>>>
>>>> Patch below is not really nice (just as the whole internal virtual I/O
>>>> interface at the moment, IMHO), but it re-enables the serial ports for
>>>> now.
>>>>
>>>>
>>> I'm worried that it will break Dor's hack that speeds up virtio. Dor?
>>>
>>>
>>
>> It should be fine. Tap device without my hack has fd_read_poll null and
>> I hacked it to have a handler that returns false if virtio is used and
>> true otherwise. So Jan's patch should set 'more' to 1 and it will be
>> like before.
>>
>>
>
> But if virtio is used with this patch, it won't set 'more' to 1. Will
> virtio handle it or will throughput drop to be related to whatever
> timers we have set up?
As long as virtio_net_can_receive returns 1, the loop will keep on
feeding also this device. And if it returns 0, I see no reason for
ignoring this signal. Anythings else would be, well, weird. However, the
current io-polling loop in git urgently needs fixing, or even a redesign.
Jan
--
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
prev parent reply other threads:[~2008-01-21 11:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-21 9:29 [PATCH] fix reading from character devices Jan Kiszka
[not found] ` <47946610.9040001-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-21 10:13 ` Avi Kivity
[not found] ` <47947045.6040106-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-21 10:43 ` Dor Laor
[not found] ` <1200912198.3188.6.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-01-21 10:50 ` Avi Kivity
[not found] ` <479478E6.6030903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-21 11:23 ` Dor Laor
2008-02-21 12:32 ` Jan Kiszka
2008-02-22 7:41 ` Avi Kivity
2008-01-21 11:30 ` Jan Kiszka [this message]
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=47948251.1030204@siemens.com \
--to=jan.kiszka-kv7wefo6altbdgjk7y7tuq@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox