On Fri, Jan 7, 2022 at 10:40 AM HAGIO KAZUHITO(萩尾 一仁)
<k-hagio-ab(a)nec.com> wrote:
Hi Lianbo,
Good catch.
-----Original Message-----
> Subject: [PATCH] Fix for "timer -r -C" option to display all the per-CPU
clocks
Please remove "-C" here, it has no relation with the issue itself.
Thank you for the comment, Kazu.
Applied without "-C".
Thanks.
Lianbo
With this fix,
Acked-by: Kazuhito Hagio <k-hagio-ab(a)nec.com>
Thanks,
Kazu
>
> Currently, the hrtimer_max_clock_bases is hard-coded to 3, which
> makes that crash only prints three clocks, and the rest of clocks
> are not displayed.
>
> Without the patch:
> crash> timer -r -C 11
> CPU: 11 HRTIMER_CPU_BASE: ffff9a775f95ee00
> CLOCK: 0 HRTIMER_CLOCK_BASE: ffff9a775f95ee80 [ktime_get]
> (empty)
>
> CLOCK: 1 HRTIMER_CLOCK_BASE: ffff9a775f95ef00 [ktime_get_real]
> (empty)
>
> CLOCK: 2 HRTIMER_CLOCK_BASE: ffff9a775f95ef80 [ktime_get_boottime]
> (empty)
>
> With the patch:
> crash> timer -r -C 11
> CPU: 11 HRTIMER_CPU_BASE: ffff9a775f95ee00
> CLOCK: 0 HRTIMER_CLOCK_BASE: ffff9a775f95ee80 [ktime_get]
> (empty)
>
> CLOCK: 1 HRTIMER_CLOCK_BASE: ffff9a775f95ef00 [ktime_get_real]
> (empty)
>
> CLOCK: 2 HRTIMER_CLOCK_BASE: ffff9a775f95ef80 [ktime_get_boottime]
> (empty)
> ...
> CLOCK: 7 HRTIMER_CLOCK_BASE: ffff9a775f95f200 [ktime_get_clocktai]
> (empty)
>
> Signed-off-by: Lianbo Jiang <lijiang(a)redhat.com>
> ---
> kernel.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel.c b/kernel.c
> index 37b7af74ed2e..36c57ed501ad 100644
> --- a/kernel.c
> +++ b/kernel.c
> @@ -7675,7 +7675,8 @@ dump_hrtimer_data(const ulong *cpus)
> if (VALID_STRUCT(hrtimer_clock_base)) {
> hrtimer_max_clock_bases = 2;
> if (symbol_exists("ktime_get_boottime"))
> - hrtimer_max_clock_bases = 3;
> + hrtimer_max_clock_bases =
MEMBER_SIZE("hrtimer_cpu_base", "clock_base") /
> + SIZE(hrtimer_clock_base);
> } else if (VALID_STRUCT(hrtimer_base)) {
> max_hrtimer_bases = 2;
> } else
> --
> 2.20.1