Lines Matching refs:and
4 Proof: All assignments to ps_tq_active and all scheduling of ps_tq happen
6 one in ps_set_intr() (A) and two in ps_tq_int() (B and C).
10 other than through B and we don't drop ps_spinlock between them.
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
15 ps_tq_int() are sandwiched between {A,C} and B in that sequence,
17 moments which, in turn, can not exceed the number of A and C.
19 1 and schedule ps_tq, ps_tq is executed, ps_tq_int() is entered,
24 * in do_pd_request1(): to calls of pi_do_claimed() and return in
29 and ps_set_intr()
30 * in do_pd_read_drq(): to calls of pi_do_claimed() and next_request()
33 and ps_set_intr()
34 * in do_pd_write_done(): to calls of pi_do_claimed() and next_request()
35 * in ps_set_intr(): to check for ps_tq_active and to scheduling
63 the thread was holding pd_lock and found pd_busy not set, which would
65 b) ps_set_intr() and pi_schedule_claimed() can be called only from the
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
78 pi_spinlock and ->claimed_cont is non-NULL for PIA belonging to
82 Indeed, pd_busy is reset only in the area and thread that resets
100 in the area, under pi_spinlock and we do not release it until after leaving
107 check its value is in ps_set_intr() and if it had been non-zero at that
112 Corollary 2: ps_spinlock can be killed. Indeed, Lemma 1 and Lemma 2 show
114 immediate release of spinlock and beginning of execution of ps_tq on
117 Corollary 3: assignment to pd_busy in do_pd_read_start() and do_pd_write_start()
118 can be killed. Indeed, we are not holding pd_lock and thus pd_busy is already
126 reason - the value is guaranteed to be set by the last ps_set_intr() and