Re: RCU latency regression in 2.6.16-rc1

From: Lee Revell
Date: Sat Feb 11 2006 - 19:53:23 EST


On Sun, 2006-01-29 at 21:11 -0800, Paul E. McKenney wrote:
> > Well, if as a bonus we are able to expand the size of the hash
> table, it
> > could be very very good : As of today, the boot time sizing of this
> hash
> > table is somewhat problematic.
> >
> > If the size is expanded by a 2 factor (or a power of too), can your
> > proposal works ?
>
> Yep!!!
>
> Add the following:
>
> o Add a size variable for each of the tables. It works best
> if the per-table state is stored with the table itself, for
> example:
>
> struct hashtbl {
> int size;
> int fvl;
> struct hash_param params;
> struct list_head buckets[0];
> };
>
> o When switching tables, allocate a new one of the desired size
> and free up the non-current one. (But remember to wait at
> least
> one grace period after the last switch before starting
> this!!!)
>
> o Compute hash parameters suitable for the new table size.
>
> o Continue as before.
>
> Note that you are not restricted to power-of-two expansion -- the
> hash parameters should handle any desired difference, and in fact
> handle contraction as well as expansion.

I'd be glad to test any patches whenever someone gets around to working
on this.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/