Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING

Linus Torvalds
2008-03-29T00:53:16Z

On Fri, 28 Mar 2008, Roland McGrath wrote:
>
> Set TIF_SIGPENDING in set_restore_sigmask. This lets arch code take
> TIF_RESTORE_SIGMASK out of the set of bits that will be noticed on
> return to user mode. On some machines those bits are scarce, and we
> can free this unneeded one up for other uses.

Hmm. That probably means that TIF_RESTORE_SIGMASK shouldn't be a "TIF"
flag at all, but a "TS" ("thread status") flag.

The TS flags are faster, because they are thread-synchronous and do not
need atomic accesses (ie they are purely thread-local in setting, testing
and clearing).

Of course, it may well not be worth it. Unlike the TIF flags, the TS flags
have been architecture-specific and I don't think all architectures even
do them (x86 uses them for FP state bits and stuff like that).

I guess TIF_RESTORE_SIGMASK is never *so* performance-critical that we'd
care about the difference between a single cycle (approx) for a non-atomic
"or" into memory and an atomic bitop (~50 cycles or so).

Linus