dyntickRCU-base-sl-busted.spin text trail file
[Posted April 22, 2008 by corbet]
Starting :init: with pid 0
Starting dyntick_nohz with pid 1
1: proc 0 (:init:) line 221 "dyntickRCU-base-sl-busted.spin" (state 1) [(run dyntick_nohz())]
Starting grace_period with pid 2
2: proc 0 (:init:) line 222 "dyntickRCU-base-sl-busted.spin" (state 2) [(run grace_period())]
3: proc 1 (dyntick_nohz) line 187 "dyntickRCU-base-sl-busted.spin" (state 3) [((i<3))]
4: proc 2 (grace_period) line 92 "dyntickRCU-base-sl-busted.spin" (state 1) [grace_period_state
= 0]
grace_period_state = 0
5: proc 1 (dyntick_nohz) line 194 "dyntickRCU-base-sl-busted.spin" (state 4) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 0
6: proc 1 (dyntick_nohz) line 196 "dyntickRCU-base-sl-busted.spin" (state
5) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 1
6: proc 1 (dyntick_nohz) line 197 "dyntickRCU-base-sl-busted.spin" (state 6) [old_gp_idle =
(grace_period_state==0)]
dynticks_progress_counter = 1
dyntick_nohz(1):old_gp_idle = 1
6: proc 1 (dyntick_nohz) line 198 "dyntickRCU-base-sl-busted.spin" (state
7) [assert(((dynticks_progress_counter&1)==1))]
dynticks_progress_counter = 1
dyntick_nohz(1):old_gp_idle = 1
7: proc 1 (dyntick_nohz) line 207 "dyntickRCU-base-sl-busted.spin" (state 9) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 1
7: proc 1 (dyntick_nohz) line 208 "dyntickRCU-base-sl-busted.spin" (state
10) [assert((!(old_gp_idle)||(grace_period_state!=2)))]
dyntick_nohz(1):tmp = 1
8: proc 1 (dyntick_nohz) line 211 "dyntickRCU-base-sl-busted.spin" (state
12) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 2
8: proc 1 (dyntick_nohz) line 212 "dyntickRCU-base-sl-busted.spin" (state
13) [assert(((dynticks_progress_counter&1)==0))]
dynticks_progress_counter = 2
8: proc 1 (dyntick_nohz) line 214 "dyntickRCU-base-sl-busted.spin" (state 15) [i = (i+1)]
dynticks_progress_counter = 2
dyntick_nohz(1):i = 1
9: proc 1 (dyntick_nohz) line 187 "dyntickRCU-base-sl-busted.spin" (state 3) [((i<3))]
10: proc 1 (dyntick_nohz) line 194 "dyntickRCU-base-sl-busted.spin" (state 4) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 2
11: proc 1 (dyntick_nohz) line 196 "dyntickRCU-base-sl-busted.spin" (state
5) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 3
11: proc 1 (dyntick_nohz) line 197 "dyntickRCU-base-sl-busted.spin" (state 6) [old_gp_idle =
(grace_period_state==0)]
dynticks_progress_counter = 3
dyntick_nohz(1):old_gp_idle = 1
11: proc 1 (dyntick_nohz) line 198 "dyntickRCU-base-sl-busted.spin" (state
7) [assert(((dynticks_progress_counter&1)==1))]
dynticks_progress_counter = 3
dyntick_nohz(1):old_gp_idle = 1
12: proc 1 (dyntick_nohz) line 207 "dyntickRCU-base-sl-busted.spin" (state 9) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 3
12: proc 1 (dyntick_nohz) line 208 "dyntickRCU-base-sl-busted.spin" (state
10) [assert((!(old_gp_idle)||(grace_period_state!=2)))]
dyntick_nohz(1):tmp = 3
13: proc 1 (dyntick_nohz) line 211 "dyntickRCU-base-sl-busted.spin" (state
12) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 4
13: proc 1 (dyntick_nohz) line 212 "dyntickRCU-base-sl-busted.spin" (state
13) [assert(((dynticks_progress_counter&1)==0))]
dynticks_progress_counter = 4
13: proc 1 (dyntick_nohz) line 214 "dyntickRCU-base-sl-busted.spin" (state 15) [i = (i+1)]
dynticks_progress_counter = 4
dyntick_nohz(1):i = 2
14: proc 1 (dyntick_nohz) line 187 "dyntickRCU-base-sl-busted.spin" (state 3) [((i<3))]
15: proc 1 (dyntick_nohz) line 194 "dyntickRCU-base-sl-busted.spin" (state 4) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 4
16: proc 1 (dyntick_nohz) line 196 "dyntickRCU-base-sl-busted.spin" (state
5) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 5
16: proc 1 (dyntick_nohz) line 197 "dyntickRCU-base-sl-busted.spin" (state 6) [old_gp_idle =
(grace_period_state==0)]
dynticks_progress_counter = 5
dyntick_nohz(1):old_gp_idle = 1
16: proc 1 (dyntick_nohz) line 198 "dyntickRCU-base-sl-busted.spin" (state
7) [assert(((dynticks_progress_counter&1)==1))]
dynticks_progress_counter = 5
dyntick_nohz(1):old_gp_idle = 1
MAX_DYNTICK_LOOP_NOHZ = 3
17: proc 2 (grace_period) line 94 "dyntickRCU-base-sl-busted.spin" (state
2) [printf('MAX_DYNTICK_LOOP_NOHZ = %d\\n',3)]
17: proc 2 (grace_period) line 95 "dyntickRCU-base-sl-busted.spin" (state 3) [shouldexit = 0]
grace_period(2):shouldexit = 0
17: proc 2 (grace_period) line 96 "dyntickRCU-base-sl-busted.spin" (state 4) [snap =
dynticks_progress_counter]
grace_period(2):shouldexit = 0
grace_period(2):snap = 5
17: proc 2 (grace_period) line 97 "dyntickRCU-base-sl-busted.spin" (state 5) [grace_period_state
= 1]
grace_period_state = 1
grace_period(2):shouldexit = 0
grace_period(2):snap = 5
18: proc 2 (grace_period) line 110 "dyntickRCU-base-sl-busted.spin" (state 7) [(1)]
19: proc 2 (grace_period) line 112 "dyntickRCU-base-sl-busted.spin" (state
8) [assert(!(shouldexit))]
19: proc 2 (grace_period) line 113 "dyntickRCU-base-sl-busted.spin" (state 9) [shouldexit =
dyntick_nohz_done]
grace_period(2):shouldexit = 0
19: proc 2 (grace_period) line 114 "dyntickRCU-base-sl-busted.spin" (state 10) [curr =
dynticks_progress_counter]
grace_period(2):shouldexit = 0
grace_period(2):curr = 5
20: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 15) [else]
21: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 16) [(1)]
22: proc 2 (grace_period) line 110 "dyntickRCU-base-sl-busted.spin" (state 7) [(1)]
23: proc 1 (dyntick_nohz) line 207 "dyntickRCU-base-sl-busted.spin" (state 9) [tmp =
dynticks_progress_counter]
dyntick_nohz(1):tmp = 5
23: proc 1 (dyntick_nohz) line 208 "dyntickRCU-base-sl-busted.spin" (state
10) [assert((!(old_gp_idle)||(grace_period_state!=2)))]
dyntick_nohz(1):tmp = 5
24: proc 2 (grace_period) line 112 "dyntickRCU-base-sl-busted.spin" (state
8) [assert(!(shouldexit))]
24: proc 2 (grace_period) line 113 "dyntickRCU-base-sl-busted.spin" (state 9) [shouldexit =
dyntick_nohz_done]
grace_period(2):shouldexit = 0
24: proc 2 (grace_period) line 114 "dyntickRCU-base-sl-busted.spin" (state 10) [curr =
dynticks_progress_counter]
grace_period(2):shouldexit = 0
grace_period(2):curr = 5
25: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 15) [else]
26: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 16) [(1)]
27: proc 1 (dyntick_nohz) line 211 "dyntickRCU-base-sl-busted.spin" (state
12) [dynticks_progress_counter = (tmp+1)]
dynticks_progress_counter = 6
27: proc 1 (dyntick_nohz) line 212 "dyntickRCU-base-sl-busted.spin" (state
13) [assert(((dynticks_progress_counter&1)==0))]
dynticks_progress_counter = 6
27: proc 1 (dyntick_nohz) line 214 "dyntickRCU-base-sl-busted.spin" (state 15) [i = (i+1)]
dynticks_progress_counter = 6
dyntick_nohz(1):i = 3
28: proc 2 (grace_period) line 110 "dyntickRCU-base-sl-busted.spin" (state 7) [(1)]
29: proc 1 (dyntick_nohz) line 186 "dyntickRCU-base-sl-busted.spin" (state 1) [((i>=3))]
30: proc 2 (grace_period) line 112 "dyntickRCU-base-sl-busted.spin" (state
8) [assert(!(shouldexit))]
30: proc 2 (grace_period) line 113 "dyntickRCU-base-sl-busted.spin" (state 9) [shouldexit =
dyntick_nohz_done]
grace_period(2):shouldexit = 0
30: proc 2 (grace_period) line 114 "dyntickRCU-base-sl-busted.spin" (state 10) [curr =
dynticks_progress_counter]
grace_period(2):shouldexit = 0
grace_period(2):curr = 6
31: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 15) [else]
32: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 16) [(1)]
33: proc 2 (grace_period) line 110 "dyntickRCU-base-sl-busted.spin" (state 7) [(1)]
34: proc 1 (dyntick_nohz) line 216 "dyntickRCU-base-sl-busted.spin" (state 19) [dyntick_nohz_done
= 1]
dyntick_nohz_done = 1
35: proc 2 (grace_period) line 112 "dyntickRCU-base-sl-busted.spin" (state
8) [assert(!(shouldexit))]
35: proc 2 (grace_period) line 113 "dyntickRCU-base-sl-busted.spin" (state 9) [shouldexit =
dyntick_nohz_done]
grace_period(2):shouldexit = 1
35: proc 2 (grace_period) line 114 "dyntickRCU-base-sl-busted.spin" (state 10) [curr =
dynticks_progress_counter]
grace_period(2):shouldexit = 1
grace_period(2):curr = 6
36: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 15) [else]
37: proc 2 (grace_period) line 120 "dyntickRCU-base-sl-busted.spin" (state 16) [(1)]
38: proc 2 (grace_period) line 110 "dyntickRCU-base-sl-busted.spin" (state 7) [(1)]
spin: line 112 "dyntickRCU-base-sl-busted.spin", Error: assertion violated
spin: text of failed assertion: assert(!(shouldexit))
39: proc 2 (grace_period) line 112 "dyntickRCU-base-sl-busted.spin" (state
8) [assert(!(shouldexit))]
39: proc 2 (grace_period) line 113 "dyntickRCU-base-sl-busted.spin" (state 9) [shouldexit =
dyntick_nohz_done]
grace_period(2):shouldexit = 1
39: proc 2 (grace_period) line 114 "dyntickRCU-base-sl-busted.spin" (state 10) [curr =
dynticks_progress_counter]
grace_period(2):shouldexit = 1
grace_period(2):curr = 6
spin: trail ends after 39 steps
#processes: 3
dynticks_progress_counter = 6
rcu_update_flag = 0
in_interrupt = 0
grace_period_state = 1
dyntick_nohz_done = 1
39: proc 2 (grace_period) line 115 "dyntickRCU-base-sl-busted.spin" (state 17)
grace_period(2):shouldexit = 1
grace_period(2):curr = 6
39: proc 1 (dyntick_nohz) line 217 "dyntickRCU-base-sl-busted.spin" (state 20) <valid end state>
39: proc 0 (:init:) line 224 "dyntickRCU-base-sl-busted.spin" (state 4) <valid end state>
3 processes created