Messages in this thread | | | Date | Fri, 28 Mar 2008 17:53:16 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING |
| |
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
| |