public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Nigel Cunningham <ncunningham@linuxmail.org>
Cc: Andrew Morton <akpm@osdl.org>,
	LKML <linux-kernel@vger.kernel.org>, Pavel Machek <pavel@ucw.cz>
Subject: Re: [PATCH] Use extents for recording what swap is allocated.
Date: Wed, 25 Oct 2006 00:45:38 +0200	[thread overview]
Message-ID: <200610250045.38812.rjw@sisk.pl> (raw)
In-Reply-To: <1161727981.22729.18.camel@nigel.suspend2.net>

Hi,

On Wednesday, 25 October 2006 00:13, Nigel Cunningham wrote:
> Hi.
> 
> On Tue, 2006-10-24 at 22:08 +0200, Rafael J. Wysocki wrote:
> > On Monday, 23 October 2006 06:14, Nigel Cunningham wrote:
> > > Switch from bitmaps to using extents to record what swap is allocated;
> > > they make more efficient use of memory, particularly where the allocated
> > > storage is small and the swap space is large.
> > 
> > As I said before, I like the overall idea, but I have a bunch of comments.
> 
> Thanks for them. Just a quick reply for the moment to say they're
> appreciated and I will revise accordingly.
> 
> I should also mention that this isn't the only use of these functions in
> Suspend2.

Could we please focus on things that are on the table _now_?.  You are
submitting the patch aganist the current code and I can only review it
in this context.  I can't say if I like your _future_ patches at this moment! :-)

> There I also use extents to record the blocks to which the 
> image will be written. I hope to submit modifications to swsusp to do
> that too in the near future.
> 
> > > +/* Simplify iterating through all the values in an extent chain */
> > > +#define suspend_extent_for_each(extent_chain, extentpointer, value) \
> > > +if ((extent_chain)->first) \
> > > +	for ((extentpointer) = (extent_chain)->first, (value) = \
> > > +			(extentpointer)->minimum; \
> > > +	     ((extentpointer) && ((extentpointer)->next || (value) <= \
> > > +				 (extentpointer)->maximum)); \
> > > +	     (((value) == (extentpointer)->maximum) ? \
> > > +		((extentpointer) = (extentpointer)->next, (value) = \
> > > +		 ((extentpointer) ? (extentpointer)->minimum : 0)) : \
> > > +			(value)++))
> > 
> > This macro doesn't look very nice and is used only once, so I think you
> > can drop it and just write the loop where it belongs.
> 
> With the modifications I mentioned just above, this would also be used
> for getting the blocks which match each swap extent. I can remove the
> macro, but just want to make you aware that it does serve a purpose,
> you're just not seeing it fully yet.

Can we just assume there are no other patches and proceed under this
assumption?

Could you please remove the macro for now?  You can introduce it with the
other patches when you submit them (if it's still needed at that time).

Greetings,
Rafael


-- 
You never change things by fighting the existing reality.
		R. Buckminster Fuller

  reply	other threads:[~2006-10-24 22:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-23  4:14 [PATCH] Use extents for recording what swap is allocated Nigel Cunningham
2006-10-23 15:32 ` Pavel Machek
2006-10-23 23:04   ` Nigel Cunningham
2006-10-24  8:43     ` Rafael J. Wysocki
2006-10-24 20:08 ` Rafael J. Wysocki
2006-10-24 21:34   ` Pavel Machek
2006-10-24 21:58     ` Rafael J. Wysocki
2006-10-24 22:15     ` Nigel Cunningham
2006-10-24 22:19       ` Pavel Machek
2006-10-24 22:30         ` Nigel Cunningham
2006-10-25  8:11           ` Pavel Machek
2006-10-25  8:28             ` Nigel Cunningham
2006-10-25  8:42               ` Pavel Machek
2006-10-25  9:01                 ` Nigel Cunningham
2006-10-25  9:10                   ` Pavel Machek
2006-10-25 10:05                     ` Nigel Cunningham
2006-10-25 12:46                       ` Rafael J. Wysocki
2006-10-27 11:37                       ` Pavel Machek
2006-10-24 22:13   ` Nigel Cunningham
2006-10-24 22:45     ` Rafael J. Wysocki [this message]
2006-10-24 23:05       ` Nigel Cunningham
2006-10-31 11:39   ` Nigel Cunningham
2006-10-24 20:42 ` Christoph Hellwig
2006-10-24 20:58   ` Rafael J. Wysocki
2006-10-24 22:06   ` Nigel Cunningham
2006-10-24 22:47     ` Christoph Hellwig
2006-10-24 23:03       ` Nigel Cunningham
2006-10-25  9:17     ` Jens Axboe
2006-10-25 10:07       ` Nigel Cunningham
2006-10-25 10:20         ` Jens Axboe
2006-10-31 11:38   ` Nigel Cunningham
2006-11-01 12:36     ` Pavel Machek
2006-11-01 21:19       ` 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=200610250045.38812.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ncunningham@linuxmail.org \
    --cc=pavel@ucw.cz \
    /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