public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nigel Cunningham <nigel@suspend2.net>
To: Jens Axboe <axboe@suse.de>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, linux-kernel@vger.kernel.org
Subject: Re: [Suspend2][ 0/9] Extents support.
Date: Tue, 27 Jun 2006 17:39:10 +1000	[thread overview]
Message-ID: <200606271739.13453.nigel@suspend2.net> (raw)
In-Reply-To: <20060627070505.GH22071@suse.de>

[-- Attachment #1: Type: text/plain, Size: 3593 bytes --]

Hi.

On Tuesday 27 June 2006 17:05, Jens Axboe wrote:
> On Tue, Jun 27 2006, Nigel Cunningham wrote:
> > On Tuesday 27 June 2006 15:36, Jens Axboe wrote:
> > > On Tue, Jun 27 2006, Nigel Cunningham wrote:
> > > > On Tuesday 27 June 2006 07:20, Rafael J. Wysocki wrote:
> > > > > On Monday 26 June 2006 18:54, Nigel Cunningham wrote:
> > > > > > Add Suspend2 extent support. Extents are used for storing the
> > > > > > lists of blocks to which the image will be written, and are
> > > > > > stored in the image header for use at resume time.
> > > > >
> > > > > Could you please put all of the changes in kernel/power/extents.c
> > > > > into one patch?  It's quite difficult to review them now, at least
> > > > > for me.
> > > >
> > > > I spent a long time splitting them up because I was asked in previous
> > > > iterations to break them into manageable chunks. How about if I were
> > > > to email you the individual files off line, so as to not send the
> > > > same amount again?
> > >
> > > Managable chunks means logical changes go together, one function per
> > > diff is really extreme and unreviewable. Support for extents is one
> > > logical change, so it's one patch. Unless of course you have to do some
> > > preparatory patches, then you'd do those separately.
> > >
> > > I must admit I thought you were kidding when I read through this
> > > extents patch series, having a single patch just adding includes!
> >
> > Sorry for fluffing it up. I'm pretty inexperienced, but I'm trying to
> > follow CodingStyle and all the other advice. If I'd known I'd
> > misunderstood what was wanted, I probably could have submitted this
> > months ago. Oh well. Live and learn. What would you have me do at this
> > point?
>
> Split up your patches differently, and not in so many steps. Ideally
> each step should work and compile, with each introducing some sort of
> functionality. Each patch should be reviewable on its own.

The difficulty I have there is that suspending to disk doesn't seem to me to 
be something where you can add a bit at a time like that. I do have proc 
entries that allow you to say "Just freeze the processes and prepare the 
metadata, then free it and exit" (freezer_test) and "Do everything but 
actually writing the image and doing the atomic copy, then exit 
(test_filter_speed), for diagnosing problems and tuning the configuration, 
but if I start were to start again with nothing, I'd only write the dynamic 
pageflags code to start with and submit it (giving you lib/dyn_pageflags.c 
and kernel/power/pageflags.c), then the refrigerator changes and the extent 
code and so on. I guess what I'm trying to say is that I'm not mutating 
swsusp into suspend2 here, and I don't think I can. Suspend2 is a 
reimplementation of swsusp, not a series of incremental modifications. It 
uses completely different methods for writing the image, storing the metadata 
and so on. Until recently, the only thing it shared with swsusp was the 
refrigerator and driver model calls, and even now the sharing of lowlevel 
code is only a tiny fraction of all that is done.

Could I ask what might be a dumb question in this regard - why isn't Reiser4 
going through the same process? Is it an indication that I shouldn't have 
submitted these patches and should have just asked Andrew to take Suspend2 
into mm, or is there something different between Reiser4 and Suspend2 that 
I'm missing?

Regards,

Nigel

-- 
See http://www.suspend2.net for Howtos, FAQs, mailing
lists, wiki and bugzilla info.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2006-06-27  7:39 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 [this message]
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
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=200606271739.13453.nigel@suspend2.net \
    --to=nigel@suspend2.net \
    --cc=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --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