cvs commit: src/sbin/ggate/ggatec Makefile ggatec.c
src/sbin/ggate/ggated
Makefile ggated.c src/sbin/ggate/shared ggate.c ggate.h
Maxim Sobolev
sobomax at portaone.com
Sun Jul 10 18:00:38 GMT 2005
Great work, Pawel!
Unrelated question, but I wonder if it would be a good idea to base
ggate on some industry-standart remote-storage protocol instead (iSCSI
being an obvious choice) or at least add a support for it.
-Maxim
Pawel Jakub Dawidek wrote:
> pjd 2005-07-08 21:28:26 UTC
>
> FreeBSD src repository
>
> Modified files:
> sbin/ggate/ggatec Makefile ggatec.c
> sbin/ggate/ggated Makefile ggated.c
> sbin/ggate/shared ggate.c ggate.h
> Log:
> Reimplement ggatec/ggated applications.
>
> Change communication protocol to be much more resistant on network
> problems and to allow for much better performance.
>
> Better performance is achieved by creating two connections between
> ggatec and ggated one for sending the data and one for receiving it.
> Every connection is handled by separeted thread, so there is no more
> synchronous data flow (send and wait for response), now one threads
> sends all requests and another receives the data.
>
> Use two threads in ggatec(8):
> - sendtd, which takes I/O requests from the kernel and sends them to the
> ggated daemon on the other end;
> - recvtd, which waits for ggated responses and forwards them to the kernel.
>
> Use three threads in ggated(8):
> - recvtd, which waits for I/O requests and puts them onto incoming queue;
> - disktd, which takes requests from the incoming queue, does disk operations
> and puts finished requests onto outgoing queue;
> - sendtd, which takes finished requests from the outgoing queue and sends
> responses back to ggatec.
>
> Because there were major changes in communication protocol, there is no
> backward compatibility, from now on, both client and server has to run
> on 5.x or 6.x (or at least ggated should be from the same FreeBSD version
> on which ggatec is running).
>
> For Gbit networks some buffers need to be increased. I use those settings:
> kern.ipc.maxsockbuf=16777216
> net.inet.tcp.sendspace=8388608
> net.inet.tcp.recvspace=8388608
> and I use '-S 4194304 -R 4194304' options for both, ggatec and ggated.
>
> Approved by: re (scottl)
>
> Revision Changes Path
> 1.5 +2 -2 src/sbin/ggate/ggatec/Makefile
> 1.5 +322 -192 src/sbin/ggate/ggatec/ggatec.c
> 1.4 +3 -0 src/sbin/ggate/ggated/Makefile
> 1.6 +631 -237 src/sbin/ggate/ggated/ggated.c
> 1.5 +71 -11 src/sbin/ggate/shared/ggate.c
> 1.3 +65 -13 src/sbin/ggate/shared/ggate.h
>
>
>
More information about the cvs-src
mailing list