NVIDIA FreeBSD kernel feature requests

Sam Leffler sam at errno.com
Thu Jun 29 20:31:36 UTC 2006


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 at 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


More information about the freebsd-hackers mailing list