qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: kvm@vger.kernel.org, "Richard W.M. Jones" <rjones@redhat.com>,
	Gleb Natapov <gleb@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35?
Date: Tue, 03 Aug 2010 14:47:42 -0500	[thread overview]
Message-ID: <4C58725E.6060706@codemonkey.ws> (raw)
In-Reply-To: <4C5870FF.1050206@redhat.com>

On 08/03/2010 02:41 PM, Avi Kivity wrote:
>  On 08/03/2010 10:38 PM, Anthony Liguori wrote:
>>> Why do we need to transfer roms?  These are devices on the memory 
>>> bus or pci bus, it just needs to be there at the right address.
>>
>>
>> Not quite.  The BIOS owns the option ROM space.  The way it works on 
>> bare metal is that the PCI ROM BAR gets mapped to some location in 
>> physical memory by the BIOS, the BIOS executes the initialization 
>> vector, and after initialization, the ROM will reorganize itself into 
>> something smaller.  It's nice and clean.
>>
>> But ISA is not nearly as clean. 
>
> So far so good.
>
>> Ultimately, to make this mix work in a reasonable way, we have to 
>> provide a side channel interface to SeaBIOS such that we can deliver 
>> ROMs outside of PCI and still let SeaBIOS decide how ROMs get organized.
>
> I don't follow.  Why do we need this side channel?  What would a real 
> ISA machine do?

It depends on the ISA machine.  In the worst case, there's a DIP switch 
on the card and if you've got a conflict between two cards, you start 
flipping DIP switches.  It's pure awesomeness.  No, I don't want to 
emulate DIP switches :-)

>   Are there actually enough ISA devices for there to be a problem?

No, but -M older has the same problem.

>>
>> It's additionally complicated by the fact that we didn't support PCI 
>> ROM BAR until recently so to maintain compatibility with -M older, we 
>> have to use a side channel to lay out option roms.
>
> Again I don't follow.  We can just lay out the ROMs in memory like we 
> did in the past?

Because only one component can own the option ROM space.  Either that's 
SeaBIOS and we need a side channel or it's QEMU and we can't use PMM.

I guess that's the real issue here.  Previously we used etherboot which 
was well under 32k.  We only loaded roms we needed.  Now we use gPXE 
which is much bigger and if you don't use PMM, then you run out of 
option rom space very quickly.

Previously, we loaded option ROMs on demand when a user used -boot n but 
that was a giant hack and wasn't like bare metal at all.  It involved 
x86-isms in vl.c.  Now we always load ROMs so PMM is very important.

Regards,

