All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keir Fraser <keir@xensource.com>
To: Trolle Selander <trolle.selander@gmail.com>,
	"Zulauf, John" <john.zulauf@intel.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: Buffered IO for IO?
Date: Sat, 21 Jul 2007 12:08:49 +0100	[thread overview]
Message-ID: <C2C7A7D1.B32F%keir@xensource.com> (raw)
In-Reply-To: <515922b50707210359j72721fbcj19383ce7da17d516@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2278 bytes --]

Yes, it strikes me that this cannot be done safely without providing a set
of Œproxy device models¹ in the hypervisor that know when it is safe to
buffer and when the buffers must be flushed, according to native hardware
behaviour.

 -- Keir

On 21/7/07 11:59, "Trolle Selander" <trolle.selander@gmail.com> wrote:

> Safety would depend on how the emulated device works. For serial ports in
> particular, it's definitely not safe, since depending on the model of UART
> emulated, and the settings of the UART control registers, every outb may
> result in a serial interrupt and UART register changes that will have to be
> processed before any further io can be done.
> It's possible that there might be some performance to be gained by "upgrading"
> the emulated UART to a 16550A or better, and doing buffered IO for the FIFO.
> Earlier this year I was experimenting with a patch that made the qemu-dm
> serial emulation into a 16550A with FIFO, but though the patch did fix some
> compatability issues with software that assumed a 16550A UART in the HVM guest
> I'm working with, serial performance actually got noticeably _worse_, so I
> never bothered submitting it. Implementing the FIFO with buffered IO would
> possibly make it work better, but I don't see how it could be done without
> moving at least part of the serial device model into the hypervisor, which
> just strikes me as more trouble than it's worth.
> 
> /Trolle
> 
> On 7/21/07, Keir Fraser <keir@xensource.com> wrote:
>> 
>> 
>> 
>> On 20/7/07 22:33, "Zulauf, John" <john.zulauf@intel.com> wrote:
>> 
>>> > Has anyone experimented with adding Buffered IO support for "out"
>>> > instructions?  Currently, the buffered io pages is only used for mmio
>>> > writes (and then only to vga space).  It seems quite straight-forward to
>>> > add.
>> 
>> Is it safe to buffer, and hence arbitrarily delay, any I/O port write?
>> 
>>  -- Keir
>> 
>> 
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel



[-- Attachment #1.2: Type: text/html, Size: 3242 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

  reply	other threads:[~2007-07-21 11:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-19 11:53 special video mode numbers Jan Beulich
2007-07-20 21:33 ` Buffered IO for IO? Zulauf, John
2007-07-21  9:44   ` Keir Fraser
2007-07-21  9:50     ` Mats Petersson
2007-07-21 10:59     ` Trolle Selander
2007-07-21 11:08       ` Keir Fraser [this message]
2007-07-23 18:49         ` Zulauf, John
     [not found]           ` <BD262A443AD428499D90AF8368C4528D8A189E@fmsmsx411.amr.corp. intel.com>
2007-07-23 19:00             ` Mats Petersson
2007-07-23 19:38               ` Zulauf, John
     [not found]                 ` <BD262A443AD428499D90AF8368C4528D8A18BE@fmsmsx411.amr.corp. intel.com>
2007-07-23 20:07                   ` Mats Petersson
2007-07-24  6:31                 ` Keir Fraser

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=C2C7A7D1.B32F%keir@xensource.com \
    --to=keir@xensource.com \
    --cc=john.zulauf@intel.com \
    --cc=trolle.selander@gmail.com \
    --cc=xen-devel@lists.xensource.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.