Skip to content

Commit

Permalink
Revert "[SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit()."
Browse files Browse the repository at this point in the history
This reverts commit 2664ef4.

Ingo moved around where the softlockup dependency sits
so this change is no longer necessary.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed May 4, 2008
1 parent 5b81d68 commit 81d6ec6
Showing 1 changed file with 5 additions and 22 deletions.
27 changes: 5 additions & 22 deletions arch/sparc64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -865,21 +865,14 @@ void smp_call_function_client(int irq, struct pt_regs *regs)
void *info = call_data->info;

clear_softint(1 << irq);

irq_enter();

if (!call_data->wait) {
/* let initiator proceed after getting data */
atomic_inc(&call_data->finished);
}

func(info);

irq_exit();

if (call_data->wait) {
/* let initiator proceed only after completion */
func(info);
atomic_inc(&call_data->finished);
} else {
/* let initiator proceed after getting data */
atomic_inc(&call_data->finished);
func(info);
}
}

Expand Down Expand Up @@ -1041,18 +1034,14 @@ void smp_receive_signal(int cpu)

void smp_receive_signal_client(int irq, struct pt_regs *regs)
{
irq_enter();
clear_softint(1 << irq);
irq_exit();
}

void smp_new_mmu_context_version_client(int irq, struct pt_regs *regs)
{
struct mm_struct *mm;
unsigned long flags;

irq_enter();

clear_softint(1 << irq);

/* See if we need to allocate a new TLB context because
Expand All @@ -1072,8 +1061,6 @@ void smp_new_mmu_context_version_client(int irq, struct pt_regs *regs)
load_secondary_context(mm);
__flush_tlb_mm(CTX_HWBITS(mm->context),
SECONDARY_CONTEXT);

irq_exit();
}

void smp_new_mmu_context_version(void)
Expand Down Expand Up @@ -1239,8 +1226,6 @@ void smp_penguin_jailcell(int irq, struct pt_regs *regs)
{
clear_softint(1 << irq);

irq_enter();

preempt_disable();

__asm__ __volatile__("flushw");
Expand All @@ -1253,8 +1238,6 @@ void smp_penguin_jailcell(int irq, struct pt_regs *regs)
prom_world(0);

preempt_enable();

irq_exit();
}

/* /proc/profile writes can call this, don't __init it please. */
Expand Down

0 comments on commit 81d6ec6

Please sign in to comment.