
First Processor |
| Second Processor |
|
|
|
: |
|
|
Pick up ownership of process con- |
|
|
text data structure memory. |
|
|
MB |
|
|
Assign new ASN or invalidate |
|
|
TBs. |
|
|
Save state of current process. |
|
|
Restore state of new process. |
|
|
MB |
|
|
Pass ownership of process context | ⇒ | : |
data structure memory. | Pickup ownership of new process context | |
: |
| data structure memory. |
: |
| MB |
|
| Assign new ASN or invalidate TBs. |
|
| Save state of current process. |
|
| Restore state of new process. |
|
| MB |
|
| Pass ownership of old process context data |
|
| structure memory. |
|
| : |
|
| Execute code for new process that accesses |
|
| memory that is not common to all processes. |
|
|
|
5.6.4.6 Multiprocessor Send/Receive Interrupt
If one processor writes some shared data, then sends an interrupt to a second processor, and that processor receives the interrupt, then accesses the shared data, the sequence from Section 5.6.4.3 must be used: