Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2006 13:31:34 -0700
From:      Sam Leffler <sam@errno.com>
To:        Christian Zander <czander@nvidia.com>
Cc:        freebsd-hackers@freebsd.org, Alexander Kabaev <kan@kan.dnsalias.net>, Oleksandr Tymoshenko <gonzo@pbxpress.com>
Subject:   Re: NVIDIA FreeBSD kernel feature requests
Message-ID:  <44A438A6.40707@errno.com>
In-Reply-To: <20060629174100.GW692@wolf.nvidia.com>
References:  <20060629111231.GA692@wolf.nvidia.com>	<44A3FD87.8000006@pbxpress.com>	<b1fa29170606290932m419e1dc0tf69a447daef5dde9@mail.gmail.com>	<20060629164910.GA4242@kan.dnsalias.net> <20060629174100.GW692@wolf.nvidia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Christian Zander wrote:
> On Thu, Jun 29, 2006 at 12:49:10PM -0400, Alexander Kabaev wrote:
>> On Thu, Jun 29, 2006 at 09:32:42AM -0700, Kip Macy wrote:
>>> IIRC lack of per instance cdevs also limits Freebsd to one vmware instance.
>>>
>>>            -Kip
>>>
>>> On 6/29/06, Oleksandr Tymoshenko <gonzo@pbxpress.com> wrote:
>>>> 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.
>>>>
>> WHY it smells like a hack? It was designed precisely to do that. I am
>> using cloned devices in our  product with great success. Every client
>> opening 'magic' device gets its own exclusive cloned device instance
>> and everything works like a charm. I am yet to hear any single coherent
>> description of what Linux's approach has over device cloning in FreeBSD.
>> I wouldn't mind being educated on this.
>>
> 
> Thanks for your feedback, I hadn't been aware of this interface, but
> it sounds promising. When was it first introduced? Are there any
> known problems with it and certain FreeBSD releases, or is it expected
> to work fine in FreeBSD >= 5.3?

It came in with devfs so it should be in all 5.x systems.

	Sam



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44A438A6.40707>