Message ID | 20250403092852.1072015-1-quic_zhonhan@quicinc.com |
---|---|
State | New |
Headers | show |
Series | cpuidle: menu: Optimize bucket assignment when next_timer_ns equals KTIME_MAX | expand |
diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c index 39aa0aea61c6..8fc7fbed0052 100644 --- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c @@ -255,7 +255,12 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev, */ data->next_timer_ns = KTIME_MAX; delta_tick = TICK_NSEC / 2; - data->bucket = which_bucket(KTIME_MAX); + /* + * Assign the last bucket value directly instead of calling + * which_bucket(), since KTIME_MAX is the largest possible + * value that always falls into the last bucket. + */ + data->bucket = BUCKETS - 1; } if (unlikely(drv->state_count <= 1 || latency_req == 0) ||
Directly assign the last bucket value instead of calling which_bucket() when next_timer_ns equals KTIME_MAX, the largest possible value that always falls into the last bucket. This avoids unnecessary calculations and enhances performance. Signed-off-by: Zhongqiu Han <quic_zhonhan@quicinc.com> --- drivers/cpuidle/governors/menu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)