Subject: Re: [PATCH] dst: call cond_resched() in dst_gc_task()

From: Stephen Hemminger <[email-masked]>
Date: Mon, 8 Feb 2010 15:50:53 -0800

On Mon, 8 Feb 2010 15:37:44 -0800
Andrew Morton <[email-masked]> wrote:

> On Mon, 08 Feb 2010 15:34:06 -0800 (PST)
> David Miller <[email-masked]> wrote:
> 
> > From: Andrew Morton <[email-masked]>
> > Date: Mon, 8 Feb 2010 15:26:06 -0800
> > 
> > > I assume that this function spends most of its time walking over busy
> > > entries?  Is a more powerful data structure needed?
> > 
> > When you're getting pounded with millions of packets per second,
> > all mostly to different destinations (and thus resolving to
> > different routing cache entries), this is what happens.
> > 
> > For a busy router, really, this is normal behavior.
> 
> Is the cache a net win in that scenario?

No, cache doesn't help.

Robert who is the expert in this area, runs with FIB TRIE and
no routing cache.