From f5eb2517553009efc9fe24497d5c25379f0f2db3 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Tue, 26 Sep 2006 10:52:39 +0200 Subject: [PATCH] --- yaml --- r: 35938 b: refs/heads/master c: 96e540492ab54423f3693958329e095878f1f12b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86_64/kernel/entry.S | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 74650f2afae2..7aa44a88a847 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f7fd4d7a79193ceda4ce77f75e22917d33fa154 +refs/heads/master: 96e540492ab54423f3693958329e095878f1f12b diff --git a/trunk/arch/x86_64/kernel/entry.S b/trunk/arch/x86_64/kernel/entry.S index 4fcc0ad8bbeb..ea32688386fd 100644 --- a/trunk/arch/x86_64/kernel/entry.S +++ b/trunk/arch/x86_64/kernel/entry.S @@ -519,7 +519,12 @@ END(stub_rt_sigreturn) testl $3,CS(%rdi) je 1f swapgs -1: incl %gs:pda_irqcount # RED-PEN should check preempt count + /* irqcount is used to check if a CPU is already on an interrupt + stack or not. While this is essentially redundant with preempt_count + it is a little cheaper to use a separate counter in the PDA + (short of moving irq_enter into assembly, which would be too + much work) */ +1: incl %gs:pda_irqcount cmoveq %gs:pda_irqstackptr,%rsp push %rbp # backlink for old unwinder /*