[RFC] Attempt to clean up sigsuspend et al

Paul Mackerras paulus at samba.org
Sun Nov 13 17:58:46 EST 2005


David Woodhouse writes:

> I suppose I could make a TIF_xxx flag make entry.S do that. It's not
> massively pretty, but then it wasn't pretty beforehand either. At least
> I'd have made the ppc32 and ppc64 code match, removed the assembly
> wrappers for a bunch of syscalls, and shortened the syscall exit fast
> path on ppc64. 
> 
> I'd probably still be removing more lines of code than I add, but I'm
> not entirely convinced by the whole plan. What do you think?

Or have a mark in the syscall table (e.g. set the bottom bit of the
address) for the syscalls that need the full register set.  That does
mean an extra conditional branch in the syscall entry path for all
syscalls, though.

> Failing that, I'll just switch them both to do either what ppc32
> currently does with sigreturn_exit() or what ppc64 does with returning
> zero to take the ret_from_except path. Probably the former, since
> pselect() and ppoll() will sometimes want to return zero without
> invoking a signal handler.  And we can probably shorten the ppc64
> syscall exit path anyway, either way. 

I'll be upset if you can shorten it by a lot - I thought I had it
pretty tight already. :)

Paul.



More information about the Linuxppc-dev mailing list