From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Pekka Enberg <penberg@kernel.org>,
Sasha Levin <levinsasha928@gmail.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
kvm@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
Marcelo Tosatti <mtosatti@redhat.com>
Subject: Re: [PATCH 5/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_SOCKET
Date: Tue, 19 Jul 2011 21:49:28 -0500 [thread overview]
Message-ID: <4E264238.2000803@codemonkey.ws> (raw)
In-Reply-To: <4E1D442E.6090308@redhat.com>
On 07/13/2011 02:07 AM, Avi Kivity wrote:
> On 07/13/2011 09:45 AM, Pekka Enberg wrote:
>> >
>> > OK, what's the simplest thing we can do here to keep Avi happy and get
>> > the functionality of Sasha's original patch that helps us avoid guest
>> > exits for serial console? I agree with Avi that we don't want
>> > fragmented ABI but it seems to me there's no clear idea how to fix
>> > KVM_IOEVENTFD_FLAG_SOCKET corner cases, right?
>>
>> And btw, I didn't follow the discussion closely, but introducing a new
>> type of exit for a feature that's designed to _avoid exits_ doesn't
>> seem like a smart thing to do. Is it even possible to support sockets
>> sanely for this?
>
> First of all, this feature doesn't avoid exits.
I don't think it's possible to do correct UART emulation and avoid an exit.
And yeah, looking at your serial emulation, you're not properly updating
the LSR register. The fact that this works with Linux is just luck.
You will encounter guests that poll LSR.THRE in order to write more data
to the THR and you will no longer be able to treat THR as having no side
effects.
Worse yet, if the Linux driver ever changes in the future in a way
that's fully compliant to the UART spec, it'll break your emulation.
If you're not going to emulate a UART properly, why not just use a
paravirtual serial device that you can keep simple?
Regards,
Anthony Liguori
next prev parent reply other threads:[~2011-07-20 2:49 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-06 4:37 [PATCH 1/5] ioeventfd: Remove natural sized length limitation Sasha Levin
2011-07-06 4:37 ` [PATCH 2/5] ioeventfd: Add helper functions for reading and writing Sasha Levin
2011-07-06 4:37 ` [PATCH 3/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_READ Sasha Levin
2011-07-06 4:37 ` [PATCH 4/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_NOWRITE Sasha Levin
2011-07-06 4:37 ` [PATCH 5/5] ioeventfd: Introduce KVM_IOEVENTFD_FLAG_SOCKET Sasha Levin
2011-07-06 11:42 ` Michael S. Tsirkin
2011-07-06 15:01 ` Sasha Levin
2011-07-06 17:58 ` Michael S. Tsirkin
2011-07-10 5:34 ` Sasha Levin
2011-07-10 8:05 ` Michael S. Tsirkin
2011-07-12 11:23 ` Sasha Levin
2011-07-12 11:26 ` Avi Kivity
2011-07-13 6:37 ` Pekka Enberg
2011-07-13 6:45 ` Pekka Enberg
2011-07-13 7:07 ` Avi Kivity
2011-07-13 8:02 ` Pekka Enberg
2011-07-13 12:57 ` Avi Kivity
2011-07-13 13:00 ` Pekka Enberg
2011-07-13 13:32 ` Avi Kivity
2011-07-14 7:26 ` Pekka Enberg
2011-07-14 8:07 ` Sasha Levin
2011-07-14 8:09 ` Avi Kivity
2011-07-14 8:14 ` Pekka Enberg
2011-07-14 8:28 ` Avi Kivity
2011-07-14 8:59 ` Pekka Enberg
2011-07-14 9:48 ` Avi Kivity
[not found] ` <CAOJsxLHSeRuTOoiJssyrELRx-eXok3WinLr_+_G4dB+yHNBKdg@mail.gmai! l.com>
2011-07-14 10:30 ` Pekka Enberg
2011-07-14 11:54 ` Avi Kivity
2011-07-14 12:32 ` Sasha Levin
2011-07-14 12:46 ` Avi Kivity
2011-07-14 13:00 ` Sasha Levin
2011-07-14 13:05 ` Avi Kivity
2011-07-14 13:17 ` Pekka Enberg
2011-07-14 13:23 ` Avi Kivity
2011-07-20 2:52 ` Anthony Liguori
2011-07-20 6:16 ` Sasha Levin
2011-07-20 9:42 ` Pekka Enberg
2011-07-14 12:37 ` Pekka Enberg
2011-07-14 12:48 ` Avi Kivity
2011-07-14 12:52 ` Pekka Enberg
2011-07-14 12:54 ` Avi Kivity
2011-07-14 8:19 ` Gleb Natapov
2011-07-14 8:25 ` Michael S. Tsirkin
2011-07-14 8:29 ` Avi Kivity
2011-07-20 2:49 ` Anthony Liguori [this message]
2011-07-20 9:44 ` Pekka Enberg
2011-07-20 21:10 ` Anthony Liguori
2011-07-25 12:10 ` Sasha Levin
2011-07-25 12:16 ` Avi Kivity
2011-07-25 12:26 ` Sasha Levin
2011-07-25 13:04 ` Avi Kivity
2011-07-13 7:51 ` Pekka Enberg
2011-07-13 10:04 ` Pekka Enberg
2011-07-13 10:26 ` Sasha Levin
2011-07-13 10:56 ` Pekka Enberg
2011-07-13 11:14 ` Pekka Enberg
2011-07-06 12:39 ` Avi Kivity
2011-07-06 12:58 ` Sasha Levin
2011-07-06 13:04 ` Avi Kivity
2011-07-06 13:00 ` Avi Kivity
2011-07-20 2:42 ` Anthony Liguori
2011-07-20 8:19 ` Avi Kivity
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=4E264238.2000803@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=mingo@elte.hu \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=penberg@kernel.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