OpenSolaris

Printable Version Enter a New Search
Bug ID 6652631
Synopsis Accessing nxge device in xVM causes panic in page_get_contigpages
State 10-Fix Delivered (Fix available in build)
Category:Subcategory xvm:kernel-io
Keywords
Responsible Engineer Stuart Maybee
Reported Against snv_81
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_84
Fixed In snv_84
Release Fixed solaris_nevada(snv_84)
Related Bugs 6626376
Submit Date 18-January-2008
Last Update Date 27-February-2008
Description
Following panic occurs when accessing any nxge instance in dom0 (i.e. plumb).

	Hardware: x4150 (Xeon), x1027a-z (Neptune PCIe dual 10gb)
	OS: SunOS VNRP-solaris-devx 5.11 onnv-gate:2008-01-18 i86pc i386 i86xpv
...

panic[cpu3]/thread=ffffff02f0376ae0: 
page_get_contigpages: hashin failed pp ffffff000128cc88, vp fffffffffbc488c0, off 
ffffff02fcff2000


ffffff000f8f5f70 unix:page_get_contigpages+36d ()
ffffff000f8f6010 unix:page_create_io+1e8 ()
ffffff000f8f60a0 unix:contig_alloc+127 ()
ffffff000f8f6140 unix:kalloca+b7 ()
ffffff000f8f61d0 unix:i_ddi_mem_alloc+1a0 ()
ffffff000f8f6290 genunix:ddi_dma_mem_alloc+102 ()
ffffff000f8f6350 nxge:nxge_dma_mem_alloc+ff ()
ffffff000f8f6410 nxge:nxge_alloc_tx_buf_dma+15a ()
ffffff000f8f64c0 nxge:nxge_alloc_tx_mem_pool+150 ()
ffffff000f8f64f0 nxge:nxge_alloc_mem_pool+29 ()
ffffff000f8f6520 nxge:nxge_init+2b ()
ffffff000f8f6550 nxge:nxge_m_start+2a ()
ffffff000f8f6590 mac:mac_start+56 ()
ffffff000f8f6710 dls:dls_vlan_hold+247 ()
ffffff000f8f6750 dls:dls_open+26 ()
ffffff000f8f68a0 dld:dld_str_attach+bc ()
ffffff000f8f6910 dld:dld_open+ae ()
ffffff000f8f69c0 genunix:qattach+1ce ()
ffffff000f8f6a60 genunix:stropen+476 ()
ffffff000f8f6b10 specfs:spec_open+19f ()
ffffff000f8f6b80 genunix:fop_open+b6 ()
ffffff000f8f6d20 genunix:vn_openat+5a5 ()
ffffff000f8f6e80 genunix:copen+33e ()
ffffff000f8f6eb0 genunix:open32+2b ()
ffffff000f8f6f00 unix:brand_sys_syscall32+328 ()

syncing file systems...
 4
  done
  
...

VNRP-solaris-devx# mdb 4
Loading modules: [ unix genunix specfs dtrace xpv_psm scsi_vhci ufs ip hook neti sctp arp usba uhci fctl nca lofs random zfs fcip logindmux ptm sppp nfs ]
> $c
vpanic()
page_get_contigpages+0x36d(fffffffffbc488c0, ffffff02fcff2000, ffffff000f8f5fdc, 5
, ffffff02fcff2000, ffffff03009e1628)
page_create_io+0x1e8(fffffffffbc488c0, ffffff02fcd32000, 200000, 5, 
fffffffffbc487e0, ffffff02fcd32000)
contig_alloc+0x127(200000, ffffff03009e1628, 1000, 0)
kalloca+0xb7(200000, 1000, 0, 1, ffffff03009e1628)
i_ddi_mem_alloc+0x1a0(ffffff02d99914b8, ffffff03009e1628, 200000, 0, 41, 
ffffffffc005d4b0)
ddi_dma_mem_alloc+0x102(ffffff03009e1600, 200000, ffffffffc005d4b0, 41, 0, 0)
nxge_dma_mem_alloc+0xff(ffffff02feda2000, 0, ffffffffc005d410, 200000, 
ffffffffc005d4b0, 41)
nxge_alloc_tx_buf_dma+0x15a(ffffff02feda2000, 0, ffffff02ea323f10, 200000, 800, 
ffffff02fcd20da8)
nxge_alloc_tx_mem_pool+0x150(ffffff02feda2000)
nxge_alloc_mem_pool+0x29(ffffff02feda2000)
nxge_init+0x2b(ffffff02feda2000)
nxge_m_start+0x2a(ffffff02feda2000)
mac_start+0x56(ffffff02ea914000)
dls_vlan_hold+0x247(ffffff000f8f6790, ffffff000f8f6738, 1)
dls_open+0x26(ffffff000f8f6790, ffffff000f8f6788)
dld_str_attach+0xbc(ffffff02dd74bde8, 0)
dld_open+0xae(ffffff02f8b472b0, ffffff000f8f6aa8, 3, 0, ffffff02f291c908)
qattach+0x1ce(ffffff02fa6e0d58, ffffff000f8f6aa8, 3, ffffff02f291c908, 0, 0)
stropen+0x476(ffffff02fcc02140, ffffff000f8f6aa8, 3, ffffff02f291c908)
spec_open+0x19f(ffffff000f8f6bc0, 3, ffffff02f291c908, 0)
fop_open+0xb6(ffffff000f8f6bc0, 3, ffffff02f291c908, 0)
vn_openat+0x5a5(8047ee9, 0, 3, e78, ffffff000f8f6d80, 0)
copen+0x33e(ffd19553, 8047ee9, 3, 8047e78)
open32+0x2b(8047ee9, 2, 8047e78)
sys_syscall32+0x299()
>
I see the same behaviour with snv_82, freshly bfu'd.
snv_81 does not exhibit this behaviour.
Work Around
N/A
Comments
N/A