Hello!

> Thanks for that explanation - it helps somewhat - one thing I was
> confused by was why the timer mechanism for the garbage collection
> was so elaborate; why does it do all that back off stuff and
> adjusting itself? Why not just run at some fixed rate?

What's about timer in dst.c, it is just saving useless (and large) work.
In default configuration you can have ~64K of dst entries listed
there without any chances to be released. Remember, those dst entries
which are queued in dst.c are _in_use_. Dst entry can be in use for long
time only if it is hold by a socket. (Routes used for forwarding are never
in use and most of them do not ever reach dst.c. See? This means it is
not essential in your case at all)

F.e. if a TCP socket holds a route it will not be released until some
event on the socket f.e. retransmission. So, if we see some entries
not released after short timeout, they are going to stay for long time.

Main observation is that it must be totally harmless to hold even
unreferenced entries there, provided max_size is set to a reasonable
value. F.e. if it is > 2*file_max, nothing bad can happen. Well, Herbert
pointed out one situation when it can, but it is really unusual.

Alexey
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to