On 12/05/15 at 03:06pm, Herbert Xu wrote:
On Fri, Dec 04, 2015 at 07:15:55PM +0100, Phil Sutter wrote:
>
> > Only one should really do this, while others are waiting.
>
> Sure, that was my previous understanding of how this thing works.
Yes that's clearly how it should be. Unfortunately while adding
the locking to do this, I found out that you can't actually call
__vmalloc with BH disabled so this is a no-go.
Unless we can make __vmalloc work with BH disabled, I guess we'll
have to go back to multi-level lookups unless someone has a better
suggestion.
Thanks for fixing the race.
As for the remaining problem, I think we'll have to find a way to
serve a hard pounding user if we want to convert TCP hashtables
later on.
Did you look into what __vmalloc prevents to work with BH disabled?