Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Aug 2009 18:04:33 +0400
From:      Vladimir Grebenschikov <vova@parallels.com>
To:        clement@FreeBSD.org
Cc:        freebsd-net <freebsd-net@FreeBSD.org>
Subject:   net/haproxy - some ideas
Message-ID:  <1249308273.1712.23.camel@localhost>

next in thread | raw e-mail | index | archive | help
Hi 

Recently I've looked into net/haproxy port on FreeBSD.

Contrary to recent Linux there is no splice() functionality, so all data
move between sockets is done through user-space.

First idea - to use ksocket netgraph node to accept connections, and
send data to both directions, theoretically it may give even better
performance then using splice() syscall per every block of data.

On first stage (while haproxy read/rewrite http headers) both ksocket
nodes to be ended in user-space, initial negotiation finished - these
nodes just connected to each other in kernel and no user-space
interaction required for further data send through that pair.

Second, probably you have tried ongoing splice work 
Suleiman Souhlal ? (not sure about current status)
http://p4db.freebsd.org/branchView.cgi?BRANCH=ssouhlal_splice


-- 
Vladimir B. Grebenschikov
Project Manager, Automation
Parallels Inc. vgrebenschikov@parallels.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1249308273.1712.23.camel>