From owner-freebsd-amd64@FreeBSD.ORG Tue Oct 25 10:30:25 2005 Return-Path: X-Original-To: freebsd-amd64@hub.freebsd.org Delivered-To: freebsd-amd64@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6504016A420 for ; Tue, 25 Oct 2005 10:30:25 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 263CB43D58 for ; Tue, 25 Oct 2005 10:30:16 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j9PAUF0f068821 for ; Tue, 25 Oct 2005 10:30:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j9PAUFfU068811; Tue, 25 Oct 2005 10:30:15 GMT (envelope-from gnats) Resent-Date: Tue, 25 Oct 2005 10:30:15 GMT Resent-Message-Id: <200510251030.j9PAUFfU068811@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-amd64@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jacques Caron Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AED1016A41F for ; Tue, 25 Oct 2005 10:24:35 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7472F43D45 for ; Tue, 25 Oct 2005 10:24:35 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id j9PAOZIC021885 for ; Tue, 25 Oct 2005 10:24:35 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id j9PAOZ65021884; Tue, 25 Oct 2005 10:24:35 GMT (envelope-from nobody) Message-Id: <200510251024.j9PAOZ65021884@www.freebsd.org> Date: Tue, 25 Oct 2005 10:24:35 GMT From: Jacques Caron To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: amd64/87977: amd64 busdma dflt_lock called (by ata) if physmem>4G X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Oct 2005 10:30:25 -0000 >Number: 87977 >Category: amd64 >Synopsis: amd64 busdma dflt_lock called (by ata) if physmem>4G >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-amd64 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Oct 25 10:30:15 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Jacques Caron >Release: 5.4 >Organization: Oxado >Environment: FreeBSD db4.fr1.oxado.com 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Thu Oct 20 23:46:49 UTC 2005 root@artemis.oxado.com:/usr/obj/usr/src/sys/SMP amd64 >Description: FreeBSD/amd64 5.4-RELEASE on Tyan K8SD Pro (S2882D) with two Opteron processors and 8 GB RAM, on-board SiI 3114 SATA controller and additional Promise SATA300TX4 SATA controller. 5.4-RELEASE was patched to add support for the Promise controller: diff -c sys/dev/ata/ata-chipset.c.orig sys/dev/ata/ata-chipset.c *** sys/dev/ata/ata-chipset.c.orig Wed May 11 17:15:35 2005 --- sys/dev/ata/ata-chipset.c Fri Sep 2 16:19:05 2005 *************** *** 1312,1317 **** --- 1312,1320 ---- { ATA_PDC20621, 0, PRMIO, PRSX4X, ATA_UDMA5, "Promise PDC20621" }, { ATA_PDC20622, 0, PRMIO, PRSX4X, ATA_SA150, "Promise PDC20622" }, { ATA_PDC40518, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40518" }, + { ATA_PDC40519, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40519" }, + { ATA_PDC40718, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40718" }, + { ATA_PDC40719, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40719" }, { 0, 0, 0, 0, 0, 0}}; char buffer[64]; uintptr_t devid = 0; diff -c sys/dev/ata/ata-pci.h.orig sys/dev/ata/ata-pci.h *** sys/dev/ata/ata-pci.h.orig Wed May 11 17:15:35 2005 --- sys/dev/ata/ata-pci.h Fri Sep 2 16:19:56 2005 *************** *** 180,185 **** --- 180,188 ---- #define ATA_PDC20579 0x3574105a #define ATA_PDC20580 0x3570105a #define ATA_PDC40518 0x3d18105a + #define ATA_PDC40519 0x3519105a + #define ATA_PDC40718 0x3d17105a + #define ATA_PDC40719 0x3515105a #define ATA_PDC20617 0x6617105a #define ATA_PDC20618 0x6626105a #define ATA_PDC20619 0x6629105a Any kind of serious I/O involving several of the Promise-based disks or a combination of the Promise-based disks and the SiI-based ones will cause a panic "busdma dflt_lock called". Any level of I/O on the SiI only apparently never causes the problem. Setting hw.physmem=3g in /boot/loader.conf apparently makes the problem go away, but I need the additional memory... Similar issues with other drivers are found here: http://www.monkey.org/freebsd/archive/freebsd-amd64/200411/msg00070.html and possibly here: http://www.mail-archive.com/freebsd-hardware@freebsd.org/msg00536.html It seems the issue is either in the busdma code, or the way the busdma code is used by those drivers. As an aside, fxp has a long delay during boot with 8G, but this goes away when hw.physmem is set to 3g. >How-To-Repeat: amd64 with 8G RAM and 4 disks on a Promise SATA300TX4, dd of=/dev/null if=/dev/ad12 bs=256000 & dd of=/dev/null if=/dev/ad14 bs=256000 & dd of=/dev/null if=/dev/ad16 bs=256000 & dd of=/dev/null if=/dev/ad18 bs=256000 & You will never get to the last one. >Fix: Workaround (not fix): set hw.physmem to less than 4G. >Release-Note: >Audit-Trail: >Unformatted: