Information Technology Reference
In-Depth Information
p :: call ( r , f , () , ()) ;
issue ( q , unlock ) ;
pop obtained rq locks |
q ::
,
σ
The statements call , issue , unlock ,and pop obtained rq locks are operations. In
a nutshell, the call (
operation asks the handler of the target r to make a call
to the feature f on target r .The unlock operation unlocks the request queue of the pro-
cessor that executes the operation. The issue (
r
,
f
, () , ())
operation adds the unlock
operation to q 's action queue. The pop obtained rq locks operation removes the top
element from the stack of obtained request queue locks.
q
, unlock )
5.3 Mechanisms
Mechanisms are the machinery for the execution of code elements. This section studies
these mechanisms.
Issuing mechanism. With the issuing mechanism, a processor p can add statements to
the action queue of a processor q .Itusesthe issue operation to get a result configura-
tion in which a processor's action queue is extended with the new statements. There are
two main cases: p adds the statements to its own action queue, i.e., p
=
q ,or p adds the
statements to the action queue of a different processor, i.e., p
=
q . The first case is the
non-separate case and the second one is the separate case.
For the non-separate case p puts the statements to the beginning of q 's action queue,
which is the same as putting the statements on top of the call stack. This requires that p
is in possession of its own call stack lock.
Issue Operation - Non-Separate
q = p
¬ σ . locks passed ( p )
σ .
)
Γ p :: issue ( q , s w ) ; s p , σ p :: s w ; s p , σ
For the separate case there is a difference between a normal and a callback case. In the
normal case, p adds the statements to the end of q 's action queue. This case requires
that p is in possession of q 's request queue lock. To distinguish the normal case from
the callback case, this case also requires that q does not have a lock on p .
Issue Operation - Separate
q = p
¬ σ . locks passed ( p )
σ . rq locks ( p ) . has ( q )
¬ ( σ . rq locks ( q ) . has ( p ) σ . cs locks ( q ) . has ( p ))
Γ p :: issue ( q , s w ) ; s p
cs locks
(
p
) .
has
(
q
| q :: s q , σ p :: s p
| q :: s q ; s w , σ
Search WWH ::




Custom Search