Re: [patch 4/6] ia64: Use preempt_schedule_irq

From: Tony Luck
Date: Wed Nov 20 2013 - 14:59:54 EST


On Tue, Sep 17, 2013 at 11:53 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> Use the proper core function instead of fiddling with PREEMPT_ACTIVE
> and enable/disable interrupts in the low level code.
>
> Index: linux-2.6/arch/ia64/kernel/entry.S
> ===================================================================
> --- linux-2.6.orig/arch/ia64/kernel/entry.S
> +++ linux-2.6/arch/ia64/kernel/entry.S
...
> - br.call.spnt.many rp=schedule
> + br.call.spnt.many rp=preempt_schedule_irq

This just hit mainline ... and I'm getting

arch/ia64/kernel/built-in.o: In function `skip_rbs_switch':
(.text+0xef2): undefined reference to `preempt_schedule_irq'
make: *** [vmlinux] Error 1

Probably because I have CONFIG_PREEMPT=n, and there seems only
to be a definition for this function in kernel/sched/core.c when it is =y.

Do we need a stub for the =n case:

asmlinkage void __sched preempt_schedule_irq(void)
{
schedule();
}

Or is life more complicated than that?

-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/