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