]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
rx window size increase
authorDerrick Brashear <shadow@dementia.org>
Tue, 29 Sep 2009 09:34:30 +0000 (05:34 -0400)
committerJeffrey Altman <jaltman|account-1000011@unknown>
Tue, 20 Oct 2009 22:05:37 +0000 (15:05 -0700)
window size was previously pushed to 64; push to 128. as this increases memory
use, anything further should be arguably tied to rx-using-program's
resource allocation preferences, e.g. fileserver -LL should be willing to
up this

Reviewed-on: http://gerrit.openafs.org/549
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/libafsrpc/afsrpc.def
src/rx/rx_globals.c
src/rx/rx_globals.h
src/rx/rx_prototypes.h
src/shlibafsrpc/libafsrpc.map

index d721b3a8b1e7fe45ac6767c73a169431eb2d859d..35fa3807591bc4366560f257d2529465507f9bd9 100755 (executable)
@@ -249,6 +249,10 @@ EXPORTS
         rxi_CallError                           @254
         rx_GetLocalPeers                       @255
         xdr_alloc                               @256
+       rx_GetMaxReceiveWindow                  @257
+       rx_GetMaxSendWindow                     @258
+       rx_SetMaxReceiveWindow                  @259
+       rx_SetMaxSendWindow                     @260
 
 ; for performance testing
         rx_TSFPQGlobSize                        @2001 DATA
index 5f26af51ea50a193c95e30184bfc8bd64054f570..1cad13cf9d19a3a16ef2109adf412937a53b461e 100644 (file)
 
 #include "rx_globals.h"
 
+void rx_SetMaxReceiveWindow(int packets)
+{
+    if (packets > rx_maxWindow)
+       packets = rx_maxWindow;
+
+    rx_maxReceiveWindow = packets;
+}
+
+int rx_GetMaxReceiveWindow(void)
+{
+    return rx_maxReceiveWindow;
+}
+
+void rx_SetMaxSendWindow(int packets)
+{
+    if (packets > rx_maxWindow)
+       packets = rx_maxWindow;
+
+    rx_maxSendWindow = packets;
+}
+
+int rx_GetMaxSendWindow(void)
+{
+    return rx_maxSendWindow;
+}
+
 #ifdef AFS_NT40_ENV
 
 void rx_SetRxDeadTime(int seconds)
index ab0ff589d38fce0a4bf0e1d47b3227e51db24eb2..a7557da75baf5800427e74ae76c58728584b2263 100644 (file)
@@ -125,10 +125,11 @@ EXT int rx_BusyError GLOBALSINIT(-1);
                                 * other packet. */
 
 EXT int rx_minWindow GLOBALSINIT(1);
+EXT int rx_maxWindow GLOBALSINIT(65535);        /* twind is u_short */
 EXT int rx_initReceiveWindow GLOBALSINIT(16);  /* how much to accept */
-EXT int rx_maxReceiveWindow GLOBALSINIT(64);   /* how much to accept */
+EXT int rx_maxReceiveWindow GLOBALSINIT(128);  /* how much to accept */
 EXT int rx_initSendWindow GLOBALSINIT(16);
-EXT int rx_maxSendWindow GLOBALSINIT(64);
+EXT int rx_maxSendWindow GLOBALSINIT(128);
 EXT int rx_nackThreshold GLOBALSINIT(3);       /* Number NACKS to trigger congestion recovery */
 EXT int rx_nDgramThreshold GLOBALSINIT(4);     /* Number of packets before increasing
                                         * packets per datagram */
@@ -148,8 +149,6 @@ EXT int rxi_SoftAckRate GLOBALSINIT(RX_FAST_ACK_RATE);
    send a soft ack, immediately followed by a hard ack. */
 EXT int rxi_HardAckRate GLOBALSINIT(RX_FAST_ACK_RATE + 1);
 
-/* EXT int rx_maxWindow GLOBALSINIT(15);   Temporary HACK:  transmit/receive window */
-
 /* If window sizes become very variable (in terms of #packets), be
  * sure that the sender can get back a hard acks without having to wait for
  * some kind of timer event first (like a keep-alive, for instance).
index 94009be0af0d3c8de1444d7c6d8d8773c2b82649..dce96d452ac51c4678af526034ba0e2386ed2fbf 100755 (executable)
@@ -346,7 +346,10 @@ extern int rx_getAllAddrMaskMtu(afs_uint32 addrBuffer[],
                                 int maxSize);
 
 /* rx_globals.c */
-
+extern int rx_GetMaxReceiveWindow(void);
+extern int rx_GetMaxSendWindow(void);
+extern void rx_SetMaxReceiveWindow(int packets);
+extern void rx_SetMaxSendWindow(int packets);
 
 /* rx_kcommon.c */
 struct socket;
index 57266e0c693be76b755ca4c992f419db55d4f78b..c38f7b30a8d90c60b6733a75d32c166fd8af1122 100755 (executable)
        lcstring;
        AssertionFailed;
        rx_GetLocalPeers;
+       rx_GetMaxReceiveWindow;
+       rx_GetMaxSendWindow;
+       rx_SetMaxReceiveWindow;
+       rx_SetMaxSendWindow;
 
     local:
        *;