On Wed, Sep 09, 2020 at 08:41:22AM -0600, Tom Hromatka wrote:
>  static u64 get_idle_time(struct kernel_cpustat *kcs, int cpu)
>  {
> -     u64 idle, idle_usecs = -1ULL;
> +     u64 idle, idle_usecs;
>  
> -     if (cpu_online(cpu))
> -             idle_usecs = get_cpu_idle_time_us(cpu, NULL);
> -
> -     if (idle_usecs == -1ULL)
> -             /* !NO_HZ or cpu offline so we can rely on cpustat.idle */
> -             idle = kcs->cpustat[CPUTIME_IDLE];
> -     else
> -             idle = idle_usecs * NSEC_PER_USEC;
> +     idle_usecs = get_cpu_idle_time_us(cpu, NULL);
> +     idle = idle_usecs * NSEC_PER_USEC;
>  
>       return idle;
>  }
>  
>  static u64 get_iowait_time(struct kernel_cpustat *kcs, int cpu)
>  {
> -     u64 iowait, iowait_usecs = -1ULL;
> -
> -     if (cpu_online(cpu))
> -             iowait_usecs = get_cpu_iowait_time_us(cpu, NULL);
> +     u64 iowait, iowait_usecs;
>  
> -     if (iowait_usecs == -1ULL)
> -             /* !NO_HZ or cpu offline so we can rely on cpustat.iowait */
> -             iowait = kcs->cpustat[CPUTIME_IOWAIT];
> -     else
> -             iowait = iowait_usecs * NSEC_PER_USEC;
> +     iowait_usecs = get_cpu_iowait_time_us(cpu, NULL);
> +     iowait = iowait_usecs * NSEC_PER_USEC;

You can gc variables in both cases:

        return get_cpu_iowait_time_us() * NSEC_PER_USEC;

Reply via email to