Re: Ubuntu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12.11.2009, at 11:28, Benjamin Herrenschmidt wrote:

On Thu, 2009-11-12 at 11:19 +0100, Alexander Graf wrote:
Am 12.11.2009 um 01:34 schrieb Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx
:

Hoy !

So it seems to be making fwd progress in fact in the karmic installer,
but it's -extremely- slow. Not sure what's up yet, haven't had a
chance
to really instrument it yet.

Let me know if you want to toy with it. Basically, what I do to get
debug is that I take the initrd out of the ISO, and I run with:

./qemu-system-ppc [-enable-kvm ... or not] -cdrom <path_to_the_iso>
-boot order=d -m 512 -initrd=<path to their initrd copied to your
disk>
-kernel <path to a kernel to test with so you can add debug etc...>
-append "file=/cdrom/preseed/ubuntu.seed debug="

In a few places it looks stuck, but it's just terribly slow. However
it's not using much CPU on the host, seems to be sleeping mostly.
Could
be something wrong with decrementer emulation ?

Oh, right. At one point in time something wrt interrupts broke, so
you'll see that it's waiting for a dma request.

Boy how I hate this whole qdev conversion.

Hehehe ok. Well, without -enable-kvm works :-) Let me know if you find
something, I won't have time to dig until next week. BTW. I've been
toying about some ideas to improve the DEC emulation too, we'll talk
about it later too. But base idea is when DEC is written, you calculate the "target" timebase value and store that. Makes it easy to re- evaluate
on exit whether you need to trigger a DEC interrupt by comparing with
the current TB...

Hum, that would defer DEC interrupts to "the next exit". So if your guest is sitting in a spin lock for example, it wouldn't get a DEC because it doesn't exit from the guest context to actually check if TARGET_DEC < TB.

I think the only really good way of doing this is to use the hrtimer to trigger the interrupt, not clear the interrupt injection bit, but only clear it on mtdec.

That way we get the interrupt to actually interrupt the guest context, but instantly trigger the DEC in the guest when it sets IF=1.

I think I had a define for an "alternative" DEC method in book3s.c, that basically checks mfdec() against 0 on every exit. Feel free to try out of that one helps :-).


Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux