From owner-freebsd-current@FreeBSD.ORG Mon Sep 15 15:27:18 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B7EE456 for ; Mon, 15 Sep 2014 15:27:18 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7211A183 for ; Mon, 15 Sep 2014 15:27:18 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-70-85-31.nwrknj.fios.verizon.net [173.70.85.31]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id A3581B95D; Mon, 15 Sep 2014 11:27:16 -0400 (EDT) From: John Baldwin To: dt71@gmx.com Subject: Re: Xorg causes panics with "multiple" drivers (Was: panic: resource_list_alloc: resource entry is busy) Date: Mon, 15 Sep 2014 11:25:47 -0400 Message-ID: <282186928.pUbQA97aum@ralph.baldwin.cx> User-Agent: KMail/4.10.5 (FreeBSD/10.0-STABLE; KDE/4.10.5; amd64; ; ) In-Reply-To: <54140711.7020001@gmx.com> References: <3819796.R7BYA2qqa8@ralph.baldwin.cx> <54140711.7020001@gmx.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 15 Sep 2014 11:27:16 -0400 (EDT) Cc: freebsd-current@freebsd.org, Marcin Cieslak X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2014 15:27:18 -0000 On Saturday, September 13, 2014 10:57:53 AM dt71@gmx.com wrote: > John Baldwin wrote on 09/12/2014 23:06: > > X loaded i915kms automatically and > > i915 and i915kms do not get along. i915 had already allocated the IRQ > > when i915kms tried to alloc the same IRQ causing the issue. > > Who is to blame? The user who tried to manually load an unsupported > combination of modules, or the system, which should have handled things > gracefully (whether by automatically unloading the first driver, or > producing a soft-error upon loading the 2nd driver)? > > On a side-note, I also had a "resource_list_alloc: resource entry is busy" > panic right after switching from the 10.0-supported Xorg to the "new" Xorg; > I exited Xorg, enabled "FreeBSD_new_Xorg", ran "pkg upgrade", then ran > "startx", and got the panic. Surely this wasn't my fault! I can turn the panic into a resource allocation failure, but specifically with KMS I am unsure if it will actually be better. It depends on when the driver does this IRQ allocation. You may very well end up with a black screen and a seemingly "hung" system (though it would not actually be hung). I do think we should fix i915kms to fail fast if i915 is loaded, or more likely I think we should probably look at removing the old i915 driver from HEAD entirely so that 11 doesn't ship with it. It won't work with the Xorg we are shipping with 11, so it's really dead code at this point. The proposed diff would be: Index: subr_bus.c =================================================================== --- subr_bus.c (revision 271627) +++ subr_bus.c (working copy) @@ -3301,7 +3301,10 @@ resource_list_alloc(struct resource_list *rl, devi rle->flags |= RLE_ALLOCATED; return (rle->res); } - panic("resource_list_alloc: resource entry is busy"); + device_printf(bus, + "resource entry %#x type %d for child %s is busy\n", *rid, + type, device_get_nameunit(child)); + return (NULL); } if (isdefault) { -- John Baldwin