Traces of rcu_prep_idle events can be confusing because rcu_cleanup_after_idle() does no tracing. This commit therefore adds this tracing.
Unified · Split
| @@ -292,6 +292,7 @@ TRACE_EVENT(rcu_dyntick, · 291 unmodified lines | ||
| 292 | 292 | * "More callbacks": Still more callbacks, try again to clear them out. |
| 293 | 293 | * "Callbacks drained": All callbacks processed, off to dyntick idle! |
| 294 | 294 | * "Timer": Timer fired to cause CPU to continue processing callbacks. |
| 295 | + * "Cleanup after idle": Idle exited, timer canceled. | |
| 295 | 296 | */ |
| 296 | 297 | TRACE_EVENT(rcu_prep_idle, |
| 297 | 298 | |
| @@ -2085,6 +2085,7 @@ static void rcu_prepare_for_idle_init(int cpu) · 2084 unmodified lines | ||
| 2085 | 2085 | static void rcu_cleanup_after_idle(int cpu) |
| 2086 | 2086 | { |
| 2087 | 2087 | hrtimer_cancel(&per_cpu(rcu_idle_gp_timer, cpu)); |
| 2088 | + trace_rcu_prep_idle("Cleanup after idle"); | |
| 2088 | 2089 | } |
| 2089 | 2090 | |
| 2090 | 2091 | /* |