Re: in_suspend and __nosave

From: Rafael J. Wysocki
Date: Thu Apr 30 2009 - 18:10:00 EST


On Thursday 30 April 2009, Sam Ravnborg wrote:
> Hi Rafael & Linus.

Hi,

> While unifying vmlinux.lds for x86 I stumbled
> over the .data.nosave section.
>
> Searching a bit I found only a single user:
>
> swsusp.c:int in_suspend __nosavedata = 0;
>
> Do we really needs all this complexity for this single integer?
> We have this section defined in several arch lds files.
>
> I understand that in_suspend is special as in that we do not
> want the value restored while resuming.
> But is there no other way to do so today?

On x86-64 we can probably get rid of it, a little code rework is needed for
this purpose. Unfortunately some more work is required to do the same
thing on x86-32.

> All I want is to kill a lot from the vmlinux.lds files.

Well, removing the __nosavedata is on my todo list, but not on the top of it.

> It also occur to me that only: x86, powerpc, and sh
> implement pfn_is_nosave() which I think is the only
> place where we decide if we want to save a page or not.
>
> But we define the .data.nosave section in following
> architectures:
> arm, m32r, mips, mn10300, parisc, s390 in addition
> to the above archs that define pfn_is_nosave().
> Is this something to be cleaned up?

Yes, it is.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/