9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul+plan9@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] I/O load crashes Qemu
Date: Fri, 13 Jun 2008 16:01:21 -0700	[thread overview]
Message-ID: <20080613230121.BA8645B46@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Fri, 13 Jun 2008 21:33:15 BST." <c1449ebc705b7366d3c9d4635427f389@terzarima.net>

On Fri, 13 Jun 2008 21:33:15 BST Charles Forsyth <forsyth@terzarima.net>  wrote:
> >perhaps qemu-ide specific drivers need to be done.
> > Many hosted OSs need custom made drivers to
> > be used with a virtualizer.

On a T42 running FreeBSD,  a stock FreeBSD-4.11/qemu gets
18MB/s & plan9/qemu gets 3MB/s.  Both tested by writing 100MB
from /dev/zero to a file.  Neither needs any special drivers.

I think part of the performance problem is qemu emulates an
early Intel ATA controller chip (PIIX3) and perhaps plan9
does not do certain optimizations.  It would not be too hard
to emulate a more modern controller.

> i must say that my experience with VM/370 was otherwise,
> for the standard devices.  there were extensions you could access
> if you liked, but the basic emulation was solid.  the only restriction i reme
> mber
> was that you couldn't any longer dynamically modify channel programs
> (by having a channel program read some blocks into memory that would
> later be executed in the same channel program), but other systems
> imposed a similar restriction on that hardware.
>
> the peculiar thing about the modern virtualisers/hypervisors etc is that
> they require specialised drivers but are no easier (often harder) to drive th
> an
> actual hardware!  it's all gone wrong!

I don't think you can escape writing device emulation code
for the virtualization layer (when the guest os diddles a
device register, someone has to implement its semantics).
If the emulated device is not the same as some real device,
the guest os has to have a special drivers for it.

IMHO a virtualizable processor is the necessary first step as
it clears one's mind about what not to do in an efficient
virtualizable IO architecture!  Emulating grotty device
registers with horrible side-effects is just too painful and
one would be forced to abstract that out.  Probably too late
for that!



  parent reply	other threads:[~2008-06-13 23:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-13  1:54 Venkatesh Srinivas
2008-06-13  2:01 ` Pietro Gagliardi
2008-06-13  3:38   ` Lorenzo Fernando Bivens de la Fuente
2008-06-13  3:38     ` Lorenzo Fernando Bivens de la Fuente
2008-06-13  4:00     ` Venkatesh Srinivas
2008-06-13  8:08       ` sqweek
2008-06-13 10:41         ` Bruce Ellis
2008-06-13 11:47           ` Rodolfo kix García 
2008-06-13 19:05           ` Bakul Shah
2008-06-13 20:03             ` Lorenzo Fernando Bivens de la Fuente
2008-06-13 20:33               ` Charles Forsyth
2008-06-13 20:30                 ` erik quanstrom
2008-06-13 20:58                   ` Lorenzo Fernando Bivens de la Fuente
2008-06-13 23:52                     ` erik quanstrom
2008-06-14  0:40                       ` Bakul Shah
2008-06-13 20:35                 ` Charles Forsyth
2008-06-13 23:01                 ` Bakul Shah [this message]
2008-06-13 23:26                   ` Pietro Gagliardi
2008-06-13 23:36                     ` Bakul Shah
2008-06-13 23:42                     ` Lorenzo Fernando Bivens de la Fuente
2008-06-13 23:52                       ` Uriel
2008-06-17 10:51             ` matt
2008-06-13 12:57   ` stefanha
2008-06-13 12:22 ` Fazlul Shahriar
2008-06-14  0:39 erik quanstrom
2008-06-14  1:24 ` Bakul Shah
2008-06-14  4:58   ` Bruce Ellis
2008-06-14  5:30     ` Iruata Souza
2008-06-14 12:53     ` erik quanstrom
2008-06-14 15:14       ` Iruata Souza
2008-06-14 14:15   ` erik quanstrom
2008-06-15  0:01     ` Bakul Shah

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=20080613230121.BA8645B46@mail.bitblocks.com \
    --to=bakul+plan9@bitblocks.com \
    --cc=9fans@9fans.net \
    /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;
as well as URLs for NNTP newsgroup(s).