mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@suse.cz>
To: fchabaud@free.fr
Cc: alan@lxorguk.ukuu.org.uk, swsusp@lister.fornax.hu,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH][swsusp] 2.4.19-pre10-ac2
Date: Tue, 2 Jul 2002 19:07:57 +0200	[thread overview]
Message-ID: <20020702170757.GD21260@atrey.karlin.mff.cuni.cz> (raw)
In-Reply-To: <200207020643.g626hZO09162@colombe.home.perso>

Hi!

> > +                       name_resume, cur->swh.magic.magic); /* even with a noresume option, it is better
> > +                                                              to panic here, because that means that the
> > +                                                              resume device is not a proper swap one. It
> > +                                                              is perhaps a linux or dos partition and we
> > +                                                              don't want to risk damaging it. */
> > 
> > Swapon seems to do its own checks, so this is red herring.
> 
> I think we need it anyway, because if we're not on a swap partition and
> we have a noresume option, we may force a swap signature just after. The
> point is thta this is a misconfiguration of kernel. So I think panic is
> a good warning :-)

Okay.

> >> 3/6	Fix possible endless loop in ide-suspend stuff when using
> >>  	removable devices
> >> 4/6	Fix swap signature in case of noresume option
> >> 5/6	Use memeat to make suspension of *big* sessions possible
> >> 6/6	Clean SysRq stuff.
> >>     	Clean obsolete PF_KERNTHREAD flag.
> >>     	Manage kernel threads: bdflush, khubd, nfs shares (lockd,
> >> rpciod), kjournald, kreiserfsd.
> > 
> >         sprintf(current->comm, "lockd");
> > -
> > +       current->flags |= PF_IOTHREAD;
> > 
> > Lockd does not seem any io needed for suspend-to-disk. I guess it
> > would be better to freeze it.
> > 
> >         strcpy(current->comm, "rpciod");
> > -
> > +       current->flags |= PF_IOTHREAD;
> > +
> > 
> > No, this is incorrect. I believe rpciod could submit packet for io in
> > time we are freezing devices. If it does that... bye bye to your data.
> 
> 
> I think so. At first I did freeze those two tasks but someone post a much simpler patch and... I think you're right. I'll fix that.
> 

Thanks.

> > PS: This is what I did in response to your patch (it compiles,
> > otherwise untested). I'll try to fix noresume fixing signatures
> > somehow.
> 
> For 2.5 tree ?

Yep.

> > @@ -604,13 +595,12 @@
> >  
> >  static int prepare_suspend_processes(void)
> >  {
> > -	PRINTS( "Stopping processes\n" );
> > -	MDELAY(1000);
> >  	if (freeze_processes()) {
> > -		PRINTS( "Not all processes stopped!\n" );
> > +		printk( KERN_ERR "Suspend failed: Not all processes
> stopped!\n"
> > );
> >  		thaw_processes();
> >  		return 1;
> >  	}
> > 
> > +	MDELAY(1000);
> >  	do_suspend_sync();
> >  	return 0;
> >  }
> 
> 
> Where does this MDELAY come from ?

>From top of the function.

> > @@ -1029,11 +1019,13 @@
> >  static int resume_try_to_read(const char * specialfile, int noresume)
> >  {
> >  	union diskpage *cur;
> > +	unsigned long scratch_page = 0;
> >  	swp_entry_t next;
> >  	int i, nr_pgdir_pages, error;
> >  
> >  	resume_device = name_to_kdev_t(specialfile);
> > -	cur = (void *) get_free_page(GFP_ATOMIC);
> > +	scratch_page = get_free_page(GFP_ATOMIC);
> > +	cur = (void *) scratch_page;
> 
> Why doing that in two steps ?

I do not think I can write that into one expression...

> 
> > +	if(noresume) {
> > +#if 0
> 
> I believe this is for 2.5 reasons ;-)

It will not compile; small reshuffling is needed to address this.
								Pavel

-- 
Casualities in World Trade Center: ~3k dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.

  reply	other threads:[~2002-07-02 17:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-20 11:06 fchabaud
2002-06-30 21:49 ` Pavel Machek
2002-07-02  6:27   ` fchabaud
2002-06-30 22:43 ` Pavel Machek
2002-07-02  6:43   ` fchabaud
2002-07-02 17:07     ` Pavel Machek [this message]
2002-07-23  7:59     ` Pavel Machek
2002-07-23 18:47       ` fchabaud

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=20020702170757.GD21260@atrey.karlin.mff.cuni.cz \
    --to=pavel@suse.cz \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=fchabaud@free.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=swsusp@lister.fornax.hu \
    /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®