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