Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1438647

[PATCH 2/2] sched: Reorganize vtime native irqtime accounting headers

From Frederic Weisbecker <fweisbec@gmail.com>
Newsgroups linux.kernel
Subject [PATCH 2/2] sched: Reorganize vtime native irqtime accounting headers
Date 2016-07-07 16:30 +0200
Message-ID <rSitr-88F-13@gated-at.bofh.it> (permalink)
References <rSitr-88F-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


The vtime irqtime accounting headers are very scattered and convoluted
right now. Reorganize them such that it is obvious that only
CONFIG_VIRT_CPU_ACCOUNTING_NATIVE does use it.

Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: wanpeng.li@hotmail.com
Cc: Mike Galbraith <efault@gmx.de>
Cc: rkrcmar@redhat.com
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 include/linux/vtime.h | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/include/linux/vtime.h b/include/linux/vtime.h
index 65aef5e..aa9bfea 100644
--- a/include/linux/vtime.h
+++ b/include/linux/vtime.h
@@ -12,12 +12,9 @@ struct task_struct;
 /*
  * vtime_accounting_cpu_enabled() definitions/declarations
  */
-#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
+#if defined(CONFIG_VIRT_CPU_ACCOUNTING_NATIVE)
 static inline bool vtime_accounting_cpu_enabled(void) { return true; }
-extern void vtime_account_irq_enter(struct task_struct *tsk);
-#endif /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
-
-#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
+#elif defined(CONFIG_VIRT_CPU_ACCOUNTING_GEN)
 /*
  * Checks if vtime is enabled on some CPU. Cputime readers want to be careful
  * in that case and compute the tickless cputime.
@@ -38,11 +35,9 @@ static inline bool vtime_accounting_cpu_enabled(void)
 
 	return false;
 }
-#endif /* CONFIG_VIRT_CPU_ACCOUNTING_GEN */
-
-#ifndef CONFIG_VIRT_CPU_ACCOUNTING
+#else /* !CONFIG_VIRT_CPU_ACCOUNTING */
 static inline bool vtime_accounting_cpu_enabled(void) { return false; }
-#endif /* !CONFIG_VIRT_CPU_ACCOUNTING */
+#endif
 
 
 /*
@@ -70,14 +65,10 @@ extern void vtime_account_user(struct task_struct *tsk);
 static inline void vtime_task_switch(struct task_struct *prev) { }
 static inline void vtime_account_system(struct task_struct *tsk) { }
 static inline void vtime_account_user(struct task_struct *tsk) { }
-static inline void vtime_account_irq_enter(struct task_struct *tsk) { }
 #endif /* !CONFIG_VIRT_CPU_ACCOUNTING */
 
 #ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
 extern void arch_vtime_task_switch(struct task_struct *tsk);
-static inline void vtime_account_irq_enter(struct task_struct *tsk) { }
-static inline void vtime_account_irq_exit(struct task_struct *tsk) { }
-
 extern void vtime_user_enter(struct task_struct *tsk);
 
 static inline void vtime_user_exit(struct task_struct *tsk)
@@ -88,11 +79,6 @@ extern void vtime_guest_enter(struct task_struct *tsk);
 extern void vtime_guest_exit(struct task_struct *tsk);
 extern void vtime_init_idle(struct task_struct *tsk, int cpu);
 #else /* !CONFIG_VIRT_CPU_ACCOUNTING_GEN  */
-static inline void vtime_account_irq_exit(struct task_struct *tsk)
-{
-	/* On hard|softirq exit we always account to hard|softirq cputime */
-	vtime_account_system(tsk);
-}
 static inline void vtime_user_enter(struct task_struct *tsk) { }
 static inline void vtime_user_exit(struct task_struct *tsk) { }
 static inline void vtime_guest_enter(struct task_struct *tsk) { }
@@ -100,6 +86,19 @@ static inline void vtime_guest_exit(struct task_struct *tsk) { }
 static inline void vtime_init_idle(struct task_struct *tsk, int cpu) { }
 #endif
 
+#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
+extern void vtime_account_irq_enter(struct task_struct *tsk);
+static inline void vtime_account_irq_exit(struct task_struct *tsk)
+{
+	/* On hard|softirq exit we always account to hard|softirq cputime */
+	vtime_account_system(tsk);
+}
+#else /* !CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
+static inline void vtime_account_irq_enter(struct task_struct *tsk) { }
+static inline void vtime_account_irq_exit(struct task_struct *tsk) { }
+#endif
+
+
 #ifdef CONFIG_IRQ_TIME_ACCOUNTING
 extern void irqtime_account_irq(struct task_struct *tsk);
 #else
-- 
2.7.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq time code with IRQ_TIME_ACCOUNTING code" Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-07 16:30 +0200
  [PATCH 1/2] sched: Complete cleanup of old vtime gen irqtime accounting Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-07 16:30 +0200
  [PATCH 2/2] sched: Reorganize vtime native irqtime accounting headers Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-07 16:30 +0200
  Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Rik van Riel <riel@redhat.com> - 2016-07-07 18:20 +0200
    Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Ingo Molnar <mingo@kernel.org> - 2016-07-08 09:40 +0200
      Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-08 13:20 +0200
        Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-08 14:10 +0200
          Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Ingo Molnar <mingo@kernel.org> - 2016-07-08 14:30 +0200
            Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Frederic Weisbecker <fweisbec@gmail.com> - 2016-07-08 14:40 +0200
        Re: [PATCH 0/2] sched/cputime: Deltas for "replace VTIME_GEN irq  time code with IRQ_TIME_ACCOUNTING code" Ingo Molnar <mingo@kernel.org> - 2016-07-08 14:10 +0200

csiph-web