Michal Mazurek wrote: > There is what appears to be a sensless hash in kern_synch.c. It's an > array of 128 TAILQs which are hashed according to the high bits of the > wchan. It's possible to write a program that adds kern.maxthread entries > to one of those TAILQs. Just running chrome with 11 tabs open adds 35 > entries to one TAILQ, while leaving others empty. > > If it doesn't matter that a user program can make a TAILQ very long, > then the hash is senseless (diff below). > > If it does matter, then it's broken, and a different data structure > needs to be used. Currently RB trees require all element values to be unique, > but a version of RB trees with non-unique element values is possible. > > Any thoughts?
I don't think this is a good change. it's going backwards. even if there's 100 things waiting on the same thing, there are other procs that aren't waiting on it.
