NVIDIA FreeBSD kernel feature requests

Robert Watson rwatson at FreeBSD.org
Mon Jul 3 09:33:30 UTC 2006


On Sun, 2 Jul 2006, M. Warner Losh wrote:

> In message: <b1fa29170606290932m419e1dc0tf69a447daef5dde9 at mail.gmail.com>
>            "Kip Macy" <kip.macy at gmail.com> writes:
> : IIRC lack of per instance cdevs also limits Freebsd to one vmware instance.
>
> Can you describe the proper semantics here?  A cdev is a cdev, and when we 
> do things like dup we just copy the reference to that cdev. This has also 
> traditionally been resisted on layering violations grounds (since the data 
> we have doesn't map easily back to the fd at the time we call the cdev 
> methods).

In the past, I've done some experimental implementation allowing devfs 
providers to provide session cookies for the file descriptor.  This is fairly 
contrary to our VFS design, and our notions of "open" are a bit hazy -- for 
example, there are a number of situations in which I/O occurs on vnodes 
without the vnode being open.  The devfs cloning model does offer significant 
simplications in many cases, and certainly fits our VFS model a bit more 
happily.  It also exists today.  It may be that our VMware kernel module 
doesn't know about it yet, however.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> Warner
>
> : 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.
> : >
> : > --
> : > Sincerely,
> : >
> : > Oleksandr Tymoshenko
> : > PBXpress Communications, Inc.
> : > http://www.pbxpress.com
> : > Tel./Fax.: +1 866 SIP PBX1  Ext. 656
> : > _______________________________________________
> : > freebsd-hackers at freebsd.org mailing list
> : > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> : > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> : >
> : _______________________________________________
> : freebsd-hackers at freebsd.org mailing list
> : http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> : To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> :
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>


More information about the freebsd-hackers mailing list