Messages in this thread | | | Subject | Re: Software suspend testing in 2.6.0-test1 | From | Peter Osterlund <> | Date | 22 Jul 2003 01:46:01 +0200 |
| |
Hi!
Pavel Machek <pavel@ucw.cz> writes:
> > > But why do you touch PF_FROZEN here? Refrigerator should do that. > > > And wake_up_process should not be needed... > > > If it is in refrigerator, it polls PF_FREEZE... > > > > Note that the old code always called wake_up_process(), which is > > necessary to make the process run one more iteration in refrigerator() > > and relize that it is time to unfreeze. > > > > The patch changes things so that wake_up_process() is NOT called if > > the process is stopped at some other place than in refrigerator(). > > This ensures that processes that were stopped before we invoked swsusp > > are still stopped after resume. > > Yes, but you still print warning for them. I hopefully killed that. ... > +static inline int interesting_process(struct task_struct *p) > +{ > + if (p->flags & PF_IOTHREAD) > + return 0; > + if (p == current) > + return 0; > + if ((p->state == TASK_ZOMBIE) || (p->state == TASK_DEAD)) > + return 0; > + if (p->state == TASK_STOPPED) > + return 0; > + > + > + return 1; > +}
But this doesn't work. We can't skip stopped tasks in the thaw_processes() function, because frozen tasks are also stopped tasks. Therefore nothing will be woken up during resume.
It's probably best to just delete the printk("strange,...") line.
-- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |