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