Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING

From: Linus Torvalds
Date: Fri Mar 28 2008 - 20:54:01 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/