
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/ICAOAT -------------------------------- Disable irq track when irqtime disabled Signed-off-by: Pu Lehui <pulehui@huawei.com> --- include/linux/cgroup.h | 4 ++-- kernel/cgroup/ifs.c | 4 ++-- kernel/sched/cputime.c | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 29fb4556d123..f4d155d3ef46 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -1012,7 +1012,7 @@ static inline void cgroup_ifs_account_hardirq(u64 delta) cgroup_ifs_account_delta(ifsc, IFS_HARDIRQ, delta); } -void cgroup_ifs_enable_irq_account(void); +void cgroup_ifs_enable_irq_account(bool); #endif #ifdef CONFIG_SCHEDSTATS @@ -1045,7 +1045,7 @@ static inline void cgroup_ifs_account_throttle(struct cgroup *cgrp, int cpu, u64 #ifdef CONFIG_IRQ_TIME_ACCOUNTING static inline void cgroup_ifs_account_softirq(u64 delta) {} static inline void cgroup_ifs_account_hardirq(u64 delta) {} -static inline void cgroup_ifs_enable_irq_account(void) {} +static inline void cgroup_ifs_enable_irq_account(bool) {} #endif #ifdef CONFIG_SCHEDSTATS static inline void cgroup_ifs_account_sleep(struct task_struct *task, u64 delta) {} diff --git a/kernel/cgroup/ifs.c b/kernel/cgroup/ifs.c index 9c2ef2199ccd..0c5c7c3c01ae 100644 --- a/kernel/cgroup/ifs.c +++ b/kernel/cgroup/ifs.c @@ -370,8 +370,8 @@ void cgroup_ifs_enable_sleep_account(void) #endif #ifdef CONFIG_IRQ_TIME_ACCOUNTING -void cgroup_ifs_enable_irq_account(void) +void cgroup_ifs_enable_irq_account(bool enable) { - ifs_irq_enable = true; + ifs_irq_enable = enable; } #endif diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 499812509f7d..e560426f23bd 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -27,12 +27,13 @@ static int sched_clock_irqtime; void enable_sched_clock_irqtime(void) { sched_clock_irqtime = 1; - cgroup_ifs_enable_irq_account(); + cgroup_ifs_enable_irq_account(true); } void disable_sched_clock_irqtime(void) { sched_clock_irqtime = 0; + cgroup_ifs_enable_irq_account(false); } static void irqtime_account_delta(struct irqtime *irqtime, u64 delta, -- 2.34.1