Re: [RFC][PATCH] i386: Per node IDT

From: Oleg Nesterov
Date: Mon Jul 11 2005 - 07:20:37 EST


Zwane Mwaikambo wrote:
>
> --- linux-2.6.13-rc1-mm1/arch/i386/kernel/entry.S 3 Jul 2005 13:20:43 -0000 1.1.1.1
> +++ linux-2.6.13-rc1-mm1/arch/i386/kernel/entry.S 10 Jul 2005 22:33:37 -0000
> -
> +/* Build the IRQ entry stubs */
> vector=0
> -ENTRY(irq_entries_start)
> + .align IRQ_STUB_SIZE,0x90
> +ENTRY(interrupt)
> .rept NR_IRQS
> ALIGN
> -1: pushl $vector-256
> + pushl $vector
> jmp common_interrupt
>
> [...snip...]
>
> --- linux-2.6.13-rc1-mm1/arch/i386/kernel/irq.c 3 Jul 2005 13:20:43 -0000 1.1.1.1
> +++ linux-2.6.13-rc1-mm1/arch/i386/kernel/irq.c 4 Jul 2005 21:39:56 -0000
> @@ -53,8 +53,7 @@ static union irq_ctx *softirq_ctx[NR_CPU
> */
> fastcall unsigned int do_IRQ(struct pt_regs *regs)
> {
> - /* high bits used in ret_from_ code */
> - int irq = regs->orig_eax & 0xff;
> + int irq = regs->orig_eax;

Could you explain this change? I think it breaks do_signal/handle_signal,
they check orig_eax >= 0 to handle -ERESTARTSYS:

/* Are we from a system call? */
if (regs->orig_eax >= 0) {
/* If so, check system call restarting.. */
switch (regs->eax) {
case -ERESTART_RESTARTBLOCK:
case -ERESTARTNOHAND:

Oleg.
-
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/