[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080408113519.GA227@tv-sign.ru>
Date: Tue, 8 Apr 2008 15:35:19 +0400
From: Oleg Nesterov <oleg@...sign.ru>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Roland McGrath <roland@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
linux-s390@...r.kernel.org, tony.luck@...el.com,
linux-ia64@...r.kernel.org, linux-arch@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING
Roland, Linus, I'm sorry for being offtopic, but there is something
I can't understand from the very beginning, when TIF_RESTORE_SIGMASK
was introduced.
On 03/28, Linus Torvalds wrote:
>
> 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,
Yes!
> but a "TS" ("thread status") flag.
Why do we need any flag? It looks a bit ugly. Isn't it better to introduce
the new magic ERESTART_XXX which means ERESTARTNOHAND + restore-sigmask ?
We only need this flag as an implicit parameter to the arch dependent do_signal()
which we can't call directly, and thus it must imply TIF_SIGPENDING, and it
is not valid after do_signal() (should be cleared). This all looks like
ERESTART_ magic, why should we add something else ?
See also http://marc.info/?l=linux-kernel&m=113734458516136
Of course, probably it is too late to change the implementation even if
I am right, the question is: what I am missed?
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists