From owner-freebsd-bugs@FreeBSD.ORG Mon Feb 28 07:20:09 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E585416A4CE for ; Mon, 28 Feb 2005 07:20:09 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9ABD643D3F for ; Mon, 28 Feb 2005 07:20:09 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id j1S7K99s063584 for ; Mon, 28 Feb 2005 07:20:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id j1S7K9pH063583; Mon, 28 Feb 2005 07:20:09 GMT (envelope-from gnats) Resent-Date: Mon, 28 Feb 2005 07:20:09 GMT Resent-Message-Id: <200502280720.j1S7K9pH063583@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, PeterJeremy@optushome.com.au Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F5F816A4CE for ; Mon, 28 Feb 2005 07:17:58 +0000 (GMT) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0535B43D4C for ; Mon, 28 Feb 2005 07:17:58 +0000 (GMT) (envelope-from peterjeremy@optushome.com.au) Received: from server.vk2pj.dyndns.org (c211-30-75-229.belrs2.nsw.optusnet.com.au [211.30.75.229]) j1S7HtjM009462 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Mon, 28 Feb 2005 18:17:56 +1100 Received: from server.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1])j1S7Htvs017618; Mon, 28 Feb 2005 18:17:55 +1100 (EST) (envelope-from peter@server.vk2pj.dyndns.org) Received: (from peter@localhost) by server.vk2pj.dyndns.org (8.13.1/8.13.1/Submit) id j1S7HtRR017617; Mon, 28 Feb 2005 18:17:55 +1100 (EST) (envelope-from peter) Message-Id: <200502280717.j1S7HtRR017617@server.vk2pj.dyndns.org> Date: Mon, 28 Feb 2005 18:17:55 +1100 (EST) From: PeterJeremy@optushome.com.au To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: PeterJeremy@optushome.com.au Subject: kern/78179: bus_dmamem_alloc() with BUS_DMA_NOWAIT can block X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: PeterJeremy@optushome.com.au List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Feb 2005 07:20:10 -0000 >Number: 78179 >Category: kern >Synopsis: bus_dmamem_alloc() with BUS_DMA_NOWAIT can block >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Feb 28 07:20:09 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Peter Jeremy >Release: FreeBSD 5.3-RELEASE-p5 i386 >Organization: n/a >Environment: System: FreeBSD server.vk2pj.dyndns.org 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #2: Sat Feb 26 15:54:18 EST 2005 root@server.vk2pj.dyndns.org:/home/obj/usr/src/sys/server i386 >Description: If a request for more than one page of memory is passed to bus_dmamem_alloc(), contigmalloc() is used to allocate the requested memory. bus_dmamem_alloc() defines a flag BUS_DMA_NOWAIT which specifies that bus_dmamem_alloc() is not to wait. BUS_DMA_NOWAIT is mapped to M_NOWAIT but contigmalloc() does not support M_NOWAIT and can block. This problem appears to exist on 4.x, 5.x and 6.x. >How-To-Repeat: I originally ran into the problem with USB transfers on FreeBSD 4.10. That particular problem was avoided by a patch to reduce the memory consumption of USB but the underlying inconsistency between bus_dmamem_alloc() and contigmalloc() remains. I don't have a specific procedure to reproduce the fault. >Fix: Unknown. >Release-Note: >Audit-Trail: >Unformatted: