c-taylor opened a new pull request, #13086:
URL: https://github.com/apache/trafficserver/pull/13086

   Eliminate kernel spinlock contention on the shared files_struct by giving 
each ET_NET thread its own private FD table after all initialization FDs are in 
place. This removes the accept4/close contention visible as ~58% CPU in 
native_queued_spin_lock_slowpath at high thread counts.
   
   This change is incompatible with MacOS and FreeBSD: The only equivalent 
solution there seems to be migrating to multi process. (This should be 
discussed as a long term goal)
   
   Scheduled after start_HttpProxyServer() to ensure all persistent FDs 
(eventfds, cache disks, DNS sockets, log files, listen sockets, plugin FDs) are 
copied into each threads private table. Linux-only; non-fatal on failure (falls 
back to shared table).
   
   I was also able to cause intermittent socket failures before applying this 
change.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to