[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Crash in netbk_gop_frag_copy?
Hi Dongxiao, We're seeing a crash in netbk_gop_frag_copy and I was wondering if it might related to the multithreaded/tasklet netback patches. This is in a 2.6.27 traditional Xen kernel but the most recent netback change made in that tree was the backport of the multithread patches. The crash appears to correspond to the "copy_gop->source.domid = src_pend->netif->domid" line of netbk_gop_frag_copy, specifically src_pend->netif seems to be NULL. Have you seen anything like this? One thing I did notice is that 020ba906 "xen/netback: Multiple tasklets support." includes this hunk: @@ -321,7 +331,8 @@ static u16 netbk_gop_frag(struct xen_netif *netif, struct netbk_rx_meta *meta, copy_gop = npo->copy + npo->copy_prod++; copy_gop->flags = GNTCOPY_dest_gref; - if (idx > -1) { + if (PageForeign(page)) { + struct xen_netbk *netbk = &xen_netbk[group]; struct pending_tx_info *src_pend = &netbk->pending_tx_info[idx]; copy_gop->source.domid = src_pend->netif->domid; copy_gop->source.u.ref = src_pend->req.gref; I'm not sure it is guaranteed that all foreign pages which reach this point are netback pages, is it? gnttab_copy_grant_page also sets PageForeign for example. Does this change relate to the removal of the if ((idx >= MAX_PENDING_REQS) || (netbk->mmap_pages[idx] != pg)) return -1; check from netif_page_index in a3031942 "xen/netback: Introduce a new struct type page_ext."? Do you think we perhaps need to reinstate a similar check to this as well as first checking that group is a sensible offset into the xen_netbk array? Thanks, Ian. [2010-07-11 03:50:28 UTC] BUG: unable to handle kernel paging request at f0052dac [2010-07-11 03:50:28 UTC] IP: [<c0284ed8>] netbk_gop_frag_copy+0x78/0x200 [2010-07-11 03:50:28 UTC] Oops: 0000 [#1] SMP [2010-07-11 03:50:28 UTC] last sysfs file: /sys/devices/xen-backend/vbd-1669-51712/statistics/rd_usecs [2010-07-11 03:50:28 UTC] Modules linked in: tun nfs nfs_acl dm_round_robin scsi_dh_emc dm_multipath scsi_dh bonding hfsplus lockd sunrpc bridge stp llc(N) ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables x_tables binfmt_misc nls_utf8 isofs(N) sbs sbshc fan battery ac parport_pc lp parport nvram sg evdev(N) usb_storage libusual(N) container bnx2 zlib_inflate(N) usbhid thermal ff_memless qla2xxx processor button thermal_sys hpilo scsi_transport_fc e1000e piix serio_raw 8250_pnp ide_cd_mod 8250 cdrom serial_core ata_piix libata dock rtc_cmos rtc_core rtc_lib pcspkr ide_generic dm_snapshot dm_zero dm_mirror dm_log dm_mod ide_disk cciss sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd usbcore fbcon(N) font(N) tileblit(N) bitblit(N) softcursor(N) [2010-07-11 03:50:28 UTC] Supported: No, Unsupported modules are loaded [2010-07-11 03:50:28 UTC] [2010-07-11 03:50:28 UTC] Pid: 1173, comm: netback/2 Tainted: G (2.6.27.45-0.1.1.xs5.6.900.128.111247xen #1) [2010-07-11 03:50:28 UTC] EIP: 0061:[<c0284ed8>] EFLAGS: 00010246 CPU: 0 [2010-07-11 03:50:28 UTC] EIP is at netbk_gop_frag_copy+0x78/0x200 [2010-07-11 03:50:28 UTC] EAX: f0052d9c EBX: f0087384 ECX: 00000000 EDX: f0052cfc [2010-07-11 03:50:28 UTC] ESI: 00000006 EDI: eccfbf44 EBP: eccfbee0 ESP: eccfbec0 [2010-07-11 03:50:28 UTC] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0069 [2010-07-11 03:50:28 UTC] Process netback/2 (pid: 1173, ti=eccfa000 task=ed81d030 task.ti=eccfa000) [2010-07-11 03:50:28 UTC] Stack: c15a8ba0 cdfb2480 ffff1cfc f008ad3c 00000000 00000006 0000000c 00000001 [2010-07-11 03:50:28 UTC] eccfbfa4 c02852b4 00000006 000000d2 00000000 c16bdb34 eccfbf88 eccfbf20 [2010-07-11 03:50:28 UTC] f008730c f008630c eca73bdc f008530c 00000001 f007d630 eea80200 ed81d030 [2010-07-11 03:50:28 UTC] Call Trace: [2010-07-11 03:50:28 UTC] [<c02852b4>] ? net_rx_action+0x254/0x920 [2010-07-11 03:50:28 UTC] [<c0287407>] ? netbk_action_thread+0x97/0x170 [2010-07-11 03:50:28 UTC] [<c013de00>] ? autoremove_wake_function+0x0/0x50 [2010-07-11 03:50:28 UTC] [<c0287370>] ? netbk_action_thread+0x0/0x170 [2010-07-11 03:50:28 UTC] [<c013daa2>] ? kthread+0x42/0x70 [2010-07-11 03:50:28 UTC] [<c013da60>] ? kthread+0x0/0x70 [2010-07-11 03:50:28 UTC] [<c010569b>] ? kernel_thread_helper+0x7/0x10 [2010-07-11 03:50:28 UTC] ======================= [2010-07-11 03:50:28 UTC] Code: 69 db 04 e3 00 00 8d 04 40 8d 54 82 f4 89 55 ec 89 5d e8 eb 65 8b 45 f0 8b 55 e8 03 15 a8 94 53 c0 c1 e0 04 8d 84 10 a0 00 00 00 <8b> 50 10 0f b7 12 66 89 53 04 8b 40 04 66 c7 43 12 03 00 89 03 [2010-07-11 03:50:28 UTC] EIP: [<c0284ed8>] netbk_gop_frag_copy+0x78/0x200 SS:ESP 0069:eccfbec0 [2010-07-11 03:50:28 UTC] ---[ end trace cf7f02bf1fe43242 ]--- _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |