Hello, Tao. The following is a Claude-generated review.
On Wed, 30 Sep 2026 15:51:53 +0800, Tao Cui wrote: > Add iocost_ioc_tick, emitted once per period from the tail of > ioc_timer_fn() with the overall controller state: period_us, vrate, > busy_level, active iocg count, usage percentage and running state. > It fires every period the controller is running, including steady > states, plus one final tick before the controller goes idle, which > makes dormancy (e.g. a device saturated entirely by uncharged IO) > directly visible. ... > + __entry->running = ioc->running; The timer only runs while ioc->running is IOC_RUNNING and the switch to IOC_IDLE happens after the trace call, so this field always reads running except when racing ioc_rqos_exit(). The final tick before going idle reads active=0 running=1, and dormancy is only visible through the ticks stopping, not through the field. Can you either drop the field or report list_empty(&ioc->active_iocgs), and adjust the description? The event is also emitted before the vrate adjustment and the period transition, not from the tail of the function. Thanks. -- tejun

