Re: [kvm-ppc-devel] virtio-net working on PowerPC KVM

Zhang Wei
2008-03-29T09:04:37Z

Hi, Hollis,

Hollis Blanchard wrote:
> I'm pleased to report that we now have working network support in the
> guest, via the virtio-net driver. In fact, we can use NFS for the
> guest's root filesystem. :) Boot log attached.
>

Congratulations! That's a milestone!

> The bad news is that it's very slow, but the good news is that it's nice
> to be improving performance rather than debugging mysterious
> crashes... ;)
>
> With this milestone reached, in the near future I intend to start
> sending patches to Avi and linuxppc-dev for review, hopefully for
> inclusion in 2.6.26. However, I do want to see if we can improve the
> performance a little bit first...
>
>
>
> ------------------------------------------------------------------------
>
> bash-3.00# ./qemu-system-ppcemb -M bamboo -nographic -kernel ../../uImage.bamboo -L ../pc-bios/ -append "ip=dhcp nfsroot=9.XX.XX.XX:/netroot/ppc_4xx root=/dev/nfs rw debug" -net nic,model=virtio -net tap
> bamboo_init: START
> Ram size passed is: 144 MB
> Calling function ppc440_init
> setup mmio
> setup universal controller
> trying to setup sdram controller
> sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000
> sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000
> sdram_set_bcr: Map RAM area 0000000000000000 08000000
> sdram_set_bcr: Map RAM area 0000000000000000 01000000
> Initializing first serial port
> ppc405_serial_init: offset 0000000000000300
> Done calling ppc440_init
> bamboo_init: load kernel
> kernel is at guest address: 0x0
> bamboo_init: load device tree file
> device tree address is at guest address: 0x2b2100
> bamboo_init: loading kvm registers
> bamboo_init: DONE
> Using Bamboo machine description
> Linux version 2.6.25-rc3-hg1858cec8eb87-dirty (hollisb@basalt) (gcc version 3.4.2) #150 Wed Mar 19 12:51:20 CDT 2008
> Found legacy serial port 0 for /plb/opb/serial@ef600300
> mem=ef600300, taddr=ef600300, irq=0, clk=11059200, speed=115200
> Found legacy serial port 1 for /plb/opb/serial@ef600400
> mem=ef600400, taddr=ef600400, irq=0, clk=11059200, speed=0
> console [udbg0] enabled
> Entering add_active_range(0, 0, 36864) 0 entries of 256 used
> setup_arch: bootmem
> arch: exit
> Top of RAM: 0x9000000, Total RAM: 0x9000000
> Memory hole size: 0MB
> Zone PFN ranges:
> DMA 0 -> 36864
> Normal 36864 -> 36864
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
> 0: 0 -> 36864
> On node 0 totalpages: 36864
> DMA zone: 288 pages used for memmap
> DMA zone: 0 pages reserved
> DMA zone: 36576 pages, LIFO batch:7
> Normal zone: 0 pages used for memmap
> Movable zone: 0 pages used for memmap
> Built 1 zonelists in Zone order, mobility grouping on. Total pages: 36576
> Kernel command line: ip=dhcp nfsroot=9.XX.XX.XX:/netroot/ppc_4xx root=/dev/nfs rw debug
> irq: Allocated host of type 2 @0xc03f3900
> UIC0 (32 IRQ sources) at DCR 0xc0
> irq: Default host set to @0xc03f3900
> PID hash table entries: 1024 (order: 10, 4096 bytes)
> time_init: decrementer frequency = 666.666660 MHz
> time_init: processor frequency = 666.666660 MHz
> clocksource: timebase mult[600000] shift[22] registered
> clockevent: decrementer mult[aaaa] shift[16] cpu[0]
> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
> Memory: 143060k/147456k available (2632k kernel code, 4252k reserved, 100k data, 125k bss, 132k init)
> SLUB: Genslabs=10, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
> Calibrating delay loop... 2490.36 BogoMIPS (lpj=4980736)
> Mount-cache hash table entries: 512
> net_namespace: 156 bytes
> NET: Registered protocol family 16
>
> PCI host bridge /plb/pci@ec000000 (primary) ranges:
> MEM 0x00000000a0000000..0x00000000bfffffff -> 0x00000000a0000000
> IO 0x00000000e8000000..0x00000000e800ffff -> 0x0000000000000000
> 4xx PCI DMA offset set to 0x00000000
> PCI: Probing PCI hardware
> PCI: Hiding 4xx host bridge resources 0000:00:00.0
> irq: irq_create_mapping(0xc03f3900, 0x1c)
> irq: -> using host @c03f3900
> irq: -> obtained virq 28
> Time: timebase clocksource has been installed.
> NET: Registered protocol family 2
> IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP reno registered
> irq: irq_create_mapping(0xc03f3900, 0x0)
> irq: -> using host @c03f3900
> irq: -> obtained virq 16
> irq: irq_create_mapping(0xc03f3900, 0x1)
> irq: -> using host @c03f3900
> irq: -> obtained virq 17
> io scheduler noop registered
> io scheduler anticipatory registered (default)
> io scheduler deadline registered
> io scheduler cfq registered
> Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
> serial8250.0: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16450
> console handover: boot [udbg0] -> real [ttyS0]
> irq: irq_create_mapping(0xc03f3900, 0x0)
> irq: -> using host @c03f3900
> irq: -> existing mapping on virq 16
> ef600300.serial: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16450
> irq: irq_create_mapping(0xc03f3900, 0x1)
> irq: -> using host @c03f3900
> irq: -> existing mapping on virq 17
> brd: module loaded
> Intel(R) PRO/1000 Network Driver - version 7.3.20-k2
> Copyright (c) 1999-2006 Intel Corporation.
> pcnet32.c:v1.34 14.Aug.2007 tsbogend@alpha.franken.de
> tun: Universal TUN/TAP device driver, 1.6
> tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> PCI: Enabling device 0000:00:01.0 (0000 -> 0001)
> TCP cubic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> Sending DHCP requests .., OK
> IP-Config: Got DHCP answer from 255.255.255.255, my address is 9.XX.XX.XX
> IP-Config: Complete:
> device=eth0, addr=9.XX.XX.XX, mask=255.255.255.0, gw=9.XX.XX.XX,
> host=9.XX.XX.XX, domain=austin.ibm.com, nis-domain=(none),
> bootserver=255.255.255.255, rootserver=9.XX.XX.XX, rootpath=
> Looking up port of RPC 100003/2 on 9.XX.XX.XX
> Looking up port of RPC 100005/1 on 9.XX.XX.XX
> VFS: Mounted root (nfs filesystem).
> Freeing unused kernel memory: 132k init
> modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory
>
> modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory
>
> INIT: version 2.85 booting
> Welcome to DENX Embedded Linux Environment
> Press 'I' to enter interactive startup.
> Building the cache [ OK ]
> storage network audio done[ OK ]
> modprobe: FATAL: Could not load /lib/modules/2.6.25-rc3-hg1858cec8eb87-dirty/modules.dep: No such file or directory
>
> Cannot access the Hardware Clock via any known method.
> Use the --debug option to see the details of our search for an access method.
> Setting clock : Thu Jan 1 00:04:09 UTC 1970 [ OK ]
> Setting hostname 9.53.41.171: [ OK ]
> Mounting local filesystems: [ OK ]
> Enabling swap space: [ OK ]
> INIT: Entering runlevel: 3
> Entering non-interactive startup
> Bringing up loopback interface: [ OK ]
> Starting system logger: [ OK ]
> Starting kernel logger: [ OK ]
> Starting portmap: [ OK ]
> Mounting NFS filesystems: [ OK ]
> Mounting other filesystems: [ OK ]
> Starting xinetd: [ OK ]
> add bridge failed: Package not installed
> interface eth1 does not exist!
> SIOCGIFFLAGS: No such device
> SIOCGIFFLAGS: No such device
>
> DENX ELDK version 4.1 build 2007-01-19
> Linux 2.6.25-rc3-hg1858cec8eb87-dirty on a ppc
>
> 9 login:
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> kvm-ppc-devel mailing list
> kvm-ppc-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel