Thread (60 messages) 60 messages, 9 authors, 2009-07-10

Re: rib_trie / Fix inflate_threshold_root. Now=15 size=11 bits

From: Jarek Poplawski <hidden>
Date: 2009-06-26 20:19:49

On Fri, Jun 26, 2009 at 11:21:43AM -0700, Paul E. McKenney wrote:
On Fri, Jun 26, 2009 at 08:05:45PM +0200, Jarek Poplawski wrote:
quoted
On Fri, Jun 26, 2009 at 10:05:38AM -0700, Paul E. McKenney wrote:
...
quoted
In that case, simply invoking synchronize_rcu() every once and awhile
should take care of things.  This could be at the end of every large
trie operation, or you could even count the call_rcu() invocations and
do a synchronize_rcu() every 100th, 1,000th, or whatever, based on
the amount of memory available.
OK, for now the minimal change for testing (2.6.30 needs previously
mentioned two commits from 2.6.31-rc). (I guess I'll send it with a
changelog after net-next is opened.)
Looks promising to me!!!
Alas, after rethinking, there is one detail which bothers me. Those
largest allocs here are done with vmalloc and freed with RCU by
schedule_work(). So, I wonder if just because of this, the previous
version doing it directly isn't more reliable anyway. Of course, it's
my bad I didn't point it while describing the problem earlier. (I knew
I missed something...;-)

Thanks,
Jarek P.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help