All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nigel Cunningham <ncunningham@cyclades.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Daniel Phillips <phillips@arcor.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Memory Management <linux-mm@kvack.org>,
	Hugh Dickins <hugh@veritas.com>,
	Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	Andrea Arcangeli <andrea@suse.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [RFC][patch 0/2] mm: remove PageReserved
Date: Tue, 09 Aug 2005 15:30:13 +1000	[thread overview]
Message-ID: <1123565413.4370.127.camel@localhost> (raw)
In-Reply-To: <42F83D04.7090802@yahoo.com.au>

Hi.

On Tue, 2005-08-09 at 15:20, Nick Piggin wrote:
> Nigel Cunningham wrote:
> > Hi Nick et al.
> > 
> > On Tue, 2005-08-09 at 14:59, Nick Piggin wrote:
> 
> >>>Changing the e820 code so it sets PageNosave instead of PageReserved,
> >>>along with a couple of modifications in swsusp itself should get rid of
> >>>the swsusp dependency.
> >>>
> >>
> >>That would work for swsusp, but there are other users that want to
> >>know if a struct page is valid ram (eg. ioremap), so in that case
> >>swsusp would not be able to mess with the flag.
> > 
> > 
> > Um. Mess with which flag? I guess you mean Reserved. I was saying that
> 
> Mess with PageNosave (if that is what we used to denote a struct page
> not pointing to valid RAM).
> 
> Ie. when swsusp allocates its save map (or whatever it calls it), setting
> PageNosave would make other parts of the kernel think the area is not
> valid ram.

Ok. I guess I should have looked, but I thought the suspend
implementations were the only users of Nosave.

> In other words - we can't combine swsusp's PageNosave with our mythical
> PageValidRAM.
> 
> > imaging Reserved going away, so for the short term I'd be meaning making
> > the e820 set both Nosave and Reserved for those pages (which is what the
> > Suspend2 patches do so as to play nicely with swsusp - I don't use
> > Reserved at all).
> > 
> 
> In the short term, PageReserved can stay around - swsusp does still
> work if I hadn't made that clear.

Yeah.

> By the way - how does swsusp2 handle this problem if not using
> PageReserved?

At the places where Reserved is currently set and cleared, I set and
clear Nosave as well. Then I only use Nosave. Swsusp still works fine
(although I have to comment out a bogus bug_on()) and suspend2 can clear
and set additional pages' Nosave flags while it runs (equivalents to
Pavel's nosave_free pages and also pages allocated for checksumming when
I get paranoid).

Regards,

Nigel
-- 
Evolution.
Enumerate the requirements.
Consider the interdependencies.
Calculate the probabilities.


WARNING: multiple messages have this Message-ID (diff)
From: Nigel Cunningham <ncunningham@cyclades.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Daniel Phillips <phillips@arcor.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Memory Management <linux-mm@kvack.org>,
	Hugh Dickins <hugh@veritas.com>,
	Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	Andrea Arcangeli <andrea@suse.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [RFC][patch 0/2] mm: remove PageReserved
Date: Tue, 09 Aug 2005 15:30:13 +1000	[thread overview]
Message-ID: <1123565413.4370.127.camel@localhost> (raw)
In-Reply-To: <42F83D04.7090802@yahoo.com.au>

Hi.

On Tue, 2005-08-09 at 15:20, Nick Piggin wrote:
> Nigel Cunningham wrote:
> > Hi Nick et al.
> > 
> > On Tue, 2005-08-09 at 14:59, Nick Piggin wrote:
> 
> >>>Changing the e820 code so it sets PageNosave instead of PageReserved,
> >>>along with a couple of modifications in swsusp itself should get rid of
> >>>the swsusp dependency.
> >>>
> >>
> >>That would work for swsusp, but there are other users that want to
> >>know if a struct page is valid ram (eg. ioremap), so in that case
> >>swsusp would not be able to mess with the flag.
> > 
> > 
> > Um. Mess with which flag? I guess you mean Reserved. I was saying that
> 
> Mess with PageNosave (if that is what we used to denote a struct page
> not pointing to valid RAM).
> 
> Ie. when swsusp allocates its save map (or whatever it calls it), setting
> PageNosave would make other parts of the kernel think the area is not
> valid ram.

