Re: large page size virtio issues

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

 



On Wed, 2008-11-05 at 14:08 -0600, Anthony Liguori wrote:
> 
> > It's worth noting that the PFN_SHIFT question (in the other thread) is a
> > separate issue. I could have PFN_SHIFT=10 but define VRING_PAGE_SIZE=4K
> > for internal alignment. I'm a little nervous about making PPC the only
> > arch with VRING_PAGE_SIZE=1K, since that might affect my vring layout in
> > "unusual" ways if it expands beyond 1K but stays inside 4K.
> >   
> 
> This is starting to get a little hairy.

Yes it is.

> Maybe 64k guest pages is asking 
> for trouble?  Are you sure other things aren't breaking all over the 
> place with these patches in place?

Define "other things"? Here's my current boot log from 64K/64K
guest/host configuration:

bash-3.00# ./qemu-system-ppcemb -m 128 -M bamboo -nographic -kernel ~/uImage.64k -L ../pc-bios/ -append "root=/dev/vda rw debug" -net nic -net tap -drive file=/mnt/images/ramdisk_image,if=virtio,boot=on
bamboo_init: START
Ram size passed is: 128 MB
Calling function ppc440_init
setup mmio
setup universal controller
trying to setup sdram controller
sdram_unmap_bcr: Unmap RAM area 0000000000000000 00400000
sdram_set_bcr: Map RAM area 0000000000000000 08000000
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: 0x381488
bamboo_init: DONE
Using PowerPC 44x Platform machine description
Linux version 2.6.28-rc2-dirty (hollisb@xxxxxxxxxxxxxxxxxxxx) (gcc version 4.2.3) #101 Tue Nov 4 14:19:54 CST 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
setup_arch: bootmem
arch: exit
Top of RAM: 0x8000000, Total RAM: 0x8000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00000800
  Normal   0x00000800 -> 0x00000800
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00000800
On node 0 totalpages: 2048
free_area_init_node: node 0, pgdat c034baa8, node_mem_map c0440000
  DMA zone: 1 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 2047 pages, LIFO batch:0
  Normal zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 2047
Kernel command line: root=/dev/vda rw debug
UIC0 (32 IRQ sources) at DCR 0xc0
PID hash table entries: 512 (order: 9, 2048 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: 16384 (order: 0, 65536 bytes)
Inode-cache hash table entries: 16384 (order: 0, 65536 bytes)
Memory: 126336k/131072k available (3136k kernel code, 4736k reserved, 256k data, 655k bss, 320k init)
SLUB: Genslabs=14, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 2555.90 BogoMIPS (lpj=5111808)
Mount-cache hash table entries: 8192
net_namespace: 288 bytes
program_check_exception: nip c02cad1c reason 2800000
------------[ cut here ]------------
Badness at c02cad1c [verbose debug info unavailable]
NIP: c02cad1c LR: c00013e4 CTR: c02cacf0
REGS: c7e11e00 TRAP: 0700   Not tainted  (2.6.28-rc2-dirty)
MSR: 00029002 <EE,ME>  CR: 84000042  XER: 20000000
TASK = c7e00000[1] 'swapper' THREAD: c7e10000
GPR00: c7fe0000 c7e11eb0 c7e00000 c02cacf0 00000000 00000000 c04a04bc 0000076d 
GPR08: 00000036 00000001 c7e11e38 c7fdffff 44000042 00000000 00000000 00000000 
GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
GPR24: 00000000 00000000 00000f60 00000000 c0390360 c02cacf0 c7e10000 c032001c 
NIP [c02cad1c] dma_alloc_init+0x2c/0xcc
LR [c00013e4] do_one_initcall+0x38/0x19c
Call Trace:
[c7e11eb0] [c02d78d0] net_ns_init+0x0/0x1e4 (unreliable)
[c7e11ec0] [c00013e4] do_one_initcall+0x38/0x19c
[c7e11fd0] [c02c0168] kernel_init+0x88/0xf4
[c7e11ff0] [c000d5f4] kernel_thread+0x50/0x6c
Instruction dump:
4e800020 9421fff0 7c0802a6 3d20c033 93e1000c 90010014 81290334 37e9001c 
41820094 8009001c 3160ffff 7d2b0110 <0f090000> 7403ffff 4182005c 3c030001 
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
pci 0000:00:01.0: reg 10 io port: [0x00-0x3f]
pci 0000:00:02.0: reg 10 io port: [0x00-0x1f]
bus: 00 index 0 io port: [0x00-0xffff]
bus: 00 index 1 mmio: [0xa0000000-0xbfffffff]
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 0, 65536 bytes)
TCP established hash table entries: 8192 (order: 0, 65536 bytes)
TCP bind hash table entries: 8192 (order: -1, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 244
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16550A
console handover: boot [udbg0] -> real [ttyS0]
ef600300.serial: ttyS0 at MMIO 0xef600300 (irq = 16) is a 16550A
brd: module loaded
Intel(R) PRO/1000 Network Driver - version 7.3.20-k3-NAPI
Copyright (c) 1999-2006 Intel Corporation.
PPC 4xx OCP EMAC driver, version 3.54
ZMII /plb/opb/emac-zmii@ef600d00 initialized
pcnet32.c:v1.35 21.Apr.2008 tsbogend@xxxxxxxxxxxxxxxx
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@xxxxxxxxxxxx>
virtio-pci 0000:00:01.0: enabling device (0000 -> 0001)
 vda:qemu-system-ppcemb: Guest moved used index from 0 to 38277

(This is with my in-progress patches applied. Before virtio would just
hang, since it was miscommunicating the vring's physical address.)

-- 
Hollis Blanchard
IBM Linux Technology Center

--
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