From owner-freebsd-hackers Thu Nov 14 9:27: 5 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2221E37B401; Thu, 14 Nov 2002 09:27:04 -0800 (PST) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by mx1.FreeBSD.org (Postfix) with ESMTP id E437B43E75; Thu, 14 Nov 2002 09:26:57 -0800 (PST) (envelope-from phoenix@minion.de) Received: from [212.227.126.160] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 18CNlU-0007gc-00; Thu, 14 Nov 2002 18:26:52 +0100 Received: from [80.144.47.221] (helo=chronos) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 18CNlU-0003Rj-00; Thu, 14 Nov 2002 18:26:52 +0100 Received: from phoenix by chronos with local (Exim 3.35 #1 (Debian)) id 18CNk9-00070O-00; Thu, 14 Nov 2002 18:25:29 +0100 Date: Thu, 14 Nov 2002 18:25:29 +0100 From: Christian Zander To: Kenneth Culver Cc: John Baldwin , freebsd-hackers@FreeBSD.org Subject: Re: panic with nvidia drivers (but not sure it's nvidia's fault) Message-ID: <20021114182529.L18507@chronos> Reply-To: Christian Zander References: <20021114104742.H32489-100000@alpha.yumyumyum.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20021114104742.H32489-100000@alpha.yumyumyum.org> User-Agent: Mutt/1.3.22.1i X-Operating-System: GNU/Linux [2.4.19][i686] Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Nov 14, 2002 at 10:55:17AM -0500, Kenneth Culver wrote: > > I'm not positive, but looking at the code this is what happens. > > first an object is allocated, then it goes and finds some nvidia > specific data structure contained in that object (from what I can > tell), then it calls rm_alloc_agp_pages (which is a function that > I don't have access to. it is in the proprietary part of the > driver I guess), then calls nv_free_vm_object(). I suppose that > rm_alloc_agp_pages could very well be screwing up the vm object, > in which case the bug really is nvidia's driver's fault. Thanks. > I feel better now because this whole piece of code can be totally > avoided by using FreeBSD's agpgart instead of nvidia's :-) > It'd be good to track down the root cause of this problem, though. I've heard of this problem from one other user, with essentially the same call trace, though there was no mention of the intermediate function calls as was the case in the trace you posted. All code interacting with FreeBSD data structures resides in the open part of the kernel module; a pointer to the newly allocated object is passed to rm_alloc_agp_pages as an opaque pointer, it is required later when the NVIDIA AGP GART driver needs to obtain the physical addresses of the individual pages in the allocation. This happens with calls to nv_agp_translate_address. It'd be interesting to learn if the code path you suspect really is the one taken in the case of this failure. Is this problem easily reproducible on your machine? If so, how and with what hard/software combination? -- christian zander zander@minion.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message