Ok. I guess I should have looked, but I thought the suspend
implementations were the only users of Nosave.

> In other words - we can't combine swsusp's PageNosave with our mythical
> PageValidRAM.
> 
> > imaging Reserved going away, so for the short term I'd be meaning making
> > the e820 set both Nosave and Reserved for those pages (which is what the
> > Suspend2 patches do so as to play nicely with swsusp - I don't use
> > Reserved at all).
> > 
> 
> In the short term, PageReserved can stay around - swsusp does still
> work if I hadn't made that clear.

Yeah.

> By the way - how does swsusp2 handle this problem if not using
> PageReserved?

At the places where Reserved is currently set and cleared, I set and
clear Nosave as well. Then I only use Nosave. Swsusp still works fine
(although I have to comment out a bogus bug_on()) and suspend2 can clear
and set additional pages' Nosave flags while it runs (equivalents to
Pavel's nosave_free pages and also pages allocated for checksumming when
I get paranoid).

Regards,

Nigel
-- 
Evolution.
Enumerate the requirements.
Consider the interdependencies.
Calculate the probabilities.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2005-08-09  5:30 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-07  3:28 [RFC][patch 0/2] mm: remove PageReserved Nick Piggin
2005-08-07  3:28 ` Nick Piggin
2005-08-07  3:29 ` [patch 1/2] mm: remap ZERO_PAGE mappings Nick Piggin
2005-08-07  3:30   ` [patch 2/2] mm: core remove PageReserved Nick Piggin
2005-08-08 21:09 ` [RFC][patch 0/2] mm: " Daniel Phillips
2005-08-08 21:09   ` Daniel Phillips
2005-08-08 21:24   ` Daniel Phillips
2005-08-08 21:24     ` Daniel Phillips
2005-08-08 21:54     ` Andrew Morton
2005-08-08 21:54       ` Andrew Morton
2005-08-09 23:23       ` [RFC][PATCH] Rename PageChecked as PageMiscFS Daniel Phillips
2005-08-09 23:23         ` Daniel Phillips
2005-08-10  7:48         ` Hugh Dickins
2005-08-10  7:48           ` Hugh Dickins
2005-08-10  8:06           ` Daniel Phillips
2005-08-10  8:06             ` Daniel Phillips
2005-08-10 13:13       ` [RFC][patch 0/2] mm: remove PageReserved David Howells
2005-08-10 13:13         ` David Howells
2005-08-10 13:34         ` Daniel Phillips
2005-08-10 13:34           ` Daniel Phillips
2005-08-10 14:27           ` David Howells
2005-08-10 14:27             ` David Howells
2005-08-10 23:19             ` Daniel Phillips
2005-08-10 23:19               ` Daniel Phillips
2005-08-11 10:49               ` David Howells
2005-08-11 10:49                 ` David Howells
2005-08-12 19:34                 ` Daniel Phillips
2005-08-12 19:34                   ` Daniel Phillips
2005-08-15 13:15                   ` David Howells
2005-08-15 13:15                     ` David Howells
2005-08-16  1:53                     ` Daniel Phillips
2005-08-16  1:53                       ` Daniel Phillips
2005-08-16 10:28                       ` David Howells
2005-08-16 10:28                         ` David Howells
2005-08-10 22:12       ` [RFC][PATCH] Rename PageChecked as PageMiscFS Daniel Phillips
2005-08-10 22:12         ` Daniel Phillips
2005-08-10 22:23         ` Daniel Phillips
2005-08-10 22:23           ` Daniel Phillips
2005-08-10 22:34           ` Trond Myklebust
2005-08-10 22:34             ` Trond Myklebust
2005-08-10 22:57             ` Daniel Phillips
2005-08-10 22:57               ` Daniel Phillips
2005-08-10 23:23               ` Trond Myklebust
2005-08-10 23:23                 ` Trond Myklebust
2005-08-11  9:42                 ` David Howells
2005-08-11  9:42                   ` David Howells
2005-08-10 23:42           ` Adrian Bunk
2005-08-10 23:42             ` Adrian Bunk
2005-08-11  9:46             ` David Howells
2005-08-11  9:46               ` David Howells
2005-08-12  2:34               ` Daniel Phillips
2005-08-12  2:34                 ` Daniel Phillips
2005-08-12 12:32                 ` David Howells
2005-08-11  9:31           ` David Howells
2005-08-11  9:31             ` David Howells
2005-08-11  9:26         ` David Howells
2005-08-11  9:26           ` David Howells
2005-08-12  3:29           ` Daniel Phillips
2005-08-12  3:29             ` Daniel Phillips
2005-08-12 12:41             ` David Howells
2005-08-12 12:41               ` David Howells
2005-08-12 13:28               ` Hugh Dickins
2005-08-12 13:28                 ` Hugh Dickins
2005-08-16 13:59               ` Pavel Machek
2005-08-16 13:59                 ` Pavel Machek
2005-08-18 14:33                 ` David Howells
2005-08-18 14:33                   ` David Howells
2005-08-18 22:27                   ` Pavel Machek
2005-08-18 22:27                     ` Pavel Machek
2005-08-19 10:04                     ` David Howells
2005-08-19 10:04                       ` David Howells
2005-08-19 16:31                       ` Daniel Phillips
2005-08-19 16:31                         ` Daniel Phillips
2005-08-20 10:45                         ` David Howells
2005-08-20 10:45                           ` David Howells
2005-08-20 20:21                           ` Daniel Phillips
2005-08-20 20:21                             ` Daniel Phillips
2005-08-09  0:15   ` [RFC][patch 0/2] mm: remove PageReserved Nick Piggin
2005-08-09  0:15     ` Nick Piggin
2005-08-09  8:51     ` Benjamin Herrenschmidt
2005-08-09  8:51       ` Benjamin Herrenschmidt
2005-08-09  9:49       ` Nick Piggin
2005-08-09  9:49         ` Nick Piggin
2005-08-09 19:19         ` Daniel Phillips
2005-08-09 19:19           ` Daniel Phillips
2005-08-09 19:22         ` Daniel Phillips
2005-08-09 19:22           ` Daniel Phillips
2005-08-10 21:50           ` Pavel Machek
2005-08-10 21:50             ` Pavel Machek
2005-08-10 21:56             ` Martin J. Bligh
2005-08-10 21:56               ` Martin J. Bligh
2005-08-11 10:36               ` Rafael J. Wysocki
2005-08-11 10:36                 ` Rafael J. Wysocki
2005-08-12 19:56                 ` Daniel Phillips
2005-08-12 19:56                   ` Daniel Phillips
2005-08-12 22:20                   ` Rafael J. Wysocki
2005-08-12 22:20                     ` Rafael J. Wysocki
2005-08-12 23:04                     ` Daniel Phillips
2005-08-12 23:04                       ` Daniel Phillips
2005-08-13  7:06                       ` Rafael J. Wysocki
2005-08-13  7:06                         ` Rafael J. Wysocki
2005-08-11 10:26             ` Rafael J. Wysocki
2005-08-11 10:26               ` Rafael J. Wysocki
2005-08-09 11:25       ` Hugh Dickins
2005-08-09 11:25         ` Hugh Dickins
2005-08-09 14:31         ` Benjamin Herrenschmidt
2005-08-09 14:31           ` Benjamin Herrenschmidt
2005-08-09 14:50           ` Hugh Dickins
2005-08-09 14:50             ` Hugh Dickins
2005-08-09 14:49             ` Benjamin Herrenschmidt
2005-08-09 14:49               ` Benjamin Herrenschmidt
2005-08-09 15:36               ` Hugh Dickins
2005-08-09 15:36                 ` Hugh Dickins
2005-08-09 21:27                 ` Daniel Phillips
2005-08-09 21:27                   ` Daniel Phillips
2005-08-09 19:14     ` Daniel Phillips
2005-08-09 19:14       ` Daniel Phillips
2005-08-09 20:17       ` Hugh Dickins
2005-08-09 20:17         ` Hugh Dickins
2005-08-09 20:52         ` Daniel Phillips
2005-08-09 20:52           ` Daniel Phillips
2005-08-09  4:39   ` Nigel Cunningham
2005-08-09  4:39     ` Nigel Cunningham
2005-08-09  4:59     ` Nick Piggin
2005-08-09  4:59       ` Nick Piggin
2005-08-09  5:11       ` Nigel Cunningham
2005-08-09  5:11         ` Nigel Cunningham
2005-08-09  5:20         ` Nick Piggin
2005-08-09  5:20           ` Nick Piggin
2005-08-09  5:30           ` Nigel Cunningham [this message]
2005-08-09  5:30             ` Nigel Cunningham
2005-08-09  7:08       ` Russell King
2005-08-09  7:08         ` Russell King
2005-08-09  8:38         ` Arjan van de Ven
2005-08-09  8:38           ` Arjan van de Ven
2005-08-09  9:31           ` Nick Piggin
2005-08-09  9:31             ` Nick Piggin
2005-08-09  9:49             ` Arjan van de Ven
2005-08-09  9:49               ` Arjan van de Ven
2005-08-09  9:57               ` Nick Piggin
2005-08-09  9:57                 ` Nick Piggin
2005-08-09 10:24             ` Rafael J. Wysocki
2005-08-09 10:24               ` Rafael J. Wysocki
2005-08-09  8:53         ` Benjamin Herrenschmidt
2005-08-09  8:53           ` Benjamin Herrenschmidt
2005-08-09  9:15         ` Hugh Dickins
2005-08-09  9:15           ` Hugh Dickins
2005-08-09 10:27           ` Nick Piggin
2005-08-09 10:27             ` Nick Piggin
2005-08-09 11:15             ` Hugh Dickins
2005-08-09 11:15               ` Hugh Dickins
2005-08-09 13:15               ` Nick Piggin
2005-08-09 13:15                 ` Nick Piggin
2005-08-09 13:26                 ` Arjan van de Ven
2005-08-09 13:26                   ` Arjan van de Ven
2005-08-09 14:28               ` Benjamin Herrenschmidt
2005-08-09 14:28                 ` Benjamin Herrenschmidt
2005-08-09 14:47                 ` Hugh Dickins
2005-08-09 14:47                   ` Hugh Dickins
2005-08-09 19:49           ` Roman Zippel
2005-08-09 19:49             ` Roman Zippel
2005-08-09  9:29         ` Nick Piggin
2005-08-09  9:29           ` Nick Piggin
2005-08-09 19:40           ` Russell King
2005-08-09 19:40             ` Russell King
2005-08-09 14:38         ` Martin J. Bligh
2005-08-09 14:38           ` Martin J. Bligh
2005-08-09 19:41           ` Russell King
2005-08-09 19:41             ` Russell King
2005-08-09 20:51             ` Linus Torvalds
2005-08-09 20:51               ` Linus Torvalds
2005-08-09 21:16             ` Martin J. Bligh
2005-08-09 21:16               ` Martin J. Bligh
2005-08-09 21:51               ` Martin J. Bligh
2005-08-09 21:51                 ` Martin J. Bligh
2005-08-10  9:27             ` Benjamin Herrenschmidt
2005-08-10  9:27               ` Benjamin Herrenschmidt
2005-08-11  9:09               ` Nick Piggin
2005-08-11  9:09                 ` Nick Piggin
2005-08-09 22:14 ` Daniel Phillips

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=1123565413.4370.127.camel@localhost \
    --to=ncunningham@cyclades.com \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=benh@kernel.crashing.org \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=phillips@arcor.de \
    --cc=torvalds@osdl.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.