History log of /freebsd-9.3-release/sbin/ggate/shared/
Revision Date Author Comments
267654 20-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


239525 21-Aug-2012 dim

MFC r239106:

Make sure the compiler knows g_gate_xvlog() and g_gate_xlog() do not
return. This silences a warning from clang 3.2 about uninitialized use
of the variable 'mediasize' in sbin/ggate/shared/ggate.c.

Reviewed by: pjd


225736 23-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


204075 18-Feb-2010 pjd

Style nits.


168422 06-Apr-2007 pjd

Implement a work-around for poor ggate write performance.


165327 18-Dec-2006 pjd

For consistency use 'unsigned' instead of 'u_int'.


165251 15-Dec-2006 pjd

Fix ggated for platforms with 64bit size_t. The DIOCGSECTORSIZE ioctl
returns u_int.

Reported by: Javier Martín Rueda <jmrueda@diatel.upm.es>
PR: amd64/91799
MFC after: 3 days


163804 30-Oct-2006 pjd

- Handle timeouts from recv(2) properly.
- Increase timeout to 8 seconds (should be made configurable).

Reported by: Ulrich Spoerlein <uspoerlein@gmail.com>
Reported by: Christian Laursen <xi@borderworlds.dk>
PR: kern/104829
MFC after: 1 week


147844 08-Jul-2005 pjd

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)


145795 02-May-2005 delphij

include stdarg.h for va_list


134937 08-Sep-2004 pjd

Fix/clean up return values checking.


130837 21-Jun-2004 pjd

Print mediasize in human readable form as well.


128836 02-May-2004 pjd

Fix compiling on 64-bit architectures.


128763 30-Apr-2004 pjd

Stuff shared between ggate utilities.