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 <[EMAIL PROTECTED]> 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. -- Alexander Kabaev
pgpQ6tQSpB5xt.pgp
Description: PGP signature

