cvs commit: src/sbin/ggate/ggatec Makefile ggatec.c src/sbin/ggate/ggated Makefile ggated.c src/sbin/ggate/shared ggate.c ggate.h

Pawel Jakub Dawidek pjd at FreeBSD.org
Fri Jul 8 21:28:27 GMT 2005


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