• John David Anglin's avatar
    parisc: only re-enable interrupts if we need to schedule or deliver signals... · c207a76b
    John David Anglin authored
    parisc: only re-enable interrupts if we need to schedule or deliver signals when returning to userspace
    
    Helge and I have found that we have a kernel stack overflow problem
    which causes a variety of random failures.
    Currently, we re-enable interrupts when returning from an external
    interrupt incase we need to schedule or delivery
    signals.  As a result, a potentially unlimited number of interrupts
    can occur while we are running on the kernel
    stack.  It is very limited in space (currently, 16k).  This change
    defers enabling interrupts until we have
    actually decided to schedule or delivery signals.  This only occurs
    when we about to return to userspace.  This
    limits the number of interrupts on the kernel stack to one.  In other
    cases, interrupts remain disabled until the
    final return from interrupt (rfi).
    Signed-off-by: default avatarJohn David Anglin  <dave.anglin@bell.net>
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    c207a76b
entry.S 50.2 KB