* Re: [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
[not found] <201009292313.23601.rjw@sisk.pl>
@ 2010-09-29 21:21 ` Nigel Cunningham
[not found] ` <4CA3ADED.6090908@tuxonice.net>
1 sibling, 0 replies; 6+ messages in thread
From: Nigel Cunningham @ 2010-09-29 21:21 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: Linux-pm mailing list, LKML
Hi.
On 30/09/10 07:13, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki<rjw@sisk.pl>
> Subject: PM / Hibernate: Modify signature used to mark swap
>
> Since we are adding compression to the kernel's hibernate code,
> change signature used by it to mark swap spaces, so that earlier
> kernels don't attempt to restore compressed images they cannot
> handle.
>
> Signed-off-by: Rafael J. Wysocki<rjw@sisk.pl>
> ---
> kernel/power/swap.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> Index: linux-2.6/kernel/power/swap.c
> ===================================================================
> --- linux-2.6.orig/kernel/power/swap.c
> +++ linux-2.6/kernel/power/swap.c
> @@ -29,7 +29,7 @@
>
> #include "power.h"
>
> -#define SWSUSP_SIG "S1SUSPEND"
> +#define HIBERNATE_SIG "LINHIB0001"
>
> /*
> * The swap map is a data structure used for keeping track of each page
> @@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
> if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
> !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
> memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
if no compression
> - memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
else
> + memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
??
> swsusp_header->image = handle->first_sector;
> swsusp_header->flags = flags;
> error = hib_bio_write_page(swsusp_resume_block,
> @@ -916,7 +916,7 @@ int swsusp_check(void)
> if (error)
> goto put;
>
> - if (!memcmp(SWSUSP_SIG, swsusp_header->sig, 10)) {
> + if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) {
Reset the signature in either case?
> memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10);
> /* Reset swap signature now */
> error = hib_bio_write_page(swsusp_resume_block,
>
Regards,
Nigel
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <4CA3ADED.6090908@tuxonice.net>]
* Re: [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
[not found] ` <4CA3ADED.6090908@tuxonice.net>
@ 2010-09-29 22:02 ` Rafael J. Wysocki
2010-10-02 20:44 ` Nigel Cunningham
2010-10-04 17:56 ` Pavel Machek
0 siblings, 2 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2010-09-29 22:02 UTC (permalink / raw)
To: Nigel Cunningham; +Cc: Linux-pm mailing list, LKML
On Wednesday, September 29, 2010, Nigel Cunningham wrote:
> Hi.
>
> On 30/09/10 07:13, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki<rjw@sisk.pl>
> > Subject: PM / Hibernate: Modify signature used to mark swap
> >
> > Since we are adding compression to the kernel's hibernate code,
> > change signature used by it to mark swap spaces, so that earlier
> > kernels don't attempt to restore compressed images they cannot
> > handle.
> >
> > Signed-off-by: Rafael J. Wysocki<rjw@sisk.pl>
> > ---
> > kernel/power/swap.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > Index: linux-2.6/kernel/power/swap.c
> > ===================================================================
> > --- linux-2.6.orig/kernel/power/swap.c
> > +++ linux-2.6/kernel/power/swap.c
> > @@ -29,7 +29,7 @@
> >
> > #include "power.h"
> >
> > -#define SWSUSP_SIG "S1SUSPEND"
> > +#define HIBERNATE_SIG "LINHIB0001"
> >
> > /*
> > * The swap map is a data structure used for keeping track of each page
> > @@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
> > if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
> > !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
> > memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
>
> if no compression
>
> > - memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
>
> else
>
> > + memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
>
> ??
I thought about that, but we'll need to drop the old signature when the image
format changes (I think it will after your patch series) anyway. And the
benefit is not really worth it IMO (it only affects people using the in-kernel
hibernation on x86-64).
Thanks,
Rafael
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
2010-09-29 22:02 ` Rafael J. Wysocki
@ 2010-10-02 20:44 ` Nigel Cunningham
2010-10-02 21:41 ` Rafael J. Wysocki
2010-10-04 17:56 ` Pavel Machek
1 sibling, 1 reply; 6+ messages in thread
From: Nigel Cunningham @ 2010-10-02 20:44 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: Linux-pm mailing list, LKML
Hi.
On 30/09/10 08:02, Rafael J. Wysocki wrote:
> On Wednesday, September 29, 2010, Nigel Cunningham wrote:
>> Hi.
>>
>> On 30/09/10 07:13, Rafael J. Wysocki wrote:
>>> From: Rafael J. Wysocki<rjw@sisk.pl>
>>> Subject: PM / Hibernate: Modify signature used to mark swap
>>>
>>> Since we are adding compression to the kernel's hibernate code,
>>> change signature used by it to mark swap spaces, so that earlier
>>> kernels don't attempt to restore compressed images they cannot
>>> handle.
>>>
>>> Signed-off-by: Rafael J. Wysocki<rjw@sisk.pl>
>>> ---
>>> kernel/power/swap.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> Index: linux-2.6/kernel/power/swap.c
>>> ===================================================================
>>> --- linux-2.6.orig/kernel/power/swap.c
>>> +++ linux-2.6/kernel/power/swap.c
>>> @@ -29,7 +29,7 @@
>>>
>>> #include "power.h"
>>>
>>> -#define SWSUSP_SIG "S1SUSPEND"
>>> +#define HIBERNATE_SIG "LINHIB0001"
>>>
>>> /*
>>> * The swap map is a data structure used for keeping track of each page
>>> @@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
>>> if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
>>> !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
>>> memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
>>
>> if no compression
>>
>>> - memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
>>
>> else
>>
>>> + memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
>>
>> ??
>
> I thought about that, but we'll need to drop the old signature when the image
> format changes (I think it will after your patch series) anyway. And the
> benefit is not really worth it IMO (it only affects people using the in-kernel
> hibernation on x86-64).
Okay. I'm just a little weary because if everything I want to get in
gets in, we're going to then be changing this signature multiple times.
I want to eventually reach a situation where we have a 'proper' header
section to the image that stores (among other things) whether
compression is enabled and which cryptoapi algorithm is used, allowing a
person to en/disable compression at runtime without recompiling or
rebooting. I suppose if I seek to put that stuff in earlier rather than
later, that will simplify things.
Oh, while I'm writing to you: let's not worry about getting my patches
in for 2.6.37. I won't be working on them much today, and want to put
the time into making sure they're right before they get merged. As you
said - let's seek to get things right first time.
Regards,
Nigel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
2010-10-02 20:44 ` Nigel Cunningham
@ 2010-10-02 21:41 ` Rafael J. Wysocki
0 siblings, 0 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2010-10-02 21:41 UTC (permalink / raw)
To: Nigel Cunningham; +Cc: Linux-pm mailing list, LKML
On Saturday, October 02, 2010, Nigel Cunningham wrote:
> Hi.
>
> On 30/09/10 08:02, Rafael J. Wysocki wrote:
> > On Wednesday, September 29, 2010, Nigel Cunningham wrote:
> >> Hi.
> >>
> >> On 30/09/10 07:13, Rafael J. Wysocki wrote:
> >>> From: Rafael J. Wysocki<rjw@sisk.pl>
> >>> Subject: PM / Hibernate: Modify signature used to mark swap
> >>>
> >>> Since we are adding compression to the kernel's hibernate code,
> >>> change signature used by it to mark swap spaces, so that earlier
> >>> kernels don't attempt to restore compressed images they cannot
> >>> handle.
> >>>
> >>> Signed-off-by: Rafael J. Wysocki<rjw@sisk.pl>
> >>> ---
> >>> kernel/power/swap.c | 6 +++---
> >>> 1 file changed, 3 insertions(+), 3 deletions(-)
> >>>
> >>> Index: linux-2.6/kernel/power/swap.c
> >>> ===================================================================
> >>> --- linux-2.6.orig/kernel/power/swap.c
> >>> +++ linux-2.6/kernel/power/swap.c
> >>> @@ -29,7 +29,7 @@
> >>>
> >>> #include "power.h"
> >>>
> >>> -#define SWSUSP_SIG "S1SUSPEND"
> >>> +#define HIBERNATE_SIG "LINHIB0001"
> >>>
> >>> /*
> >>> * The swap map is a data structure used for keeping track of each page
> >>> @@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
> >>> if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
> >>> !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
> >>> memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
> >>
> >> if no compression
> >>
> >>> - memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
> >>
> >> else
> >>
> >>> + memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
> >>
> >> ??
> >
> > I thought about that, but we'll need to drop the old signature when the image
> > format changes (I think it will after your patch series) anyway. And the
> > benefit is not really worth it IMO (it only affects people using the in-kernel
> > hibernation on x86-64).
>
> Okay. I'm just a little weary because if everything I want to get in
> gets in, we're going to then be changing this signature multiple times.
That most likely is correct.
> I want to eventually reach a situation where we have a 'proper' header
> section to the image that stores (among other things) whether
> compression is enabled and which cryptoapi algorithm is used, allowing a
> person to en/disable compression at runtime without recompiling or
> rebooting. I suppose if I seek to put that stuff in earlier rather than
> later, that will simplify things.
I don't have a problem with changing the signature. If the image format
changes, it's probably the best we can do.
> Oh, while I'm writing to you: let's not worry about getting my patches
> in for 2.6.37. I won't be working on them much today, and want to put
> the time into making sure they're right before they get merged. As you
> said - let's seek to get things right first time.
OK
Thanks,
Rafael
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
2010-09-29 22:02 ` Rafael J. Wysocki
2010-10-02 20:44 ` Nigel Cunningham
@ 2010-10-04 17:56 ` Pavel Machek
1 sibling, 0 replies; 6+ messages in thread
From: Pavel Machek @ 2010-10-04 17:56 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: Linux-pm mailing list, LKML
> > > Index: linux-2.6/kernel/power/swap.c
> > > ===================================================================
> > > --- linux-2.6.orig/kernel/power/swap.c
> > > +++ linux-2.6/kernel/power/swap.c
> > > @@ -29,7 +29,7 @@
> > >
> > > #include "power.h"
> > >
> > > -#define SWSUSP_SIG "S1SUSPEND"
> > > +#define HIBERNATE_SIG "LINHIB0001"
> > >
> > > /*
> > > * The swap map is a data structure used for keeping track of each page
> > > @@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
> > > if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
> > > !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
> > > memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
> >
> > if no compression
> >
> > > - memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
> >
> > else
> >
> > > + memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
> >
> > ??
>
> I thought about that, but we'll need to drop the old signature when the image
> format changes (I think it will after your patch series) anyway. And the
> benefit is not really worth it IMO (it only affects people using the in-kernel
> hibernation on x86-64).
>
ACK. Lets keep this simple.
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap
@ 2010-09-29 21:13 Rafael J. Wysocki
0 siblings, 0 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2010-09-29 21:13 UTC (permalink / raw)
To: Linux-pm mailing list; +Cc: LKML
From: Rafael J. Wysocki <rjw@sisk.pl>
Subject: PM / Hibernate: Modify signature used to mark swap
Since we are adding compression to the kernel's hibernate code,
change signature used by it to mark swap spaces, so that earlier
kernels don't attempt to restore compressed images they cannot
handle.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
kernel/power/swap.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: linux-2.6/kernel/power/swap.c
===================================================================
--- linux-2.6.orig/kernel/power/swap.c
+++ linux-2.6/kernel/power/swap.c
@@ -29,7 +29,7 @@
#include "power.h"
-#define SWSUSP_SIG "S1SUSPEND"
+#define HIBERNATE_SIG "LINHIB0001"
/*
* The swap map is a data structure used for keeping track of each page
@@ -195,7 +195,7 @@ static int mark_swapfiles(struct swap_ma
if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) ||
!memcmp("SWAPSPACE2",swsusp_header->sig, 10)) {
memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10);
- memcpy(swsusp_header->sig,SWSUSP_SIG, 10);
+ memcpy(swsusp_header->sig, HIBERNATE_SIG, 10);
swsusp_header->image = handle->first_sector;
swsusp_header->flags = flags;
error = hib_bio_write_page(swsusp_resume_block,
@@ -916,7 +916,7 @@ int swsusp_check(void)
if (error)
goto put;
- if (!memcmp(SWSUSP_SIG, swsusp_header->sig, 10)) {
+ if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) {
memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10);
/* Reset swap signature now */
error = hib_bio_write_page(swsusp_resume_block,
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-10-04 17:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <201009292313.23601.rjw@sisk.pl>
2010-09-29 21:21 ` [RFC][PATCH] PM / Hibernate: Modify signature used to mark swap Nigel Cunningham
[not found] ` <4CA3ADED.6090908@tuxonice.net>
2010-09-29 22:02 ` Rafael J. Wysocki
2010-10-02 20:44 ` Nigel Cunningham
2010-10-02 21:41 ` Rafael J. Wysocki
2010-10-04 17:56 ` Pavel Machek
2010-09-29 21:13 Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox