From: "David S. Miller" <davem@davemloft.net>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: laforge@gnumonks.org, netdev@oss.sgi.com
Subject: Re: [6/6]: jenkins hash for neigh
Date: Mon, 27 Sep 2004 12:14:03 -0700 [thread overview]
Message-ID: <20040927121403.767e2308.davem@davemloft.net> (raw)
In-Reply-To: <E1CBu70-00010X-00@gondolin.me.apana.org.au>
On Mon, 27 Sep 2004 21:56:10 +1000
Herbert Xu <herbert@gondor.apana.org.au> wrote:
> David S. Miller <davem@davemloft.net> wrote:
> >
> > 4) The controversial/RFC patch, dorking with neigh_forced_gc()
> >
> > + if (n->nud_state -= NUD_INCOMPLETE &&
> > + reap_incomplete == 0 &&
> > + time_after(jiffies,
> > + n->used + n->parms->retrans_time)) {
> > + num_incomplete++;
> > + goto next_ent;
>
> That should either be time_before, or you need to swap the arguments.
Good catch, and it means that the code basically behaved
as if the NUD_INCOMPLETE tests weren't even there.
So, as mentioned in another email, this is what I'm using
in the end:
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/09/27 11:46:12-07:00 davem@nuts.davemloft.net
# [NET]: Remove INCOMPLETE checks from neigh_forced_gc().
#
# Signed-off-by: David S. Miller <davem@davemloft.net>
#
# net/core/neighbour.c
# 2004/09/27 11:45:40-07:00 davem@nuts.davemloft.net +3 -11
# [NET]: Remove INCOMPLETE checks from neigh_forced_gc().
#
diff -Nru a/net/core/neighbour.c b/net/core/neighbour.c
--- a/net/core/neighbour.c 2004-09-27 11:55:57 -07:00
+++ b/net/core/neighbour.c 2004-09-27 11:55:57 -07:00
@@ -123,20 +123,12 @@
np = &tbl->hash_buckets[i];
while ((n = *np) != NULL) {
/* Neighbour record may be discarded if:
- - nobody refers to it.
- - it is not permanent
- - (NEW and probably wrong)
- INCOMPLETE entries are kept at least for
- n->parms->retrans_time, otherwise we could
- flood network with resolution requests.
- It is not clear, what is better table overflow
- or flooding.
+ * - nobody refers to it.
+ * - it is not permanent
*/
write_lock(&n->lock);
if (atomic_read(&n->refcnt) == 1 &&
- !(n->nud_state & NUD_PERMANENT) &&
- (n->nud_state != NUD_INCOMPLETE ||
- time_after(jiffies, n->used + n->parms->retrans_time))) {
+ !(n->nud_state & NUD_PERMANENT)) {
*np = n->next;
n->dead = 1;
shrunk = 1;
next prev parent reply other threads:[~2004-09-27 19:14 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-24 5:51 [6/6]: jenkins hash for neigh David S. Miller
2004-09-24 8:52 ` Harald Welte
2004-09-24 21:27 ` David S. Miller
2004-09-25 6:44 ` Harald Welte
2004-09-25 7:56 ` David S. Miller
2004-09-25 8:14 ` YOSHIFUJI Hideaki / 吉藤英明
2004-09-25 8:27 ` YOSHIFUJI Hideaki / 吉藤英明
2004-09-25 8:30 ` David S. Miller
2004-09-25 9:09 ` Harald Welte
2004-09-25 13:33 ` Steven Whitehouse
2004-09-26 0:48 ` David S. Miller
2004-09-26 3:31 ` David S. Miller
2004-09-26 11:21 ` Thomas Graf
2004-09-27 9:29 ` Harald Welte
2004-09-27 18:57 ` David S. Miller
2004-09-26 10:11 ` YOSHIFUJI Hideaki / 吉藤英明
2004-09-27 11:43 ` Herbert Xu
2004-09-27 19:12 ` David S. Miller
2004-09-27 11:48 ` Herbert Xu
2004-09-27 18:15 ` David S. Miller
2004-09-27 21:41 ` Herbert Xu
2004-09-27 22:00 ` Herbert Xu
2004-10-02 7:50 ` Herbert Xu
2004-10-03 21:55 ` David S. Miller
2004-09-27 11:56 ` Herbert Xu
2004-09-27 19:14 ` David S. Miller [this message]
2004-09-27 22:26 ` [6/6]: jenkins hash for neigh / Statistics Harald Welte
2004-09-27 23:06 ` David S. Miller
2004-09-27 23:27 ` Stephen Hemminger
2004-09-28 8:44 ` Robert Olsson
2004-09-28 11:19 ` [PATCH 2.6] generic network statistics (was Re: [6/6]: jenkins hash for neigh / Statistics) Harald Welte
2004-09-28 12:48 ` jamal
2004-09-28 13:33 ` Thomas Graf
2004-09-29 2:22 ` jamal
2004-09-28 14:22 ` Robert Olsson
2004-09-29 2:16 ` jamal
2004-09-28 14:55 ` Harald Welte
2004-09-28 15:17 ` Robert Olsson
2004-09-28 16:24 ` Harald Welte
2004-09-28 21:43 ` David S. Miller
2004-09-29 8:04 ` Harald Welte
2004-09-28 16:27 ` [6/6]: jenkins hash for neigh / Statistics Stephen Hemminger
2004-09-28 17:06 ` Harald Welte
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=20040927121403.767e2308.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=laforge@gnumonks.org \
--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.