tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: sigqueue code paths



    Date:        Wed, 20 Jul 2016 15:28:13 +0200
    From:        Edgar =?iso-8859-1?B?RnXf?= <ef%math.uni-bonn.de@localhost>
    Message-ID:  <20160720132813.GR43747%trav.math.uni-bonn.de@localhost>

  | > 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



Home | Main Index | Thread Index | Old Index