Re: [PATCH v2] signals: Avoid unnecessary taking of sighand->siglock

From: Stas Sergeev
Date: Fri Sep 23 2016 - 16:20:49 EST


23.09.2016 19:56, Waiman Long ÐÐÑÐÑ:
When running certain database workload on a high-end system with many
CPUs, it was found that spinlock contention in the sigprocmask syscalls
became a significant portion of the overall CPU cycles as shown below.
Hi, I was recently facing the same problem, and my solution
was to extract swapcontext() from libtask - it has better semantic
and does not do sigprocmask. How much you hack sigprocmask,
it is still faster to just not call it at all.
Alternatively, perhaps the speed-up can be achieved if the
current mask is exported to glibc via vdso.
Just my 2 cents.