Lines Matching refs:is
2 If ps_tq is scheduled, ps_tq_active is 1. ps_tq_int() can be called
3 only when ps_tq_active is 1.
8 anything except B, since it is under if (!ps_tq_active) under
9 ps_spinlock. C is always preceded by B, since we can't reach it
11 IOW, the sequence is A?(BA|BC|B)*. OTOH, number of B can not exceed
12 the sum of numbers of A and C, since each call of ps_tq_int() is
14 A and each B is preceded by either A or C. Moments when we enter
18 In other words, the sequence of events is (A or C set ps_tq_active to
19 1 and schedule ps_tq, ps_tq is executed, ps_tq_int() is entered,
25 case when pd_req is NULL.
51 2) When there is such a thread, pd_busy is set or pd_lock is held by
53 3) When there is such a thread, ps_tq_active is 0 or ps_spinlock is
55 4) When there is such a thread, all PIA belonging to pd.c have NULL
56 ->claim_cont or pi_spinlock is held by thread in question.
58 Proof: consider the first moment when the above is not true.
60 (1) can become not true if some thread enters that area while another is there.
67 c) pi_do_claimed() is called by pd.c only from the area.
68 d) ps_tq_int() can enter the area only when the thread is holding
69 ps_spinlock and ps_tq_active is 1 (due to Lemma 1). It means that
72 case that needs consideration is call from pi_wake_up() and there
77 f) pi_wake_up() can enter the area only when the thread is holding
78 pi_spinlock and ->claimed_cont is non-NULL for PIA belonging to
81 (2) can become not true only when pd_lock is released by the thread in question.
82 Indeed, pd_busy is reset only in the area and thread that resets
83 it is holding pd_lock. The only place within the area where we
84 release pd_lock is in pd_next_buf() (called from within the area).
92 For similar reasons, (3) can become not true only when ps_spinlock is released
96 (4) is done the same way - all places where we release pi_spinlock within
99 also in the area. The only place where ->claimed_cont is made non-NULL is
107 check its value is in ps_set_intr() and if it had been non-zero at that
113 that the only possible contention is between scheduling ps_tq followed by
118 can be killed. Indeed, we are not holding pd_lock and thus pd_busy is already
122 ps_continuation, since the latter is changed only from the area.
126 reason - the value is guaranteed to be set by the last ps_set_intr() and