Anthony Liguori

  reply	other threads:[~2010-08-03 19:48 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-03 11:13 [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? Richard W.M. Jones
2010-08-03 11:33 ` Gleb Natapov
2010-08-03 12:10   ` Richard W.M. Jones
2010-08-03 12:37     ` Gleb Natapov
2010-08-03 12:48       ` Richard W.M. Jones
2010-08-03 13:19         ` Avi Kivity
2010-08-03 14:05           ` Richard W.M. Jones
2010-08-03 14:38             ` Avi Kivity
2010-08-03 14:53               ` Richard W.M. Jones
2010-08-03 16:10                 ` Avi Kivity
2010-08-03 16:28                   ` Richard W.M. Jones
2010-08-03 16:44                     ` Avi Kivity
2010-08-03 16:46                       ` Anthony Liguori
2010-08-03 16:50                         ` Avi Kivity
2010-08-03 16:53                           ` Anthony Liguori
2010-08-03 17:01                             ` Avi Kivity
2010-08-03 17:42                               ` Anthony Liguori
2010-08-03 17:58                                 ` Avi Kivity
2010-08-03 18:11                                   ` Richard W.M. Jones
2010-08-03 18:26                                   ` Anthony Liguori
2010-08-03 18:43                                     ` Avi Kivity
2010-08-03 18:47                                       ` Avi Kivity
2010-08-03 18:55                                       ` Anthony Liguori
2010-08-03 19:00                                         ` Avi Kivity
2010-08-03 19:05                                       ` Gleb Natapov
2010-08-03 19:09                                         ` Avi Kivity
2010-08-03 19:15                                         ` Anthony Liguori
2010-08-03 19:24                                           ` Avi Kivity
2010-08-03 19:38                                             ` Anthony Liguori
2010-08-03 19:41                                               ` Avi Kivity
2010-08-03 19:47                                                 ` Anthony Liguori [this message]
2010-08-04  5:47                                                   ` Avi Kivity
2010-08-03 21:24                                                 ` Gerd Hoffmann
2010-08-03 21:20                                             ` Gerd Hoffmann
2010-08-04  5:53                                               ` Avi Kivity
2010-08-04  7:56                                                 ` Gerd Hoffmann
2010-08-04  8:17                                                   ` Avi Kivity
2010-08-04  8:43                                                     ` Gleb Natapov
2010-08-04  9:22                                                     ` Gerd Hoffmann
2010-08-04 13:04                                                     ` Anthony Liguori
2010-08-04 13:07                                                       ` Gleb Natapov
2010-08-04 13:15                                                         ` Anthony Liguori
2010-08-04 13:24                                                           ` Richard W.M. Jones
2010-08-04 13:26                                                             ` Gleb Natapov
2010-08-04 14:22                                                               ` Anthony Liguori
2010-08-04 14:38                                                                 ` Gleb Natapov
2010-08-04 14:50                                                                   ` Anthony Liguori
2010-08-04 15:01                                                                     ` Gleb Natapov
2010-08-04 15:07                                                                       ` Anthony Liguori
2010-08-04 15:15                                                                         ` Gleb Natapov
2010-08-04 22:41                                                                       ` Kevin O'Connor
2010-08-04 16:26                                                             ` Avi Kivity
2010-08-04 13:34                                                           ` Gleb Natapov
2010-08-04 13:52                                                             ` Anthony Liguori
2010-08-04 14:00                                                               ` Gleb Natapov
2010-08-04 14:14                                                                 ` Anthony Liguori
2010-08-04 14:36                                                                   ` Gleb Natapov
2010-08-04 14:22                                                                 ` Paolo Bonzini
2010-08-04 14:39                                                                   ` Anthony Liguori
2010-08-04 16:33                                                                     ` Avi Kivity
2010-08-04 16:30                                                               ` Avi Kivity
2010-08-04 16:36                                                                 ` Avi Kivity
2010-08-04 16:44                                                                   ` Anthony Liguori
2010-08-04 16:52                                                                     ` Avi Kivity
2010-08-04 17:37                                                                     ` Gleb Natapov
2010-08-05  7:28                                                                     ` Gerd Hoffmann
2010-08-05  7:34                                                                       ` Gleb Natapov
2010-08-05  7:56                                                                         ` Avi Kivity
2010-08-05  7:59                                                                           ` Gleb Natapov
2010-08-05  8:45                                                                             ` Avi Kivity
2010-08-05  8:48                                                                               ` Gleb Natapov
2010-08-05 13:43                                                                       ` Anthony Liguori
2010-08-04 16:45                                                                   ` Alexander Graf
2010-08-04 16:54                                                                     ` Avi Kivity
2010-08-04 17:01                                                                       ` Alexander Graf
2010-08-04 17:14                                                                         ` Avi Kivity
2010-08-04 17:27                                                                           ` Alexander Graf
2010-08-04 17:34                                                                             ` Avi Kivity
2010-08-04 20:06                                                                               ` David S. Ahern
2010-08-04 20:16                                                                                 ` Richard W.M. Jones
2010-08-05  2:38                                                                                 ` Avi Kivity
2010-08-04 17:26                                                                     ` Anthony Liguori
2010-08-04 17:31                                                                       ` Alexander Graf
2010-08-04 17:35                                                                         ` Avi Kivity
2010-08-04 17:36                                                                         ` Anthony Liguori
2010-08-04 17:36                                                                           ` Alexander Graf
2010-08-04 17:46                                                                   ` Richard W.M. Jones
2010-08-04 17:50                                                                     ` Avi Kivity
2010-08-04 18:13                                                                     ` Alexander Graf
2010-08-04 18:16                                                                       ` Anthony Liguori
2010-08-04 18:18                                                                         ` Alexander Graf
2010-08-04 18:19                                                                         ` Avi Kivity
2010-08-04 18:18                                                                       ` Avi Kivity
2010-08-04 16:42                                                                 ` Anthony Liguori
2010-08-04 13:22                                                         ` Richard W.M. Jones
2010-08-04 13:29                                                           ` Gleb Natapov
2010-08-04 16:25                                                       ` Avi Kivity
2010-08-03 22:06                                             ` Richard W.M. Jones
2010-08-04  5:54                                               ` Avi Kivity
2010-08-04  9:24                                                 ` Richard W.M. Jones
2010-08-04  9:27                                                   ` Gleb Natapov
2010-08-04  9:52                                                   ` Avi Kivity
2010-08-04 11:33                                                     ` Richard W.M. Jones
2010-08-04 11:36                                                       ` Avi Kivity
2010-08-04 12:07                                                       ` Gleb Natapov
2010-08-04 12:59                                                   ` Anthony Liguori
2010-08-03 19:26                                           ` Gleb Natapov
2010-08-03 19:13                                       ` Richard W.M. Jones
2010-08-03 19:17                                         ` Gleb Natapov
2010-08-03 19:19                                         ` Anthony Liguori
2010-08-03 19:22                                         ` Avi Kivity
2010-08-03 20:00                                           ` Richard W.M. Jones
2010-08-03 20:49                                             ` Anthony Liguori
2010-08-03 21:13                                               ` Paolo Bonzini
2010-08-03 21:34                                                 ` Anthony Liguori
2010-08-04  7:57                                                   ` Paolo Bonzini
2010-08-04  8:19                                                     ` Avi Kivity
2010-08-04 12:53                                                     ` Anthony Liguori
2010-08-04 16:44                                                       ` Avi Kivity
2010-08-04 16:46                                                         ` Anthony Liguori
2010-08-04 16:48                                                           ` Alexander Graf
2010-08-04 16:49                                                             ` Anthony Liguori
2010-08-04 16:51                                                               ` Alexander Graf
2010-08-04 17:01                                                               ` Paolo Bonzini
2010-08-04 17:19                                                                 ` Avi Kivity
2010-08-04 17:25                                                                   ` Alexander Graf
2010-08-04 17:27                                                                   ` Anthony Liguori
2010-08-04 17:37                                                                     ` Avi Kivity
2010-08-04 17:53                                                                       ` Anthony Liguori
2010-08-04 18:05                                                                         ` Alexander Graf
2010-08-04  5:56                                               ` Avi Kivity
2010-08-04  1:17                                             ` Jamie Lokier
2010-08-04  8:21                                         ` Avi Kivity
2010-08-04 14:51                                       ` David S. Ahern
2010-08-04 14:57                                         ` Anthony Liguori
2010-08-04 15:25                                           ` Gleb Natapov
2010-08-04 15:31                                             ` Alexander Graf
2010-08-04 15:48                                               ` Gleb Natapov
2010-08-04 15:59                                                 ` Alexander Graf
2010-08-04 16:08                                                   ` Gleb Natapov
2010-08-04 16:48                                                     ` Avi Kivity
2010-08-04 23:17                                             ` Kevin O'Connor
2010-08-05  5:26                                               ` Gleb Natapov
2010-08-03 16:56                           ` Anthony Liguori
2010-08-03 16:48                       ` Avi Kivity
2010-08-03 17:00                         ` Richard W.M. Jones
2010-08-03 17:05                           ` Avi Kivity
2010-08-03 16:56                       ` Richard W.M. Jones
2010-08-03 17:08                         ` Avi Kivity
2010-08-03 16:39                 ` Anthony Liguori
2010-08-03 16:43                   ` Richard W.M. Jones

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=4C58725E.6060706@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=gleb@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.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 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).