LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: "Lebedev, Vladimir P" <vladimir.p.lebedev@intel.com>,
"Karasyov, Konstantin A" <konstantin.a.karasyov@intel.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@lists.osdl.org, Andrew Morton <akpm@osdl.org>
Subject: Re: 2.6.19: ACPI reports AC not present after resume from STD
Date: Sun, 25 Feb 2007 19:58:36 +0100 [thread overview]
Message-ID: <200702251958.37315.rjw@sisk.pl> (raw)
In-Reply-To: <200702252014.26110.arvidjaar@mail.ru>
On Sunday, 25 February 2007 18:14, Andrey Borzenkov wrote:
> On Воскресенье 25 февраля 2007, Rafael J. Wysocki wrote:
> > On Sunday, 25 February 2007 11:37, Andrey Borzenkov wrote:
> > > On Воскресенье 25 февраля 2007, Rafael J. Wysocki wrote:
> > > > On Sunday, 25 February 2007 00:26, Andrey Borzenkov wrote:
> > > > > On Суббота 24 февраля 2007, Rafael J. Wysocki wrote:
> > > > > > Hi,
> > > > > >
> > > > > > On Saturday, 24 February 2007 10:55, Andrey Borzenkov wrote:
> > > > > > > On Вторник 13 февраля 2007, Andrey Borzenkov wrote:
> > > > > > > > On Четверг 07 декабря 2006, Lebedev, Vladimir P wrote:
> > > > > > > > > Please register new bug, attach acpidump and dmesg.
> > > > > > > >
> > > > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=7995
> > > > > > > >
> > > > > > > > regards
> > > > > > >
> > > > > > > Well, this starts looking like ACPI is not at fault.
> > > > > > >
> > > > > > > When reporting AC state ACPI just reads contents of system memory
> > > > > > > (I presume it gets updated by BIOS/ACPI when AC state changes).
> > > > > > > It looks like this memory area is restored during resume from
> > > > > > > STD. I updated mentioned bug report with more detailed
> > > > > > > description. Now if someone could suggest a way to catch if
> > > > > > > specific physical address gets saved/restored this would finally
> > > > > > > explain it.
> > > > > >
> > > > > > First, if you want the reserved memory areas to be left alone by
> > > > > > swsusp, you need to mark them as 'nosave'. On x86_64 this is done
> > > > > > by the function e820_mark_nosave_range() in
> > > > > > arch/x86_64/kernel/e820.c that can be ported to i386 with no
> > > > > > problems. However, we haven't found that very useful, so far,
> > > > > > since no one has ever reported any problems with the current
> > > > > > approach, which is to save and restore them.
> > > > >
> > > > > Well, the following proof of concept patch fixes this issue for me.
> > > > > Please notice that original version of e820_mark_nosave_range() could
> > > > > fail to exclude some areas due to alignment issues (exactly what
> > > > > happened to me on first try) so it still can explain your problem
> > > > > too.
> > > >
> > > > Great job, thanks for the patch! It looks good, so I'm going to
> > > > forward it for merging.
> > >
> > > Please no; I'm currently testing slightly more polished version; I will
> > > send it later.
> >
> > OK
> >
> > > Could anybody explain (or give pointer to) what happens which region that
> > > is not page-aligned? In particular, the very first one:
> > >
> > > BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
> > > BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> > >
> > > Will the kernel allocate partial page (how?) or will the kernel ignore
> > > last (first) incomplete page? In the former case how those incomplete
> > > pages can be detected?
> >
> > Well, on x86_64, if I understand e820_register_active_regions() correctly,
> > the partial pages won't be registered.
> >
>
> It appears that for low memory kernel will ignore incomplete pages for sure. I
> hope it does the same for high memory - but for now I just throw this in and
> pray :)
You don't need to do this for highmem, because swsusp won't save reserved
highmem pages anyway.
> This also significantly simplifies patch.
>
> As this touches quite sensitive field, I Cc Andrew - if he considers this
> appropriate for mm; or would you do it as part of your tree? Also he probably
> can easily clarify memory allocation questions :p
The patch looks good, but the changelog does not. First, AFAICT, the x86_64
code doesn't touch anything outside the e820 map. Why do you think it does?
Second, it is not true that the region in question is at 0xee00 on x86_64.
At least on my box it's above the end of RAM.
I think the x86_64 version is correct too.
Greetings,
Rafael
next prev parent reply other threads:[~2007-02-25 19:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <8E389A5F2FEABA4CB1DEC35A25CB39CE82FE9F@mssmsx411>
[not found] ` <200702132116.05404.arvidjaar@mail.ru>
[not found] ` <200702241255.02073.arvidjaar@mail.ru>
2007-02-24 19:46 ` Rafael J. Wysocki
2007-02-24 23:26 ` Andrey Borzenkov
2007-02-25 10:17 ` Rafael J. Wysocki
[not found] ` <200702251337.08914.arvidjaar@mail.ru>
2007-02-25 10:51 ` Rafael J. Wysocki
2007-02-25 17:14 ` Andrey Borzenkov
2007-02-25 18:58 ` Rafael J. Wysocki [this message]
[not found] ` <200702262335.47874.arvidjaar@mail.ru>
2007-02-26 21:23 ` Rafael J. Wysocki
2007-03-05 22:07 ` Rafael J. Wysocki
2007-03-08 7:51 ` Andrey Borzenkov
2007-05-19 18:03 ` Andrey Borzenkov
2006-12-03 12:25 Andrey Borzenkov
2006-12-03 13:11 ` Pavel Machek
2006-12-03 13:52 ` Andrey Borzenkov
2006-12-03 14:35 ` Alexey Starikovskiy
2006-12-03 16:00 ` Andrey Borzenkov
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=200702251958.37315.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@osdl.org \
--cc=arvidjaar@mail.ru \
--cc=konstantin.a.karasyov@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.org \
--cc=vladimir.p.lebedev@intel.com \
--subject='Re: 2.6.19: ACPI reports AC not present after resume from STD' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).