Re: [PATCH -mm] swsusp: Freeze filesystems during suspend (rev. 2)

Rafael J. Wysocki
2006-11-01T20:31:53Z

On Wednesday, 1 November 2006 20:45, Andrew Morton wrote:
> On Wed, 1 Nov 2006 18:53:07 +0100
> "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
>
> > +void thaw_processes(void)
> > +{
> > + printk("Restarting tasks ... ");
> > + __thaw_tasks(FREEZER_KERNEL_THREADS);
> > + thaw_filesystems();
> > + __thaw_tasks(FREEZER_USER_SPACE);
> > + schedule();
> > + printk("done.\n");
> > +}
> >
> > - read_unlock(&tasklist_lock);
> > +void thaw_kernel_threads(void)
> > +{
> > + printk("Restarting kernel threads ... ");
> > + __thaw_tasks(FREEZER_KERNEL_THREADS);
> > schedule();
> > printk("done.\n");
> > }
>
> what do these random-looking schedule()s do??

My understanding is that they allow the thawed tasks to actually exit
the refrigerator, because __thaw_tasks() only changes their states.