Date: Wed, 13 Feb 2002 13:28:29 +0300 (MSK) From: "Eugene L. Vorokov" <vel@bugz.infotecs.ru> To: danfe@cytherea.weblab.nsu.ru (Alexey Dokuchaev) Cc: freebsd-hackers@freebsd.org Subject: Re: THTTPD web server: problems with KQUEUE on FreeBSD 4.5-STABLE Message-ID: <200202131028.g1DASTY88632@bugz.infotecs.ru> In-Reply-To: <20020213160014.A97359@cytherea.weblab.nsu.ru> from "Alexey Dokuchaev" at Feb 13, 2002 04:00:14 PM
next in thread | previous in thread | raw e-mail | index | archive | help
> I still wonder, whether this problem occurs because of how thttpd does > things, or how FreeBSD implements kqueue stuff, however, I am not sure > that I will have enough time to dig deep into this. Right now I'm pretty > happy with the fact that I got thttpd working again, and those "200 0" > messages are no longer in my logs. However, it is still an issue to > worry about, I believe, and I will be a lot more happy if my experience > helps either folks to find and fix some probable bugs (if any) in their > excellent software. Hm, there is no such thing as kqread() I think. There are kqueue() and kevent(). You didn't show the piece of code that uses it, so it's hard to say what the problem is. I recommend you to read jlemon's paper at http://www.freebsd.org/~jlemon/kqueue.pdf to see how to you should work with kqueue() and kevent(). As for performance, I can confirm that kqueue() functions is better than select()/poll() at least in situations where we have to do non-blocking i/o on some large number of fd's (say, several thousands), and actually each time we see some activity only on small number of them (say, several hundred). That's how ircd usually works, and system load goes down significantly with kqueue() comparing to select(). Regards, Eugene 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?200202131028.g1DASTY88632>