Re: [PATCH] cpustat: print watchdog time and statistics of soft and hard interrupts in soft lockup scenes

From: Peter Zijlstra
Date: Wed Aug 21 2019 - 06:46:52 EST



A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

On Wed, Aug 21, 2019 at 04:26:17PM +0800, c00423981 wrote:
> Sorry, I cannot understand this problem accurately. I try to understand it and I guess what you want
> to express is that the return value type should be cputime64_t but not u64, just like as follows:
>
> +static cputime64_t cpustat_curr_cputime(int cpu, int index)
> +{
> + cputime64_t time;
> +
> + if (index == CPUTIME_IDLE)
> + time = get_idle_time(cpu);
> + else if (index == CPUTIME_IOWAIT)
> + time = get_iowait_time(cpu);
>
> I don't know if I understand it correctly. Looking forward to your answer.

get_iowait_time(cpu) is terminally broken, see commit:

e33a9bba85a8 ("sched/core: move IO scheduling accounting from io_schedule_timeout() into scheduler")