From: Ingo Molnar <mingo@elte.hu>
To: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] de_thread: eliminate unneccessary sighand locking
Date: Tue, 28 Jun 2005 10:26:45 +0200 [thread overview]
Message-ID: <20050628082645.GB16455@elte.hu> (raw)
In-Reply-To: <200506280726.j5S7QgZU027472@magilla.sf.frob.com>
* Roland McGrath <roland@redhat.com> wrote:
> > the amount of potentially affected code (assuming all the locking is
> > done in a single .[ch] file)
>
> I'm not sure what that means. I'm not confident that all relevant
> locking code is always in one file. If you mean that you did as I
> said, checked every use of siglock and confirmed that tasklist_lock is
> held before examining ->sighand, then we are good.
no, i didnt check all of that. I only checked the obvious places where
all 3 methods are used in a single module.
> > this reminds me about the patch below: it gets rid of tasklist_lock use
> > in the POSIX timer signal delivery critical path.
>
> I don't see how that works at all. The thought that it would seems to
> contradict what we've just been discussing. Holding tasklist_lock is
> what protects against ->sighand and ->signal changing and the old
> pointers becoming stale, not task_lock. What am I missing here?
yeah, it's a bad patch. Offtopic, but it's a real problem: the signal
code is inevitably holding the tasklist_lock for long times when sending
group signals, which is interfering with the signal-sending ability of
upcoming features like high-resolution timers (which uses
send_sigqueue()).
Could we get rid of tasklist_lock and do a careful lock-step walking of
the thread hierarchy (locking the next thread, unlocking the previous
thread in every step), or are there signal semantics reasons for doing
it all in one atomic step?
Ingo
prev parent reply other threads:[~2005-06-28 8:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-19 16:13 Oleg Nesterov
2005-06-28 1:50 ` Roland McGrath
2005-06-28 6:17 ` Oleg Nesterov
2005-06-28 6:27 ` Roland McGrath
2005-06-28 6:42 ` Ingo Molnar
2005-06-28 7:08 ` Roland McGrath
2005-06-28 7:16 ` Ingo Molnar
2005-06-28 7:26 ` Roland McGrath
2005-06-28 8:26 ` Ingo Molnar [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050628082645.GB16455@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@tv-sign.ru \
--cc=roland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®