From owner-freebsd-hackers@FreeBSD.ORG Thu Jun 29 16:19:36 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org 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 BA82F16A403 for ; Thu, 29 Jun 2006 16:19:36 +0000 (UTC) (envelope-from gonzo@pbxpress.com) Received: from mail.portaone.com (mail.portaone.com [65.61.200.231]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6482443D6D for ; Thu, 29 Jun 2006 16:19:36 +0000 (GMT) (envelope-from gonzo@pbxpress.com) Received: from dell.portaone.com (unknown [70.68.128.186]) by mail.portaone.com (Postfix) with ESMTP id DD847552C26; Thu, 29 Jun 2006 09:19:35 -0700 (PDT) Received: from leaf.pbxpress.com (www.pbxpress.com [142.179.71.212]) by dell.portaone.com (8.13.6/8.13.1) with ESMTP id k5TGJZ5s058941; Thu, 29 Jun 2006 09:19:35 -0700 (PDT) (envelope-from gonzo@pbxpress.com) Received: from [192.168.0.160] (k3-gw.portaone.com [193.28.87.193]) (authenticated bits=0) by leaf.pbxpress.com (8.13.3/8.13.3) with ESMTP id k5TGKVQf070481 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Jun 2006 09:20:37 -0700 (PDT) (envelope-from gonzo@pbxpress.com) Message-ID: <44A3FD87.8000006@pbxpress.com> Date: Thu, 29 Jun 2006 19:19:19 +0300 From: Oleksandr Tymoshenko User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: Christian Zander References: <20060629111231.GA692@wolf.nvidia.com> In-Reply-To: <20060629111231.GA692@wolf.nvidia.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=ham version=3.0.4 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on leaf.pbxpress.com Cc: freebsd-hackers@freebsd.org Subject: Re: NVIDIA FreeBSD kernel feature requests X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2006 16:19:36 -0000 Christian Zander wrote: > Hi all, > # Task: implement mechanism to allow character drivers to > maintain per-open instance data (e.g. like the Linux > kernel's 'struct file *'). > Motivation: allows per thread NVIDIA notification delivery; also > reduces CPU overhead for notification delivery > from the NVIDIA kernel module to the X driver and to > OpenGL. > Priority: should translate to improved X/OpenGL performance. > Status: has not been started. I've stumbled across this issue a while ago. Actually it can be partially solved using EVENTHANDLER_REGISTER of dev_clone event with keeping state structure in si_drv1 or si_drv2 fields. I'm not sure it's the best solution but it works for me though it smells like hack, and looks like hack :) Anyway, having legitimate per-open instance data structures of cdevs is a great assistance in porting linux drivers to FreeBSD. Just my $0.02. -- Sincerely, Oleksandr Tymoshenko PBXpress Communications, Inc. http://www.pbxpress.com Tel./Fax.: +1 866 SIP PBX1 Ext. 656