On Mon, Feb 24, 2020 at 11:24 AM Linus Torvalds wrote: > > I don't know. This does not seem to be a particularly serious load. > But it does feel like it should be possible to combine the two atomic > accesses into one, where you don't need to do the refcount thing > except for the case where sigcount goes from zero to non-zero (and > back to zero again). Ok, that looks just as simple as I thought it would be. TOTALLY UNTESTED patch attached. It may be completely buggy garbage, but it _looks_ trivial enough. Just make the rule be that "if we have any user->sigpending cases, we'll get a ref to the user for the first one, and drop it only when getting rid of the last one". So it might be worth testing this. But again: I have NOT done so. There might be some silly reason why this doesn't work because I just did the tests wrong or missed some case. Or there might be some subtle reason why it doesn't work because I didn't think this through properly. But it _looks_ obvious and simple enough. And it compiles for me. So maybe it works. Linus