NVIDIA FreeBSD kernel feature requests

Christian Zander czander at nvidia.com
Mon Jul 3 12:02:33 UTC 2006


On Mon, Jul 03, 2006 at 10:33:29AM +0100, Robert Watson wrote:
> 
> 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.
> 

I've made a first pass at implementing support for the device cloning
mechanism in the NVIDIA FreeBSD graphics driver and it seems to work
well with the driver's notification mechanism on FreeBSD 5.3.  I'll
need to do more testing and check what implications the mechanism has
(locking, etc.), but it looks like it's a good match.

Thanks,


> 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"
> >
> _______________________________________________
> 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"

-- 
christian zander
ch?zander at nvidia.com


More information about the freebsd-hackers mailing list