Messages in this thread Patch in this message | | | From | Alex Shi <> | Subject | [PATCH 2/3] sched/cputime: code cleanup in irqtime_account_process_tick | Date | Thu, 2 Jan 2020 18:07:53 +0800 |
| |
In this func, since account_system_time() considers guest time account and other system time. we could fold the account_guest_time into account_system_time() to simply the code.
Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Wanpeng Li <wanpeng.li@hotmail.com> Cc: Anna-Maria Gleixner <anna-maria@linutronix.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org --- kernel/sched/cputime.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index cff3e656566d..46b837e94fce 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -381,13 +381,10 @@ static void irqtime_account_process_tick(struct task_struct *p, int user_tick, account_system_index_time(p, cputime, CPUTIME_SOFTIRQ); } else if (user_tick) { account_user_time(p, cputime); - } else if (p == this_rq()->idle) { + } else if ((p != this_rq()->idle) || (irq_count() != HARDIRQ_OFFSET)) + account_system_time(p, HARDIRQ_OFFSET, cputime); + else account_idle_time(cputime); - } else if (p->flags & PF_VCPU) { /* System time or guest time */ - account_guest_time(p, cputime); - } else { - account_system_index_time(p, cputime, CPUTIME_SYSTEM); - } } static void irqtime_account_idle_ticks(int ticks) -- 1.8.3.1
| |