From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Andrew Morton <akpm@linux-foundation.org>,
ebiederm@xmission.com, mingo@elte.hu,
torvalds@linux-foundation.org, roland@redhat.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] introduce PF_KTHREAD flag
Date: Tue, 24 Jun 2008 22:51:22 +0200 [thread overview]
Message-ID: <200806242251.23125.rjw@sisk.pl> (raw)
In-Reply-To: <20080624134240.GA310@tv-sign.ru>
On Tuesday, 24 of June 2008, Oleg Nesterov wrote:
> On 06/23, Andrew Morton wrote:
> >
> > On Mon, 23 Jun 2008 13:47:06 -0700
> > Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > > I don't yet know how much additional damage will happen as a result.
> >
> > Lots.
> >
> > I restored the patches and just dropped the hunk:
> >
> > static int has_mm(struct task_struct *p)
> > {
> > - return (p->mm && !(p->flags & PF_BORROWED_MM));
> > }
> >
> > /**
> > --- 86,92 ----
> >
> > static int has_mm(struct task_struct *p)
> > {
> > + return (p->mm && !(p->flags & PF_KTHREAD));
> > }
> >
> > due to that function having been turned into:
> >
> > static inline bool should_send_signal(struct task_struct *p)
> > {
> > return !(p->flags & PF_FREEZER_NOSIG);
> > }
> >
> > Please check the result?
>
> Thanks, this looks OK.
>
> Rafael, can't freezer just use PF_KTHREAD (which btw kills PF_BORROWED_MM)
> instead of the new PF_FREEZER_NOSIG flag? They look very similar, please
> look at
>
> "[PATCH 1/3] introduce PF_KTHREAD flag"
> http://marc.info/?l=linux-kernel&m=121233423530812
>
> "[PATCH 2/3] kill PF_BORROWED_MM in favour of PF_KTHREAD"
> http://marc.info/?l=linux-kernel&m=121233423530820
The problem is that some kernel threads may actually want to clear
PF_FREEZER_NOSIG, but it would be invalid to clear PF_KTHREAD I think.
Hmm, well, in principle we could use two flags for that, with the combinations
of bits defined as follows:
11 - user space task (freezable with a fake signal)
10 - kernel thread freezable with a fake signal
01 - kernel thread freezable withoug a fake signal
00 - non-freezable kernel thread
Thanks,
Rafael
prev parent reply other threads:[~2008-06-24 20:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-01 15:30 [PATCH 1/3] introduce PF_KTHREAD flag Oleg Nesterov
2008-06-03 21:14 ` Andrew Morton
2008-06-04 17:44 ` Oleg Nesterov
2008-06-23 20:40 ` Andrew Morton
2008-06-23 20:47 ` Andrew Morton
2008-06-23 20:52 ` Andrew Morton
2008-06-23 21:36 ` Rafael J. Wysocki
2008-06-23 21:52 ` Andrew Morton
2008-06-24 13:42 ` Oleg Nesterov
2008-06-24 20:51 ` Rafael J. Wysocki [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=200806242251.23125.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=oleg@tv-sign.ru \
--cc=roland@redhat.com \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.