From owner-freebsd-current@FreeBSD.ORG Wed May 26 17:42:00 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 853AC106564A; Wed, 26 May 2010 17:42:00 +0000 (UTC) (envelope-from alc@cs.rice.edu) Received: from mail.cs.rice.edu (mail.cs.rice.edu [128.42.1.31]) by mx1.freebsd.org (Postfix) with ESMTP id 4A1128FC1F; Wed, 26 May 2010 17:42:00 +0000 (UTC) Received: from mail.cs.rice.edu (localhost.localdomain [127.0.0.1]) by mail.cs.rice.edu (Postfix) with ESMTP id BE6902C2D08; Wed, 26 May 2010 12:41:59 -0500 (CDT) X-Virus-Scanned: by amavis-2.4.0 at mail.cs.rice.edu Received: from mail.cs.rice.edu ([127.0.0.1]) by mail.cs.rice.edu (mail.cs.rice.edu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id aLVfEFp7fcah; Wed, 26 May 2010 12:41:52 -0500 (CDT) Received: from adsl-216-63-78-18.dsl.hstntx.swbell.net (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.cs.rice.edu (Postfix) with ESMTP id BCFA62C2C59; Wed, 26 May 2010 12:41:51 -0500 (CDT) Message-ID: <4BFD5D5F.8090106@cs.rice.edu> Date: Wed, 26 May 2010 12:41:51 -0500 From: Alan Cox User-Agent: Thunderbird 2.0.0.24 (X11/20100501) MIME-Version: 1.0 To: Kostik Belousov References: <4BFD4AE6.5040105@cs.rice.edu> <20100526165141.GF83316@deviant.kiev.zoral.com.ua> In-Reply-To: <20100526165141.GF83316@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: alc@freebsd.org, Garrett Cooper , FreeBSD Current Subject: Re: nvidia-driver 195.22 use horribly broken on amd64 between r206173 and X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 26 May 2010 17:42:00 -0000 Kostik Belousov wrote: > On Wed, May 26, 2010 at 11:23:02AM -0500, Alan Cox wrote: > >> Garrett Cooper wrote: >> >>> Just reporting the fact that nvidia-driver 195.22 is horribly >>> broken between r206173 and r208486 (my machine consistency livelocks >>> at X11 startup); the latest driver is still broken as well with the >>> same symptoms. I realize that's a huge revision difference, and I'll >>> definitely try and track down the root cause via a binary search, but >>> I wanted to make sure that other folks knew of the issue and don't >>> upgrade and their systems break horribly as well. >>> I suspect that the locking changes are causing the issue, but I >>> don't have any hard data to backup my claim at this time. >>> >>> >> I'm sure they are. The Nvidia driver directly accesses low-level >> virtual memory structures on which the synchronization rules have >> changed. (In contrast, the Xorg dri drivers in our source tree are >> using higher-level interfaces that have remained stable.) >> >> I don't think that a binary search is needed. The lock assertion >> failures should indicate most if not all of the changes that are needed >> in the driver. When Kip got this process started, he bumped >> FreeBSD_version, so it should be possible to condition the locking >> changes in the driver. >> >> Good luck! >> > > I did a quick glance over the driver, try this: > http://people.freebsd.org/~kib/misc/nvidia-vm_page_lock.1.patch > I did not even compiled the patched driver. > The second snippet looks weird to me, specifically, seeing an explicit unwiring before a kmem_free() call. Should the corresponding allocation be using kmem_alloc_attr()? Alan