All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>,
	kvm-ppc <kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	kvm <kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: large page size virtio issues
Date: Wed, 05 Nov 2008 14:29:07 -0600	[thread overview]
Message-ID: <1225916947.26835.114.camel@localhost.localdomain> (raw)
In-Reply-To: <4911FD32.9050301-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

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-EGjIuKC2qUdB0N6nvOmcJFaTQe2KTcn/@public.gmane.org) (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-I1c7kopa9pxLokYuJOExCg@public.gmane.org
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk-zC7DfRvBq/JWk0Htik3J/w@public.gmane.org>
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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Hollis Blanchard <hollisb@us.ibm.com>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>,
	kvm-ppc <kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	kvm <kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: large page size virtio issues
Date: Wed, 05 Nov 2008 20:29:07 +0000	[thread overview]
Message-ID: <1225916947.26835.114.camel@localhost.localdomain> (raw)
In-Reply-To: <4911FD32.9050301-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

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\x10 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@slate.austin.ibm.com) (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ï600300, taddrï600300, irq=0, clk\x11059200, speed\x115200
Found legacy serial port 1 for /plb/opb/serial@ef600400
  memï600400, taddrï600400, irq=0, clk\x11059200, 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\x14, HWalign2, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 2555.90 BogoMIPS (lpjQ11808)
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@alpha.franken.de
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
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


  parent reply	other threads:[~2008-11-05 20:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-04 22:14 large page size virtio issues Hollis Blanchard
2008-11-05 12:16 ` Rusty Russell
     [not found]   ` <200811052316.47127.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-11-05 19:50     ` Hollis Blanchard
2008-11-05 19:50       ` Hollis Blanchard
2008-11-05 20:08       ` Anthony Liguori
2008-11-05 20:08         ` Anthony Liguori
     [not found]         ` <4911FD32.9050301-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-11-05 20:29           ` Hollis Blanchard [this message]
2008-11-05 20:29             ` Hollis Blanchard
2008-11-05 14:06 ` Anthony Liguori
     [not found]   ` <4911A87A.4010209-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-11-05 16:32     ` Hollis Blanchard
2008-11-05 16:32       ` Hollis Blanchard
     [not found]       ` <1225902738.26835.51.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-11-05 17:25         ` Anthony Liguori
2008-11-05 17:25           ` Anthony Liguori
2008-11-05 17:31           ` Hollis Blanchard
2008-11-05 17:31             ` Hollis Blanchard
     [not found]             ` <1225906304.26835.75.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-11-05 17:33               ` Anthony Liguori
2008-11-05 17:33                 ` Anthony Liguori
2008-11-05 17:46                 ` Hollis Blanchard
2008-11-05 17:46                   ` Hollis Blanchard

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=1225916947.26835.114.camel@localhost.localdomain \
    --to=hollisb-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
    --cc=aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.