| Cause Effect Rules | Rule2 | Rule3 | Rule15 | Rule17 | Rule16 | Rule18 | Rule19 | Rule20 | Rule21 | Rule22 | Rule24 | Rule26 | Rule25 | Rule27 | Rule4 | Rule28 | Rule5 | Rule7 | Rule6 | Rule8 | Rule9 | Rule10 | Rule11 | Rule12 | Rule23 | Rule13 | Rule14 | Rule1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Start | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | T | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| cpu < 8 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | T | F | - | - | - | - | - | - | - | - | - | - | - | - |
| !(__builtin_constant_p(cpu) ? constant_test_bit((cpu),(&(cpu_online_map))) : variable_test_bit((cpu),(&(cpu_online_map)))) | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | T | F | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | T | F | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | T | F | - | - | - | - |
| sequence_needed - cwq->remove_sequence > 0 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | F | T | - | - |
| 0 | - | - | T | F | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | F | T | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | T | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | - | - | T | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | - | - | - | - | - | F | T | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 0 | - | - | - | - | - | - | - | - | - | - | - | T | - | F | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Transitions | 1->1 | 1->2 | 10->10 | 10->11 | 10->9 | 11->12 | 12->12 | 12->13 | 13->11 | 13->8 | 14->15 | 15->14 | 15->15 | 15->4 | 2->3 | 2->E | 3->4 | 3->5 | 4->2 | 5->6 | 6->6 | 6->7 | 7->5 | 7->8 | 8->14 | 8->9 | 9->10 | S->1 |
| Method1 : struct cpu_workqueue_struct *cwq; int cpu; | - | - | - | - | - | - | - | - | - | - | - | - | - | begin | ||||||||||||||
| Method2 : cpu = 0 | - | 1 | - | - | - | - | - | - | - | - | - | - | - | - | ||||||||||||||
| Method3 : cpu++ | - | - | - | - | - | - | - | - | - | - | - | 4 | - | - | ||||||||||||||
| Method4 : wait_queue_t wait = { .task = get_current(), .func = autoremove_wake_function, .task_list = { .next = &wait.task_list, .prev = &wait.task_list, }, }; long sequence_needed; | - | - | - | - | - | - | - | - | - | 2 | - | - | - | - | ||||||||||||||
| Method5 : cwq = wq->cpu_wq + cpu; | - | - | - | - | - | - | - | - | - | - | - | 3 | - | - | ||||||||||||||
| Method6 : __asm__ __volatile__("cli": : :"memory"); | - | - | - | - | - | - | - | - | - | - | - | 5 | - | - | ||||||||||||||
| Method7 : _raw_spin_lock(&cwq->lock); | - | - | - | - | - | - | - | - | - | - | - | - | 6 | - | ||||||||||||||
| Method8 : sequence_needed = cwq->insert_sequence; | - | - | - | - | - | - | - | - | - | - | - | - | - | 7 | ||||||||||||||
| Method9 : prepare_to_wait(&cwq->work_done, &wait, 2); | - | - | - | - | - | - | - | - | - | - | - | - | - | 8 | ||||||||||||||
| Method10 : _raw_spin_unlock(&cwq->lock); __asm__ __volatile__("sti": : :"memory"); | - | - | - | - | - | - | - | - | - | - | - | - | - | 9 | ||||||||||||||
| Method11 : schedule(); | - | - | 10 | - | - | - | - | - | - | - | - | - | - | - | ||||||||||||||
| Method12 : __asm__ __volatile__("cli": : :"memory"); | - | - | - | 11 | - | - | - | - | - | - | - | - | - | - | ||||||||||||||
| Method13 : _raw_spin_lock(&cwq->lock); | - | - | - | - | 12 | - | - | - | - | - | - | - | - | - | ||||||||||||||
| Method14 : finish_wait(&cwq->work_done, &wait); | - | - | - | - | - | - | - | - | - | - | - | - | - | 8 | ||||||||||||||
| Method15 : _raw_spin_unlock(&cwq->lock); __asm__ __volatile__("sti": : :"memory"); | - | - | - | - | - | - | 14 | - | - | - | - | - | - | - | ||||||||||||||