Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
e498b943
Commit
e498b943
authored
Nov 22, 2004
by
Tony Luck
Browse files
Options
Browse Files
Download
Plain Diff
Merge intel.com:/data/home/aegl/BK/Linus
into intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.10
parents
b3436fb3
1b59e286
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
15 deletions
+26
-15
arch/ia64/kernel/iosapic.c
arch/ia64/kernel/iosapic.c
+6
-1
arch/ia64/kernel/irq.c
arch/ia64/kernel/irq.c
+0
-5
arch/ia64/kernel/perfmon.c
arch/ia64/kernel/perfmon.c
+19
-1
include/asm-ia64/hardirq.h
include/asm-ia64/hardirq.h
+0
-7
include/asm-ia64/pal.h
include/asm-ia64/pal.h
+1
-1
No files found.
arch/ia64/kernel/iosapic.c
View file @
e498b943
...
...
@@ -522,6 +522,11 @@ get_target_cpu (unsigned int gsi, int vector)
cpu_mask
=
node_to_cpumask
(
iosapic_lists
[
iosapic_index
].
node
);
for_each_cpu_mask
(
numa_cpu
,
cpu_mask
)
{
if
(
!
cpu_online
(
numa_cpu
))
cpu_clear
(
numa_cpu
,
cpu_mask
);
}
num_cpus
=
cpus_weight
(
cpu_mask
);
if
(
!
num_cpus
)
...
...
arch/ia64/kernel/irq.c
View file @
e498b943
...
...
@@ -215,11 +215,6 @@ int show_interrupts(struct seq_file *p, void *v)
skip:
spin_unlock_irqrestore
(
&
idesc
->
lock
,
flags
);
}
else
if
(
i
==
NR_IRQS
)
{
seq_puts
(
p
,
"NMI: "
);
for
(
j
=
0
;
j
<
NR_CPUS
;
j
++
)
if
(
cpu_online
(
j
))
seq_printf
(
p
,
"%10u "
,
nmi_count
(
j
));
seq_putc
(
p
,
'\n'
);
#ifdef CONFIG_X86_LOCAL_APIC
seq_puts
(
p
,
"LOC: "
);
for
(
j
=
0
;
j
<
NR_CPUS
;
j
++
)
...
...
arch/ia64/kernel/perfmon.c
View file @
e498b943
...
...
@@ -3057,7 +3057,7 @@ pfm_write_pmcs(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs)
#endif
}
DPRINT
((
"pmc[%u]=0x%lx ld=%d apmu=%d flags=0x%
l
x all_pmcs=0x%lx used_pmds=0x%lx eventid=%ld smpl_pmds=0x%lx reset_pmds=0x%lx reloads_pmcs=0x%lx used_monitors=0x%lx ovfl_regs=0x%lx
\n
"
,
DPRINT
((
"pmc[%u]=0x%lx ld=%d apmu=%d flags=0x%x all_pmcs=0x%lx used_pmds=0x%lx eventid=%ld smpl_pmds=0x%lx reset_pmds=0x%lx reloads_pmcs=0x%lx used_monitors=0x%lx ovfl_regs=0x%lx
\n
"
,
cnum
,
value
,
is_loaded
,
...
...
@@ -5057,6 +5057,18 @@ pfm_handle_work(void)
UNPROTECT_CTX
(
ctx
,
flags
);
/*
* pfm_handle_work() is currently called with interrupts disabled.
* The down_interruptible call may sleep, therefore we
* must re-enable interrupts to avoid deadlocks. It is
* safe to do so because this function is called ONLY
* when returning to user level (PUStk=1), in which case
* there is no risk of kernel stack overflow due to deep
* interrupt nesting.
*/
BUG_ON
(
flags
&
IA64_PSR_I
);
local_irq_enable
();
DPRINT
((
"before block sleeping
\n
"
));
/*
...
...
@@ -5067,6 +5079,12 @@ pfm_handle_work(void)
DPRINT
((
"after block sleeping ret=%d
\n
"
,
ret
));
/*
* disable interrupts to restore state we had upon entering
* this function
*/
local_irq_disable
();
PROTECT_CTX
(
ctx
,
flags
);
/*
...
...
include/asm-ia64/hardirq.h
View file @
e498b943
...
...
@@ -20,14 +20,7 @@
#define __ARCH_IRQ_STAT 1
#define softirq_pending(cpu) (cpu_data(cpu)->softirq_pending)
#define syscall_count(cpu)
/* unused on IA-64 */
#define ksoftirqd_task(cpu) (cpu_data(cpu)->ksoftirqd)
#define nmi_count(cpu) 0
#define local_softirq_pending() (local_cpu_data->softirq_pending)
#define local_syscall_count()
/* unused on IA-64 */
#define local_ksoftirqd_task() (local_cpu_data->ksoftirqd)
#define local_nmi_count() 0
#define HARDIRQ_BITS 14
...
...
include/asm-ia64/pal.h
View file @
e498b943
...
...
@@ -1531,7 +1531,7 @@ static inline s64
ia64_pal_tr_read
(
u64
reg_num
,
u64
tr_type
,
u64
*
tr_buffer
,
pal_tr_valid_u_t
*
tr_valid
)
{
struct
ia64_pal_retval
iprv
;
PAL_CALL_PHYS_STK
(
iprv
,
PAL_VM_TR_READ
,
reg_num
,
tr_type
,(
u64
)
__
pa
(
tr_buffer
));
PAL_CALL_PHYS_STK
(
iprv
,
PAL_VM_TR_READ
,
reg_num
,
tr_type
,(
u64
)
ia64_t
pa
(
tr_buffer
));
if
(
tr_valid
)
tr_valid
->
piv_val
=
iprv
.
v0
;
return
iprv
.
status
;
...
...
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