Messages in this thread Patch in this message |  | | | Subject | Re: 2.1.111 VM and low memory machines | | From | Andi Kleen <> | | Date | 28 Jul 1998 15:19:47 +0200 |
| |
Chris Wedgwood <chris@cybernet.co.nz> writes:
> On Mon, Jul 27, 1998 at 03:35:56AM -0700, David S. Miller wrote: > > > If you want large windows talk to a host who speaks window scaling, > > this is what it's there for. > > And how many internet hosts actually support wscale? I suggest > somebody who can sniff a busy ethernet segment with lots of outbound > connections do something like: > > tcpdump -n -s 128 'tcp[13] & 2 != 0 and not src net localnet and not dst net localnet' > > and see just how many hosts support wscale. > > In my tests, I find a little less than 7% of hosts support wscale. > > > Otherwise all bets are off for >32k windows. (I have real life > > experience with the sign extension problems, I did try to enable > > 64k windows without scaling by default once and I hit too many > > machines which wouldn't talk to me properly) > > I don't doubt your experience, but I've yet to find a single host > where this doesn't work! What stacks are broken in such a way? > > It might be my testing methods here are insufficient. > > > It's getting too close to the 2.2.x wire now for these sorts of itty > > bitty things, let's work on the higher priority problems instead so we > > can get a clean stable release out soon. > > Fair 'nuf. > > > (I'm soon going to be asking people to start reporting TCP performance > > and behavior anomalies to me again, I just submitted a sync-up patch > > to Linus with all my latest networking fixes etc. so when he releases > > a kernel with that stuff in there, fire away) > > btw, I'm still seeing funnies with 2.1.112-pre2 and sucky > performance.
If you see 2.1 TCP funnies, please add the appended patch, reproduce a few funnies and then report the output of "cat /proc/net/netstat"
Index: linux//include/net/snmp.h =================================================================== RCS file: /vger/u4/cvs/linux/include/net/snmp.h,v retrieving revision 1.8 diff -u -r1.8 snmp.h --- snmp.h 1998/04/16 16:19:28 1.8 +++ snmp.h 1998/07/28 12:19:51 @@ -131,6 +131,10 @@ unsigned long SyncookiesRecv; unsigned long SyncookiesFailed; unsigned long EmbryonicRsts; + unsigned long TapOutOfMem; + unsigned long PruneCalled; + unsigned long RcvPruned; + unsigned long OfoPruned; }; #endif Index: linux//net/ipv4/proc.c =================================================================== RCS file: /vger/u4/cvs/linux/net/ipv4/proc.c,v retrieving revision 1.30 diff -u -r1.30 proc.c --- proc.c 1998/04/16 16:29:05 1.30 +++ proc.c 1998/07/28 12:19:55 @@ -357,12 +357,15 @@ len = sprintf(buffer, "TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed" - "EmbryonicRsts\n" - "TcpExt: %lu %lu %lu %lu\n", + "EmbryonicRsts PruneCalled RcvPruned OfoPruned\n" + "TcpExt: %lu %lu %lu %lu\n", net_statistics.SyncookiesSent, net_statistics.SyncookiesRecv, net_statistics.SyncookiesFailed, - net_statistics.EmbryonicRsts); + net_statistics.EmbryonicRsts, + net_statistics.PruneCalled, + net_statistics.RcvPruned, + net_statistics.OfoPruned); if (offset >= len) { Index: linux//net/ipv4/tcp_input.c =================================================================== RCS file: /vger/u4/cvs/linux/net/ipv4/tcp_input.c,v retrieving revision 1.121 diff -u -r1.121 tcp_input.c --- tcp_input.c 1998/07/15 04:39:12 1.121 +++ tcp_input.c 1998/07/28 12:19:59 @@ -1595,11 +1595,14 @@ SOCK_DEBUG(sk, "prune_queue: c=%x\n", tp->copied_seq); + net_statistics.PruneCalled++; + /* First Clean the out_of_order queue. */ /* Start with the end because there are probably the least * useful packets (crossing fingers). */ while ((skb = __skb_dequeue_tail(&tp->out_of_order_queue))) { + net_statistics.OfoPruned += skb->len; kfree_skb(skb); if (atomic_read(&sk->rmem_alloc) <= sk->rcvbuf) return 0; @@ -1620,6 +1623,9 @@ tp->last_ack_sent); return -1; } + + net_statistics.RcvPruned += skb->len; + __skb_unlink(skb, skb->list); tp->rcv_nxt = TCP_SKB_CB(skb)->seq; SOCK_DEBUG(sk, "prune_queue: removing %x-%x (c=%x)\n", Thanks,
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
|  |