Re: [linux-pm] 2.6.21-rc4-mm1: freezing of processes broken

From: sukadev
Date: Tue Mar 20 2007 - 22:47:27 EST


Eric W. Biederman [ebiederm@xxxxxxxxxxxx] wrote:
| "Rafael J. Wysocki" <rjw@xxxxxxx> writes:
|
| > On Tuesday, 20 March 2007 22:06, Rafael J. Wysocki wrote:
| >> On Tuesday, 20 March 2007 21:58, Jiri Slaby wrote:
| >> > Rafael J. Wysocki napsal(a):
| >> > > Actually, the problem is 100% reproducible on my system too and I doubt
| > it's
| >> > > caused by the recent freezer patches.
| >> >
| >> > I don't know what exactly do you mean by recent, but 2.6.21-rc3-mm2 works
| >> > for me.
| >>
| >> Thanks for the confirmation.
| >>
| >> The patches I was talking about had already been in 2.6.21-rc3-mm2, so the
| >> reason of this failure must be different.
| >
| > Bisection shows that the freezing of processes has been broken by one of the
| > patches:
| >
| > remove-the-likelypid-check-in-copy_process.patch
|
| Grr. Oleg's review of remove-the-likelypid-check-in-copy-process
| showed it to be questionable (and it was just an optimization)
| so we can get rid of that one easily.
|
| Although all it did that was really questionable was add
| the idle process to the global process list and bump a process
| count when we forked the idle process. Not dramatically dangerous
| things.
|
| > use-task_pgrp-task_session-in-copy_process.patch
|
| As I recall that patch was pretty trivial, and shouldn't have
| anything to do with the freezer. The process freezer doesn't care
| about pids does it?

Yes. I think this one is trivial too. Here is the effective change in
copy_process():

- attach_pid(p, PIDTYPE_PGID, find_pid(pgid));
- attach_pid(p, PIDTYPE_SID, find_pid(sid));
+ attach_pid(p, PIDTYPE_PGID, task_pgrp(current));
+ attach_pid(p, PIDTYPE_SID, task_session(current));


|
| Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/