Date: Mon, 7 Nov 2005 18:00:31 GMT From: Peter Jeremy <PeterJeremy@optushome.com.au> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/78179: bus_dmamem_alloc() with BUS_DMA_NOWAIT can block Message-ID: <200511071800.jA7I0Vxi015780@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR kern/78179; it has been noted by GNATS. From: Peter Jeremy <PeterJeremy@optushome.com.au> To: FreeBSD-gnats-submit@freebsd.org Cc: Subject: Re: kern/78179: bus_dmamem_alloc() with BUS_DMA_NOWAIT can block Date: Tue, 8 Nov 2005 04:51:39 +1100 I have recently confirmed the continued existence of this problem in 7-CURRENT from 5th November: Whilst copying a file to a USB memory stick, I received the panic below. Looking at the sources, there are references to BUS_DMA_NOWAIT in over 100 files so the USB code isn't alone - though it's not obvious how many of these paths allocate more than one page (and therefore trigger the bug). Nov 7 19:14:26 server kernel: panic: trying to sleep while sleeping is prohibited Nov 7 19:14:26 server kernel: KDB: stack backtrace: Nov 7 19:14:26 server kernel: kdb_backtrace(c06fac04,c0762460,c06fd889,d4494828,100) at kdb_backtrace+0x2e Nov 7 19:14:26 server kernel: panic(c06fd889,1,c06fd805,10c,2) at panic+0xb7 Nov 7 19:14:26 server kernel: sleepq_add(cbe8f0e0,c07adc60,c070d2f1,0,c053527a) at sleepq_add+0xb2 Nov 7 19:14:26 server kernel: msleep(cbe8f0e0,c07adc60,44,c070d2f1,0) at msleep+0x2df Nov 7 19:14:26 server kernel: bwait(cbe8f0e0,44,c070d2f1,509,0) at bwait+0x60 Nov 7 19:14:26 server kernel: swap_pager_putpages(c2215ce4,d4494970,1,1,d4494920) at swap_pager_putpages+0x47a Nov 7 19:14:26 server kernel: default_pager_putpages(c2215ce4,d4494970,1,1,d4494920) at default_pager_putpages+0x2e Nov 7 19:14:26 server kernel: vm_pageout_flush(d4494970,1,1,60,c19115a0) at vm_pageout_flush+0x16b Nov 7 19:14:26 server kernel: vm_contig_launder_page(c1911558,0,c070dd4b,1ec,ffffffff) at vm_contig_launder_page+0x229 Nov 7 19:14:26 server kernel: vm_page_alloc_contig(10,0,0,ffffffff,1) at vm_page_alloc_contig+0x24d Nov 7 19:14:26 server kernel: contigmalloc(10000,c073a940,1,0,ffffffff) at contigmalloc+0xb5 Nov 7 19:14:26 server kernel: bus_dmamem_alloc(c2879100,c2410c88,5,c2410c84,ffffffff) at bus_dmamem_alloc+0xd2 Nov 7 19:14:26 server kernel: usb_block_allocmem(0,10000,1,c1fe333c,d4494a9c) at usb_block_allocmem+0x180 Nov 7 19:14:26 server kernel: usb_allocmem(c1b14000,10000,0,c1fe333c,d4494ae8) at usb_allocmem+0x73 Nov 7 19:14:26 server kernel: uhci_allocm(c1b14000,c1fe333c,10000,10c,1) at uhci_allocm+0x27 Nov 7 19:14:26 server kernel: usbd_transfer(c1fe3300,c4849480,c26e6400,d1483000,10000) at usbd_transfer+0xaa Nov 7 19:14:26 server kernel: umass_setup_transfer(c26e6400,c4849480,d1483000,10000,0) at umass_setup_transfer+0x57 Nov 7 19:14:26 server kernel: umass_bbb_state(c1a52d00,c26e6400,0,c19566f0,d4494b7c) at umass_bbb_state+0x1ce Nov 7 19:14:26 server kernel: usb_transfer_complete(c1a52d00,c053552c,c0761ce0,1,c06f9a88) at usb_transfer_complete+0x1aa Nov 7 19:14:26 server kernel: uhci_idone(c1a52d70,c1a52d88,c07ad548) at uhci_idone+0x2ee -- Peter Jeremyhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511071800.jA7I0Vxi015780>
