>> If they've changed it, that would be a horrible
>> waste of memory. Most sockets aren't active at the same time.
Never worked in kernel networking, but it seems to start small and then go up based on TCP autotuning?
>> When I originally designed this code 3 years ago, I'd deliberately
>> serialized the per socket transactions so this wouldn't happen.
NFS COMMITs/WRITEs take a lot more time than other commands. Same is the case with a readdir on a very large directory. Clients send multiple requests at the same time, and it makes sense to process them in parallel. I don't know if we get benefit in parallelizing the COMPOUND itself though.
>> we have a limited number of cores.
Believe it or not, few of our customers are running with 16K NB_WORKER threads! I was surprised as well. They experimented and found that value better than 1K or 4K etc. They have 200GB RAM and 50-100 cores. Also, in some cases, these are dedicated systems just for NFS.