[PATCH 22/25] irq: make irqs in kernel stat use per_cpu_dyn_array

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Yinghai Lu
Date: Saturday, August 2, 2008 - 7:59 pm

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
---
 include/linux/kernel_stat.h |    4 ++++
 kernel/sched.c              |    5 ++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index cf9f40a..fe1f7fe 100644
--- a/include/linux/kernel_stat.h
+++ b/include/linux/kernel_stat.h
@@ -28,7 +28,11 @@ struct cpu_usage_stat {
 
 struct kernel_stat {
 	struct cpu_usage_stat	cpustat;
+#ifdef CONFIG_HAVE_DYN_ARRAY
+	unsigned int *irqs;
+#else
 	unsigned int irqs[NR_IRQS];
+#endif
 };
 
 DECLARE_PER_CPU(struct kernel_stat, kstat);
diff --git a/kernel/sched.c b/kernel/sched.c
index 55cb4ce..21c0839 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4021,9 +4021,12 @@ static inline void idle_balance(int cpu, struct rq *rq)
 #endif
 
 DEFINE_PER_CPU(struct kernel_stat, kstat);
-
 EXPORT_PER_CPU_SYMBOL(kstat);
 
+#ifdef CONFIG_HAVE_DYN_ARRAY
+DEFINE_PER_CPU_DYN_ARRAY_ADDR(per_cpu__kstat_irqs, per_cpu__kstat.irqs, sizeof(unsigned int), nr_irqs, sizeof(unsigned long), NULL);
+#endif
+
 /*
  * Return p->sum_exec_runtime plus any more ns on the sched_clock
  * that have not yet been banked in case the task is currently running.
-- 
1.5.4.5

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 02/25] x86: remove irq_vectors_limits, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 04/25] add per_cpu_dyn_array support, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 05/25] x86: alloc dyn_array all alltogether, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 06/25] x86: enable dyn_array support, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 07/25] introduce nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 08/25] x86: using nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 09/25] drivers/char to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 10/25] drivers/net to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 11/25] drivers intr remapping to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 12/25] drivers/pcmcia to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 13/25] drivers/rtc to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 14/25] drivers/scsi to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 15/25] drivers/serial to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 16/25] drivers proc to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 17/25] drivers xen events to use nr_irqs, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 18/25] make irq_timer_state to use dyn_array, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 19/25] make irq2_iommu to use dyn_array, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 20/25] make irq_desc to use dyn_array, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 22/25] irq: make irqs in kernel stat use per_cpu_dy ..., Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 23/25] x86: use dyn_array in io_apic_xx.c, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 24/25] x86: get mp_irqs from madt, Yinghai Lu, (Sat Aug 2, 7:59 pm)
[PATCH 25/25] x86: remove nr_irq_vectors, Yinghai Lu, (Sat Aug 2, 7:59 pm)
Re: [PATCH 03/25] add dyn_array support, Johannes Weiner, (Sat Aug 2, 9:03 pm)
Re: [PATCH 05/25] x86: alloc dyn_array all alltogether, Johannes Weiner, (Sat Aug 2, 9:16 pm)
Re: [PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 9:21 pm)
Re: [PATCH 03/25] add dyn_array support, Johannes Weiner, (Sat Aug 2, 9:55 pm)
Re: [PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 10:04 pm)
Re: [PATCH 03/25] add dyn_array support, Johannes Weiner, (Sat Aug 2, 10:31 pm)
Re: [PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 10:39 pm)
Re: [PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 10:40 pm)
Re: [PATCH 03/25] add dyn_array support, Johannes Weiner, (Sat Aug 2, 10:47 pm)
Re: [PATCH 03/25] add dyn_array support, Yinghai Lu, (Sat Aug 2, 10:48 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Eric W. Biederman, (Sat Aug 2, 10:51 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sat Aug 2, 11:04 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Eric W. Biederman, (Sat Aug 2, 11:39 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sun Aug 3, 1:25 am)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Eric W. Biederman, (Sun Aug 3, 2:15 am)
Re: [PATCH 15/25] drivers/serial to use nr_irqs, Alan Cox, (Sun Aug 3, 6:02 am)
Re: [PATCH 15/25] drivers/serial to use nr_irqs, Yinghai Lu, (Sun Aug 3, 10:43 am)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sun Aug 3, 10:54 am)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sun Aug 3, 12:20 pm)
Re: [PATCH 21/25] serial: change remove NR_IRQS in 8250.c v2, Eric W. Biederman, (Sun Aug 3, 12:57 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Sun Aug 3, 6:59 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Mike Travis, (Mon Aug 4, 7:31 am)
Re: [PATCH 21/25] serial: change remove NR_IRQS in 8250.c v2, Eric W. Biederman, (Mon Aug 4, 11:51 am)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, H. Peter Anvin, (Tue Aug 5, 4:01 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Tue Aug 5, 4:15 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, H. Peter Anvin, (Tue Aug 5, 4:26 pm)
Re: [PATCH 00/25] dyn_array and nr_irqs support v3, Yinghai Lu, (Tue Aug 5, 4:53 pm)
[PATCH] serial: Remove NR_IRQS usage, Alan Cox, (Wed Aug 6, 6:09 am)
Re: [PATCH] serial: Remove NR_IRQS usage, Eric W. Biederman, (Wed Aug 6, 9:10 am)