mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
x86: move kstat_irqs from kstat to irq_desc
based on Eric's patch ... together mold it with dyn_array for irq_desc, will allcate kstat_irqs for nr_irq_desc alltogether if needed. -- at that point nr_cpus is known already. v2: make sure system without generic_hardirqs works they don't have irq_desc v3: fix merging v4: [mingo@elte.hu] fix typo [ mingo@elte.hu ] irq: build fix fix: arch/x86/xen/spinlock.c: In function 'xen_spin_lock_slow': arch/x86/xen/spinlock.c:90: error: 'struct kernel_stat' has no member named 'irqs' Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
3060d6fe28
commit
7f95ec9e4c
11 changed files with 113 additions and 63 deletions
|
@ -157,6 +157,11 @@ struct irq_desc {
|
|||
#ifdef CONFIG_HAVE_SPARSE_IRQ
|
||||
struct irq_desc *next;
|
||||
struct timer_rand_state *timer_rand_state;
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_DYN_ARRAY
|
||||
unsigned int *kstat_irqs;
|
||||
#else
|
||||
unsigned int kstat_irqs[NR_CPUS];
|
||||
#endif
|
||||
irq_flow_handler_t handle_irq;
|
||||
struct irq_chip *chip;
|
||||
|
@ -190,6 +195,8 @@ extern struct irq_desc *irq_to_desc(unsigned int irq);
|
|||
/* could be removed if we get rid of all irq_desc reference */
|
||||
extern struct irq_desc irq_desc[NR_IRQS];
|
||||
#endif
|
||||
#define kstat_irqs_this_cpu(DESC) \
|
||||
((DESC)->kstat_irqs[smp_processor_id()])
|
||||
|
||||
/*
|
||||
* Migration helpers for obsolete names, they will go away:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue