From owner-freebsd-stable@FreeBSD.ORG Mon Feb 15 13:23:00 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E80B1106566B; Mon, 15 Feb 2010 13:22:59 +0000 (UTC) (envelope-from mik@pc.dk) Received: from pfepb.post.tele.dk (pfepb.post.tele.dk [195.41.46.236]) by mx1.freebsd.org (Postfix) with ESMTP id 8048F8FC0A; Mon, 15 Feb 2010 13:22:59 +0000 (UTC) Received: from miknet.dk (0x5738c147.rdnqu2.dynamic.dsl.tele.dk [87.56.193.71]) by pfepb.post.tele.dk (Postfix) with ESMTP id B2E2EF84060; Mon, 15 Feb 2010 14:22:57 +0100 (CET) Date: Mon, 15 Feb 2010 14:23:05 +0100 From: Martin Kristensen To: Robert Noland Message-ID: <20100215142305.3f0d7e65@miknet.dk> In-Reply-To: <1266096425.89452.30.camel@balrog.2hip.net> References: <6101e8c41002091524q25a7e026u585e575eb4f1589c@mail.gmail.com> <20100211074933.GJ9748@acme.spoerlein.net> <1266080709.89452.21.camel@balrog.2hip.net> <201002131137.34812.npapke@acm.org> <1266096425.89452.30.camel@balrog.2hip.net> Organization: Private X-Mailer: Claws Mail 3.7.5 (GTK+ 2.18.6; amd64-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: freebsd7 (and 8), radeon, xorg-server -> deadlock or so X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2010 13:23:00 -0000 On Sat, 13 Feb 2010 15:27:04 -0600 Robert Noland wrote: > On Sat, 2010-02-13 at 11:37 -0800, Norbert Papke wrote: > > On February 13, 2010, Robert Noland wrote: > > > Ok, I've put up a patch at: > > > > > > http://people.freebsd.org/~rnoland/drm-radeon-test.patch > > > > > http://people.freebsd.org/~rnoland/drm-radeon-8-test.patch > > This one should work on 8... > > robert. > > > > This is sort of a mega patch and includes: > > > > > > Re-worked drm mapping code, that ensures that we don't end up > > > incorrectly mapping certain maps with overlapping offsets. This > > > generally shows up as the ring buffer not being cleared > > > (contents != 0 in xorg.log) which leads to corruption and other > > > bad behavior. > > > > > > Re-written scatter gather allocation code. This interacts > > > directly with the VM system, rather than using bus_dma to allow > > > us to grab non-contiguous pages for the scatter gather backing of > > > the GART. It also makes it easier to handle the caching mode of > > > the backing pages. > > > > > > Disable cache snooping on radeon cards, since we have write > > > combining set properly now. > > > > > > I have at least done a test build on -CURRENT with this patch, > > > but I haven't had time to do much else without the rest of the > > > code in my tree. I've been running most all of this code for a > > > month or two now at least, so it is mostly just a question of > > > whether or not I got all of the conflicts sorted out properly > > > when I made this patch. > > > > > > The re-mapping code has the most widespread impact and has been > > > tested on radeon r600 amd64, intel g45 i386 and mga amd64. > > > > > > robert. The patch applied cleanly. I have applied the patch to a clean 8-STABLE environment with WITNESS, INVARIANTS and KDB_UNATTENDED in the kernel. I still see the crashes when starting X with DRI on. This is what I see in messages: Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_mmap] called with offset 0000070001c7b000 Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_mmap] called with offset 0000070001c7c000 Feb 14 19:13:44 alpha kernel: Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_mmap] called with offset 0000070001c7d000 Feb 14 19:13:44 alpha kernel: Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_mmap] called with offset 0000070001c7e000 Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_mmap] called with offset 0000070001c7f000 Feb 14 19:13:44 alpha kernel: Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_ioctl] pid=30467, cmd=0xc0286415, nr=0x15, dev 0xffffff0001a79400, auth=1 Feb 14 19:13:44 alpha kernel: Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_addmap] offset = 0xfe8e0000, size = 0x00010000, type = 1 Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_addmap] Found kernel map 1 Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_addmap] Added map 1 0xfe8e0000/0x10000 Feb 14 19:13:44 alpha kernel: [drm:pid30467:drm_ioctl] pid=30467, cmd=0x80106459, nr=0x59, dev 0xffffff0001a79400, auth=1 There has been one odd development. If I startx with DRI off or NoAccel set it starts as usual. If I then quit and to cli and restart, I see the same crash as if I had DRI on. Martin