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 --]
next prev parent reply other threads:[~2005-04-28 21:24 UTC|newest]
Thread overview: 6+ 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
-- strict thread matches above, loose matches on Subject: below --
2005-03-22 16:47 Folkert van Heusden
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.