Messages in this thread | | | Date | Thu, 28 Jan 1999 19:27:37 +0300 | From | kuznet@ms2 ... | Subject | Re: gc_thresh, maxsize (?) |
| |
In article <Pine.LNX.4.05.9901271110030.1886-100000@peace.netnation.com> you wrote:
: So, what is the gc_thresh for? I also noticed "gc_elasticity" and some : others...I tried to look around for some documentation explaining them but : I was not able to find any.
Garbage collector has bug, which effectively limits dst creation rate with default parameter settings to very low value (sort of 50 per second).
max_size - hard limit on number of dst entries. gc_thresh - after number of routes exceeds this number, gc starts. gc_min_interval - gc is not invoked more frequently (in seconds). BUG#1: interval is measured in seconds, so that it cannot be made <1sec. gc_elasticity - this number determines dynamic "equilibrium" point, where dst cache size stops to grow further. Ideally max_size should not be ever achieved. The greater it is, the less agressive GC is.
Bug is that only limited number of routes (<256) can be freed during one GC round. It means that now rate of flow creations is limited by 256/gc_min_interval :-(
Please, try to leave gc_thresh and max_size at their default values, but to decrease gc_min_interval to 1 and to decrease gc_elasticity to 2,3 etc. It should help a bit. As extremal measure you may set gc_min_interval to 0 and/or to increase gc_thresh. It is better to leave max_size intact.
Bug is supposed to be fixed in the patch ftp://ftp.inr.ac.ru/ip-routing/kernel-ssXXYYZZ.dif.gz You need not the whole patch: only chunks patching ipv4/route.c, function rt_garbage_collect()
Alexey Kuznetsov
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |