> This code looks pretty bad, all right. It looks like it is O(N^2) > in PS_SELECT_WAIT(), especially if descriptors get randomly strewn > amoungst the threads. It also looks like it is regenerating the FDS masks > on each call completely from scratch. It also looks like it is > scanning the entire thread list - both waiting and running threads, > to prioritize the next thread to run and then scanning it again > to select the thread priority, then scanning the whole list yet > again to find the one it wants to run. > > This is massively unscaleable code. Is anyone actively working on > it?
I think if I knew exactly what this code was trying to do, I could rewrite it. However, it is quite complex. I'm tempted to look into Richard's stuff. However, this pthread stuff is quite stable. (at least with a few minor tweaks). If this part scaled a WHOLE LOT better, we'd probably be okay. Richard: How "checked" in is your stuff? What does one have to do to start using it? Kernel mods? -Rob To Unsubscribe: send mail to [email protected] with "unsubscribe freebsd-current" in the body of the message
