-- On Tue, 28 Aug 2007, Masayuki Nakagawa wrote: > > On Sat, 2007-06-23 at 08:25 -0400, Steven Rostedt wrote: > > > >> --- linux-2.6.21.orig/net/ipv4/tcp_ipv4.c 2007-06-17 17:19:02.000000000 +0200 > >> +++ linux-2.6.21/net/ipv4/tcp_ipv4.c 2007-06-17 17:20:27.000000000 +0200 > >> @@ -2033,7 +2033,12 @@ static void *established_get_first(struc > >> struct tcp_iter_state* st = seq->private; > >> void *rc = NULL; > >> > >> - for (st->bucket = 0; st->bucket < tcp_hashinfo.ehash_size; ++st->bucket) { > >> > >> The above is a linear search through out a very large array, where most > >> of the items are NULL. I believe it was Lee that noticed this creating > >> a large latency. This was back in 2.6.14. I'll check to see if this > >> still is a source of latency with the latest kernels. > > > > It looks fairly generic, is it a latency that could be fix the same way > > up stream? > > > > Daniel > > > Hi Steven, > > I believe that we should push the following patch to upstream(netdev). > (This is a patch which extracted a part of the hash code from real-time patch.) > How do you think? > Hi Masayuki, I really need to investigate if this is even still needed. This code was originally added when a bh lock was held for the entire for loop. I see that it is done per entry now. I'll take a look to see if there's a better way to do this. Thanks for bringing this back to the fore front. -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html