Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
35d266a2
Commit
35d266a2
authored
Jan 23, 2009
by
Ingo Molnar
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'tj-percpu' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc
into core/percpu
parents
03b48632
2de3a5f7
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
48 additions
and
77 deletions
+48
-77
arch/x86/include/asm/hardirq.h
arch/x86/include/asm/hardirq.h
+45
-4
arch/x86/include/asm/hardirq_32.h
arch/x86/include/asm/hardirq_32.h
+0
-33
arch/x86/include/asm/hardirq_64.h
arch/x86/include/asm/hardirq_64.h
+0
-39
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
+1
-0
arch/x86/kernel/efi_64.c
arch/x86/kernel/efi_64.c
+1
-0
arch/x86/kernel/irq_64.c
arch/x86/kernel/irq_64.c
+1
-0
arch/x86/kernel/process_32.c
arch/x86/kernel/process_32.c
+0
-1
No files found.
arch/x86/include/asm/hardirq.h
View file @
35d266a2
#ifdef CONFIG_X86_32
# include "hardirq_32.h"
#else
# include "hardirq_64.h"
#ifndef _ASM_X86_HARDIRQ_H
#define _ASM_X86_HARDIRQ_H
#include <linux/threads.h>
#include <linux/irq.h>
typedef
struct
{
unsigned
int
__softirq_pending
;
unsigned
int
__nmi_count
;
/* arch dependent */
unsigned
int
irq0_irqs
;
#ifdef CONFIG_X86_LOCAL_APIC
unsigned
int
apic_timer_irqs
;
/* arch dependent */
unsigned
int
irq_spurious_count
;
#endif
#ifdef CONFIG_SMP
unsigned
int
irq_resched_count
;
unsigned
int
irq_call_count
;
unsigned
int
irq_tlb_count
;
#endif
#ifdef CONFIG_X86_MCE
unsigned
int
irq_thermal_count
;
# ifdef CONFIG_X86_64
unsigned
int
irq_threshold_count
;
# endif
#endif
}
____cacheline_aligned
irq_cpustat_t
;
DECLARE_PER_CPU
(
irq_cpustat_t
,
irq_stat
);
/* We can have at most NR_VECTORS irqs routed to a cpu at a time */
#define MAX_HARDIRQS_PER_CPU NR_VECTORS
#define __ARCH_IRQ_STAT
#define inc_irq_stat(member) percpu_add(irq_stat.member, 1)
#define local_softirq_pending() percpu_read(irq_stat.__softirq_pending)
#define __ARCH_SET_SOFTIRQ_PENDING
#define set_softirq_pending(x) percpu_write(irq_stat.__softirq_pending, (x))
#define or_softirq_pending(x) percpu_or(irq_stat.__softirq_pending, (x))
extern
void
ack_bad_irq
(
unsigned
int
irq
);
extern
u64
arch_irq_stat_cpu
(
unsigned
int
cpu
);
#define arch_irq_stat_cpu arch_irq_stat_cpu
extern
u64
arch_irq_stat
(
void
);
#define arch_irq_stat arch_irq_stat
#endif
/* _ASM_X86_HARDIRQ_H */
arch/x86/include/asm/hardirq_32.h
deleted
100644 → 0
View file @
03b48632
#ifndef _ASM_X86_HARDIRQ_32_H
#define _ASM_X86_HARDIRQ_32_H
#include <linux/threads.h>
#include <linux/irq.h>
typedef
struct
{
unsigned
int
__softirq_pending
;
unsigned
long
idle_timestamp
;
unsigned
int
__nmi_count
;
/* arch dependent */
unsigned
int
apic_timer_irqs
;
/* arch dependent */
unsigned
int
irq0_irqs
;
unsigned
int
irq_resched_count
;
unsigned
int
irq_call_count
;
unsigned
int
irq_tlb_count
;
unsigned
int
irq_thermal_count
;
unsigned
int
irq_spurious_count
;
}
____cacheline_aligned
irq_cpustat_t
;
DECLARE_PER_CPU
(
irq_cpustat_t
,
irq_stat
);
/* We can have at most NR_VECTORS irqs routed to a cpu at a time */
#define MAX_HARDIRQS_PER_CPU NR_VECTORS
#define __ARCH_IRQ_STAT
#define __IRQ_STAT(cpu, member) (per_cpu(irq_stat, cpu).member)
#define inc_irq_stat(member) (__get_cpu_var(irq_stat).member++)
void
ack_bad_irq
(
unsigned
int
irq
);
#include <linux/irq_cpustat.h>
#endif
/* _ASM_X86_HARDIRQ_32_H */
arch/x86/include/asm/hardirq_64.h
deleted
100644 → 0
View file @
03b48632
#ifndef _ASM_X86_HARDIRQ_64_H
#define _ASM_X86_HARDIRQ_64_H
#include <linux/threads.h>
#include <linux/irq.h>
#include <asm/apic.h>
typedef
struct
{
unsigned
int
__softirq_pending
;
unsigned
int
__nmi_count
;
/* arch dependent */
unsigned
int
apic_timer_irqs
;
/* arch dependent */
unsigned
int
irq0_irqs
;
unsigned
int
irq_resched_count
;
unsigned
int
irq_call_count
;
unsigned
int
irq_tlb_count
;
unsigned
int
irq_thermal_count
;
unsigned
int
irq_spurious_count
;
unsigned
int
irq_threshold_count
;
}
____cacheline_aligned
irq_cpustat_t
;
DECLARE_PER_CPU
(
irq_cpustat_t
,
irq_stat
);
/* We can have at most NR_VECTORS irqs routed to a cpu at a time */
#define MAX_HARDIRQS_PER_CPU NR_VECTORS
#define __ARCH_IRQ_STAT 1
#define inc_irq_stat(member) percpu_add(irq_stat.member, 1)
#define local_softirq_pending() percpu_read(irq_stat.__softirq_pending)
#define __ARCH_SET_SOFTIRQ_PENDING 1
#define set_softirq_pending(x) percpu_write(irq_stat.__softirq_pending, (x))
#define or_softirq_pending(x) percpu_or(irq_stat.__softirq_pending, (x))
extern
void
ack_bad_irq
(
unsigned
int
irq
);
#endif
/* _ASM_X86_HARDIRQ_64_H */
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
View file @
35d266a2
...
...
@@ -7,6 +7,7 @@
#include <linux/interrupt.h>
#include <linux/percpu.h>
#include <asm/processor.h>
#include <asm/apic.h>
#include <asm/msr.h>
#include <asm/mce.h>
#include <asm/hw_irq.h>
...
...
arch/x86/kernel/efi_64.c
View file @
35d266a2
...
...
@@ -36,6 +36,7 @@
#include <asm/proto.h>
#include <asm/efi.h>
#include <asm/cacheflush.h>
#include <asm/fixmap.h>
static
pgd_t
save_pgd
__initdata
;
static
unsigned
long
efi_flags
__initdata
;
...
...
arch/x86/kernel/irq_64.c
View file @
35d266a2
...
...
@@ -18,6 +18,7 @@
#include <linux/smp.h>
#include <asm/io_apic.h>
#include <asm/idle.h>
#include <asm/apic.h>
DEFINE_PER_CPU_SHARED_ALIGNED
(
irq_cpustat_t
,
irq_stat
);
EXPORT_PER_CPU_SYMBOL
(
irq_stat
);
...
...
arch/x86/kernel/process_32.c
View file @
35d266a2
...
...
@@ -108,7 +108,6 @@ void cpu_idle(void)
play_dead
();
local_irq_disable
();
__get_cpu_var
(
irq_stat
).
idle_timestamp
=
jiffies
;
/* Don't trace irqs off for idle */
stop_critical_timings
();
pm_idle
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment