lkml.org 
[lkml]   [2005]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] i386: Per node IDT
    Hello Oleg,

    On Mon, 11 Jul 2005, Oleg Nesterov wrote:

    > 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:

    The change is so that we can send IRQs higher than 256 to do_IRQ. That
    looks like it tries to check if we came in via system_call since we'd save
    the system call number as orig_eax. Now that i think about it, doesn't
    that path always get taken when we interrupt userspace and have pending
    signals on return from interrupt?
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-07-12 03:36    [W:0.022 / U:89.644 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site