[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Making Apache use kqueue
- To: tech_(_at_)_openbsd_(_dot_)_org
- Subject: Re: Making Apache use kqueue
- From: Pedro Martelletto <pedro_(_at_)_sna_(_dot_)_cx>
- Date: Wed, 8 Oct 2003 00:14:25 -0300
To make things easier, attached there is a patch that makes Apache build
the priorly mentioned kqueue.c, which should be in src/main.
The patch should apply against -current.
-p.
On Tue, Oct 07, 2003 at 08:53:12PM -0300, Pedro Martelletto wrote:
> Hi,
>
> In an effort to make Apache use the kqueue mechanism, I've started to
> write an ap_select() replacement which uses kqueue. You can download it
> at http://pedro.sna.cx/kqueue.c.
>
> To which extent such a change would affect Apache's performance, I
> currently do not know - That's why I'm making this post. If at all
> possible, I would like people to comment, test, speak.
>
> Feedback will be very much appreciated.
>
> -p.
Index: src/include/ap_config.h
===================================================================
RCS file: /cvs/src/usr.sbin/httpd/src/include/ap_config.h,v
retrieving revision 1.17
diff -u -r1.17 ap_config.h
--- src/include/ap_config.h 2003/08/21 13:11:35 1.17
+++ src/include/ap_config.h 2003/10/08 03:07:36
@@ -1323,6 +1323,7 @@
#define CHECK_FD_SETSIZE
#endif
+/*
#ifdef USE_TPF_SELECT
#define ap_select(_a, _b, _c, _d, _e) \
tpf_select(_a, _b, _c, _d, _e)
@@ -1333,6 +1334,7 @@
#define ap_select(_a, _b, _c, _d, _e) \
select(_a, _b, _c, _d, _e)
#endif
+*/
#ifdef USE_TPF_ACCEPT
#define ap_accept(_fd, _sa, _ln) tpf_accept(_fd, _sa, _ln)
Index: src/main/Makefile.tmpl
===================================================================
RCS file: /cvs/src/usr.sbin/httpd/src/main/Makefile.tmpl,v
retrieving revision 1.4
diff -u -r1.4 Makefile.tmpl
--- src/main/Makefile.tmpl 2002/07/17 11:17:00 1.4
+++ src/main/Makefile.tmpl 2003/10/08 03:07:37
@@ -11,7 +11,7 @@
http_config.o http_core.o http_log.o \
http_main.o http_protocol.o http_request.o http_vhost.o \
util.o util_date.o util_script.o util_uri.o util_md5.o \
- rfc1413.o fdcache.o
+ rfc1413.o fdcache.o kqueue.o
.c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $<
@@ -164,3 +164,4 @@
$(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h \
$(INCDIR)/http_log.h $(INCDIR)/http_conf_globals.h uri_delims.h
fdcache.o: fdcache.c
+kqueue.o: kqueue.c
Index: src/support/ab.c
===================================================================
RCS file: /cvs/src/usr.sbin/httpd/src/support/ab.c,v
retrieving revision 1.13
diff -u -r1.13 ab.c
--- src/support/ab.c 2003/08/25 16:05:28 1.13
+++ src/support/ab.c 2003/10/08 03:07:42
@@ -140,7 +140,6 @@
#include <sys/types.h>
#include <sys/uio.h>
-#define ap_select select
#else /* (!)NO_APACHE_INCLUDES */
#include "ap_config.h"
#include "ap.h"
@@ -151,6 +150,8 @@
#ifndef MPE
#include <sys/time.h>
#endif
+
+#define ap_select select
#ifndef NO_WRITEV
#include <sys/types.h>
Visit your host, monkey.org