Date: Wed, 25 Sep 2002 10:24:51 -0700 (PDT) From: Nate Lawson <nate@root.org> To: Michel Oosterhof <m.oosterhof@xs4all.nl> Cc: hackers@freebsd.org Subject: Re: kqueue Message-ID: <Pine.BSF.4.21.0209251001580.68759-100000@root.org> In-Reply-To: <20020925081253.GA98975@xs4all.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 25 Sep 2002, Michel Oosterhof wrote: > Hello. > > Recently I started looking into kqueue(2), and to get to know the > interface better I attempted to turn usr.sbin/moused into a kqueue > program (replacing the main select() loop that reads the mouse > device). > > Now I thought I understood the interface, I requested a kqueue, but > as soon as I add an event for monitoring I get an 'Operation not > permitted' error. Does anyone know if this is caused because > kqueue() only supports FFS? The mouse device is on devfs (I'm running > -CURRENT, btw). No, it's a device driver not fs deficiency. The serial/ps2/whatever drivers need to add a KNOTE when they have data ready. Check out sys/kern/tty.c for a driver that does this. This is not a difficult change -- KNOTE would go into psmintr() near the selwakeup. You also need to add kqfilter, attach, detach entries (see ttykqfilter, fil_ttyrdetach, etc.) > I've got one more question, actually a fact that surprises me, it > seems that tail(1) is the only place in the base system that actually > uses kqueue. Is there a reason for this? I read in most places > kqueue() is more efficient, scalable, etc. I'm sure code like ftpd > or other services would benefit. (And i'm sure Apache could use it > too). No time. -Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0209251001580.68759-100000>