From: Pavel Machek <pavel@suse.cz>
To: Nigel Cunningham <nigel@suspend2.net>
Cc: Greg KH <greg@kroah.com>, Jens Axboe <axboe@suse.de>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
linux-kernel@vger.kernel.org
Subject: Re: [Suspend2][ 0/9] Extents support.
Date: Thu, 29 Jun 2006 00:44:28 +0200 [thread overview]
Message-ID: <20060628224428.GC27526@elf.ucw.cz> (raw)
In-Reply-To: <200606290825.50674.nigel@suspend2.net>
Hi!
> > > > So I don't really see the future of suspend2 because of this...
> > >
> > > But what Rafael and Pavel are doing is really only moving the highest
> > > level of controlling logic to userspace (ok, and maybe compression and
> > > encryption too). Everything important (freezing other processes, atomic
> > > copy and the guts of the I/O) is still done by the kernel.
> >
> > Can you do the same and move compression/encryption to userspace, too?
> >
> > And actually that "highest level" covers >50% of suspend2 code. That
> > would be around 7K lines of code removed from kernel if you did the
> > same, and suspend2 patch would be half the size...
>
> That's not true. The compression and encryption support add ~1000 lines, as
> you pointed out the other day. If I moved compression and encryption support
> to userspace, I'd remove 1000 lines and:
>
> - add more code for getting the pages copied to and from userspace
No, if your main loop is already in userspace, you do not need to add
any more code. And you'd save way more than 1000 lines:
* encryption/compression can be removed
* but that means that writer plugins/filters can be removed
* if you do compress/encrypt in userspace, you can remove that ugly
netlink thingie, and just display progress in userspace, too
...and then, image writing can be moved to userspace...
* swapfile support
* partition support
* plus their plugin infrastructure.
> > > If we take the problem one step further, and begin to think about
> > > checkpointing, they're in even bigger trouble. I'll freely admit that I'd
> > > have to redesign the way I store data so that random parts of the image
> > > could be replaced, have hooks in mm to be able to learn what pages need
> > > have changed and would also need filesystem support to handle that part
> > > of the problem, but I'd at least be working in the right domain.
> >
> > Could you explain? I do not get the checkpointing remark.
>
> Sure. Suspending to disk is a pretty similar problem to checkpointing, except
> that you want to continue running afterwards, keep the image and modify it
> from time to time based on the changes in memory (having a checkpointing
> filesystem too, of course). My point is that modifying uswsusp to do
> checkpointing would be far harder precisely because you've pushed the highest
> level logic to userspace. It would be far more complicated, if not impossible
> for you to make the adjustments to do checkpointing.
Aha, that's probably better done with Xen, anyway :-).
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2006-06-28 22:46 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-26 16:54 [Suspend2][ 0/9] Extents support Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 1/9] [Suspend2] Extents header Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 2/9] [Suspend2] Extent allocation routines Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 3/9] [Suspend2] Free a whole extent chain Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 4/9] [Suspend2] Add extent to " Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 5/9] [Suspend2] Serialise extent chains Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 6/9] [Suspend2] Get next extent in an extent state Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 7/9] [Suspend2] Extent state to the start Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 8/9] [Suspend2] Extent state save and restore Nigel Cunningham
2006-06-26 16:54 ` [Suspend2][ 9/9] [Suspend2] Extent header Nigel Cunningham
2006-06-26 21:20 ` [Suspend2][ 0/9] Extents support Rafael J. Wysocki
2006-06-27 4:28 ` Nigel Cunningham
2006-06-27 5:36 ` Jens Axboe
2006-06-27 5:39 ` Nigel Cunningham
2006-06-27 7:05 ` Jens Axboe
2006-06-27 7:39 ` Nigel Cunningham
2006-06-27 7:59 ` Jens Axboe
2006-06-27 8:12 ` Greg KH
2006-06-27 8:22 ` Jens Axboe
2006-06-27 8:58 ` Nigel Cunningham
2006-06-28 21:11 ` Pavel Machek
2006-06-28 22:25 ` Nigel Cunningham
2006-06-28 22:44 ` Pavel Machek [this message]
2006-06-28 23:14 ` Nigel Cunningham
2006-06-30 17:36 ` Pavel Machek
2006-06-29 3:11 ` Martin J. Bligh
2006-06-27 9:07 ` Nigel Cunningham
2006-06-27 9:26 ` Rafael J. Wysocki
2006-06-27 9:35 ` Nigel Cunningham
2006-06-27 22:19 ` Rafael J. Wysocki
2006-06-27 23:47 ` Nigel Cunningham
2006-06-28 22:35 ` Rafael J. Wysocki
2006-06-28 23:26 ` Nigel Cunningham
2006-06-29 20:52 ` Rafael J. Wysocki
2006-06-30 17:58 ` Pavel Machek
2006-06-28 11:28 ` Rahul Karnik
2006-06-28 12:42 ` Nigel Cunningham
2006-06-28 14:42 ` Pekka Enberg
2006-06-28 23:37 ` Nigel Cunningham
2006-06-29 5:19 ` Pekka Enberg
2006-06-29 5:44 ` Nigel Cunningham
2006-06-29 21:11 ` Rafael J. Wysocki
2006-06-30 17:55 ` suspend2 merge [was Re: [Suspend2][ 0/9] Extents support.] Pavel Machek
2006-07-01 9:31 ` Dumitru Ciobarcianu
2006-06-28 22:41 ` [Suspend2][ 0/9] Extents support Rafael J. Wysocki
2006-06-28 14:37 ` Olivier Galibert
2006-06-28 21:05 ` Pavel Machek
2006-06-27 7:06 ` Greg KH
2006-06-27 7:27 ` Nigel Cunningham
2006-06-27 7:53 ` Greg KH
2006-06-27 9:08 ` Nigel Cunningham
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=20060628224428.GC27526@elf.ucw.cz \
--to=pavel@suse.cz \
--cc=axboe@suse.de \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nigel@suspend2.net \
--cc=rjw@sisk.pl \
/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