Date: Wed, 20 Jul 2016 15:28:13 +0200 From: Edgar =?iso-8859-1?B?RnXf?= <e...@math.uni-bonn.de> Message-ID: <20160720132813.gr43...@trav.math.uni-bonn.de>
| > so before any user code can execute again | ... on this CPU. What about the other CPUs? Do all a processes LWPs run | on the same CPU? First, I am certainly no expert, or even particularly knowledgable on threading, or lwps, or anything multi-processor related, so hopefully someone who is will confirm or correct, but ... CPUs aren't really what is important here, what matters is that the signal gets delivered to the process. Now it is certainly possible that the target process is running on a different CPU than the one which is delivering the signal - as I understand it, that is handled by forcing the process to (effectively) enter the kernel so it has to exit back to user space again, and when that happens it collects the signal. The mechanism to make that happen I will leave for someone else to provide details of. As I understand it, different LWPs can run on different CPUS, but again, I'm not sure that is really relevant - most signals (all?) have processes as a target, not LWPs. I believe signals are delivered to just one LWP. How that one is selected/controlled I will leave for someone else... kre