From: "David S. Miller" <davem@davemloft.net>
To: Harald Welte <laforge@gnumonks.org>
Cc: netdev@oss.sgi.com
Subject: Re: [6/6]: jenkins hash for neigh
Date: Sat, 25 Sep 2004 20:31:16 -0700 [thread overview]
Message-ID: <20040925203116.4e6f9b06.davem@davemloft.net> (raw)
In-Reply-To: <20040925090933.GU3236@sunbeam.de.gnumonks.org>
On Sat, 25 Sep 2004 11:09:33 +0200
Harald Welte <laforge@gnumonks.org> wrote:
> I am sure this is valid for IPv4 and IPv6. How about other users of the
> neighbour cache, do they share this assumption? I have to admit that I
> never looked throgh the ATM or
As Steven Whitehouse mentioned for DecNET and I mentioned for ATM clip,
this is valid.
So consider the following as well. Any time we send to a neighbour
we will generate a routing cache entry, 'dst', and we will stick it
to skb->dst. This dst will have neighbour, and the SKB will sit
in the neighbour SKB queue until the neighbour entry is resolved
or it times out.
Therefore I think that test for INCOMPLETE in neigh_force_gc()
is even more rediculious.
Assuming that your test case runs fine with it, what I think we should
do is just forget about my 'diff4' changes to neigh_forced_gc(), and
instead remove that INCOMPLETE test entirely. Then, neigh_forced_gc()
will simply remove all non-permanent entries with refcount of 1.
Finally, we could think about possibly doing the following:
1) Parameterizing neigh_forced_gc() so that it purges say "N"
entries each run instead of scanning the entire hash table.
Perhaps some fraction of tbl->entries
2) Look seriously into making more formal the relationship between
the routing caches and neighbour cache.
What I mean by #2 is the following. We know that the worst case
neighbour cache usage for a table is the size of the routing cache.
No routing cache entry, no reference to a corresponding neighbour
entry. In this sense, all of these gc_thresh* values are superfluous.
What do people think about this?
As a side note, I checked BSD just for the usual shits and grins,
and they make no limits on ARP table growth. Each routing table
entry may allocate a ARP resolution structure. It is not exactly
stupid, frankly.
Really, if we got rid of all of this garbage collection crap we could
delete even that annoying message spit out by net/ipv4/route.c when
we run into the problems that made us work on these changes to begin
with.
At the very least, we should have a threshold to run forced GC but
failures to GC purge should not cause neigh_create() failures.
next prev parent reply other threads:[~2004-09-26 3:31 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 [this message]
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
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=20040925203116.4e6f9b06.davem@davemloft.net \
--to=davem@davemloft.net \
--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 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).