Skip to content
  1. Oct 12, 2012
    • Al Viro's avatar
      alpha: don't bother passing switch_stack separately from regs · d9d0738a
      Al Viro authored
      
      
      It's needed only in setup_sigcontext() and it's always reg - <constant>;
      no point passing it all way down through the call chain.  This is just
      the signal.c side of that stuff; next will come the asm glue one...
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      d9d0738a
    • Al Viro's avatar
      alpha: take SIGPENDING/NOTIFY_RESUME loop into signal.c · 6972d6f2
      Al Viro authored
      
      
      Turn the slow side of work_pending into C function, including all
      the looping.  What we get out of that:
      	* we do _not_ call get_signal_to_deliver() with IRQs disabled
      anymore
      	* no need to save/restore volatiles on each pass if there
      turns to be more than one (unlikely, but still)
      	* all double-restart prevention is in C now.
      	* glue gets simpler.
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6972d6f2
    • Al Viro's avatar
      alpha: simplify TIF_NEED_RESCHED handling · 7721d3c2
      Al Viro authored
      
      
      In case we have both NEED_RESCHED and SIGPENDING/NOTIFY_RESUME,
      handle the latter first.  We'll get to original priorities in
      the next commit, but now that allows to simplify the treatment
      of NEED_RESCHED-only case nicely.  Namely, now there no need to
      preserve the data for restarts across the call of schedule() in
      $work_resched; we can get there only if we had either returned
      from syscall without SIGPENDING (in which case we should've
      had no restart-worthy return value and want no restarts) or
      already got through do_notify_resume() call (in which case we
      want no restarts anymore).  So we can just slap 0 into $19
      instead of preserving it (and $20).
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      7721d3c2
  2. Oct 01, 2012