netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: folkert@vanheusden.com
To: "David S. Miller" <davem@davemloft.net>
Cc: netdev@oss.sgi.com
Subject: Re: [PATCH] optimize check in port-allocation code
Date: Thu, 28 Apr 2005 23:24:53 +0200	[thread overview]
Message-ID: <20050428212449.GC8774@vanheusden.com> (raw)
In-Reply-To: <20050428120824.6cc9b345.davem@davemloft.net>


[-- Attachment #1.1: Type: text/plain, Size: 2111 bytes --]

> > I'll resend it as an attachment (see attachment).
> It still has spaces where there should be tabs, even though
> you compressed the patch and used attachment.
> The diff itself must already be corrupt before you attach
> it.
> Please double check that the patch you submit actually apply,
> this will save me a lot of wasted time.

Ok, I've redone them and tested if they patch cleanly, they now do.
See them attached.

While looking at the code I also saw something else:

--- tcp_ipv4.c.org	2005-04-28 23:13:32.000000000 +0200
+++ tcp_ipv4.c	2005-04-28 23:19:18.000000000 +0200
@@ -222,11 +222,11 @@
 		int rover;
 
 		spin_lock(&tcp_portalloc_lock);
-		rover = tcp_port_rover;
+		if (tcp_port_rover < low)
+			rover = low;
+		else
+			rover = tcp_port_rover;
 		do {
-			rover++;
-			if (rover < low || rover > high)
-				rover = low;
 			head = &tcp_bhash[tcp_bhashfn(rover)];
 			spin_lock(&head->lock);
 			tb_for_each(tb, node, &head->chain)
@@ -235,6 +235,10 @@
 			break;
 		next:
 			spin_unlock(&head->lock);
+
+			rover++;
+			if (rover > high)
+				rover = low;
 		} while (--remaining > 0);
 		tcp_port_rover = rover;
 		spin_unlock(&tcp_portalloc_lock);

as you can see I moved (here! not in the included patches as I wanted
to discuss this first!) the 'rover++' and its check to the end of the
while loop. I did this because if they are at the top of the wile-loop
the 'low' port number is never used as the first statement was a
rover++!


Folkert van Heusden

-- 
Auto te koop, zie: http://www.vanheusden.com/daihatsu.php
Op zoek naar een IT of Finance baan? Mail me voor de mogelijkheden.
--------------------------------------------------------------------
 UNIX admin? Then give MultiTail (http://vanheusden.com/multitail/) 
 a try, it brings monitoring logfiles to a different level! See     
 http://vanheusden.com/multitail/features.html for a feature-list.  
--------------------------------------------------------------------
Phone: +31-6-41278122, PGP-key: 1F28D8AE
Get your PGP/GPG key signed at www.biglumber.com!

[-- Attachment #1.2: tcp_ipv4.c.diff.gz --]
[-- Type: application/octet-stream, Size: 260 bytes --]

[-- Attachment #1.3: tcp_ipv6.c.diff.gz --]
[-- Type: application/octet-stream, Size: 261 bytes --]

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 282 bytes --]

  reply	other threads:[~2005-04-28 21:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-20 18:44 [PATCH] optimize check in port-allocation code folkert
     [not found] ` <20050424190427.11b4863e.davem@davemloft.net>
     [not found]   ` <20050425061210.GB15167@vanheusden.com>
2005-04-28 19:08     ` David S. Miller
2005-04-28 21:24       ` folkert [this message]
2005-05-03 21:36         ` David S. Miller
2005-05-04  7:15           ` folkert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050428212449.GC8774@vanheusden.com \
    --to=folkert@vanheusden.com \
    --cc=davem@davemloft.net \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).