Hi,
I just updated my git repository to the master branch of the latest
linux-mips git repository, and tested the STD/Hibernation support on
fuloong2e and yeeloong2f, it failed:
when using the no_console_suspend kernel command line to debug, it
stopped on:
PM: Shringking memory... done (1000 pages freed)
PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
PM: Creating hibernation image:
PM: Need to copy 5053 pages
PM: Hibernation image created (4195 pages copied)
and then, the number indicator light of keyboard works well, but can not
type anything.
anybody have tested it on another platform? does it work?
Regards,
Wu Zhangjin
On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
> I just updated my git repository to the master branch of the latest
> linux-mips git repository, and tested the STD/Hibernation support on
> fuloong2e and yeeloong2f, it failed:
>
> when using the no_console_suspend kernel command line to debug, it
> stopped on:
>
> PM: Shringking memory... done (1000 pages freed)
> PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> PM: Creating hibernation image:
> PM: Need to copy 5053 pages
> PM: Hibernation image created (4195 pages copied)
>
> and then, the number indicator light of keyboard works well, but can not
> type anything.
>
> anybody have tested it on another platform? does it work?
At the time of the merge I tested it on Malta and found it to be working.
Ralf
On Tue, 2009-06-30 at 15:45 +0100, Ralf Baechle wrote:
> On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
>
> > I just updated my git repository to the master branch of the latest
> > linux-mips git repository, and tested the STD/Hibernation support on
> > fuloong2e and yeeloong2f, it failed:
> >
> > when using the no_console_suspend kernel command line to debug, it
> > stopped on:
> >
> > PM: Shringking memory... done (1000 pages freed)
> > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > PM: Creating hibernation image:
> > PM: Need to copy 5053 pages
> > PM: Hibernation image created (4195 pages copied)
> >
> > and then, the number indicator light of keyboard works well, but can not
> > type anything.
> >
> > anybody have tested it on another platform? does it work?
>
> At the time of the merge I tested it on Malta and found it to be working.
thanks! I will test it again and analyze why.
hi, ralf, in the latest master branch of linux-mips git repo, seems
there is a need to select the SYS_SUPPORTS_HOTPLUG_CPU option in every
uni-processor board, otherwise, the suspend/hibernation can not be used,
because you have set:
config ARCH_HIBERNATION_POSSIBLE
def_bool y
depends on SYS_SUPPORTS_HOTPLUG_CPU
config ARCH_SUSPEND_POSSIBLE
def_bool y
depends on SYS_SUPPORTS_HOTPLUG_CPU
so, the board-specific patch must be pushed by the maintainers of
boards. and if the board support SMP, they must implement the
mips-specific hotplug support, is this right? I have selected
SYS_SUPPORTS_HOTPLUG_CPU in LEMOTE_FULONG and will push a relative patch
later.
Regards,
Wu Zhangjin
Wu Zhangjin ะด??:
> Hi,
>
> I just updated my git repository to the master branch of the latest
> linux-mips git repository, and tested the STD/Hibernation support on
> fuloong2e and yeeloong2f, it failed:
>
> when using the no_console_suspend kernel command line to debug, it
> stopped on:
>
> PM: Shringking memory... done (1000 pages freed)
> PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> PM: Creating hibernation image:
> PM: Need to copy 5053 pages
> PM: Hibernation image created (4195 pages copied)
>
> and then, the number indicator light of keyboard works well, but can not
> type anything.
>
>
Are there any other information about it? such as: it just freezes
there, or IDE irq lost messages after some time?
Is it duplicable every time?
> anybody have tested it on another platform? does it work?
>
> Regards,
> Wu Zhangjin
>
>
>
>
On Wed, 2009-07-01 at 08:19 +0800, yanhua wrote:
> Wu Zhangjin ๅ้:
> > Hi,
> >
> > I just updated my git repository to the master branch of the latest
> > linux-mips git repository, and tested the STD/Hibernation support on
> > fuloong2e and yeeloong2f, it failed:
> >
> > when using the no_console_suspend kernel command line to debug, it
> > stopped on:
> >
> > PM: Shringking memory... done (1000 pages freed)
> > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > PM: Creating hibernation image:
> > PM: Need to copy 5053 pages
> > PM: Hibernation image created (4195 pages copied)
> >
> > and then, the number indicator light of keyboard works well, but can not
> > type anything.
> >
> >
> Are there any other information about it? such as: it just freezes
> there, or IDE irq lost messages after some time?
>
> Is it duplicable every time?
Yes, it is reproductive, I'm tracing it!
Thanks!
On Tue, 2009-06-30 at 15:45 +0100, Ralf Baechle wrote:
> On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
>
> > I just updated my git repository to the master branch of the latest
> > linux-mips git repository, and tested the STD/Hibernation support on
> > fuloong2e and yeeloong2f, it failed:
> >
> > when using the no_console_suspend kernel command line to debug, it
> > stopped on:
> >
> > PM: Shringking memory... done (1000 pages freed)
> > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > PM: Creating hibernation image:
> > PM: Need to copy 5053 pages
> > PM: Hibernation image created (4195 pages copied)
> >
> > and then, the number indicator light of keyboard works well, but can not
> > type anything.
> >
> > anybody have tested it on another platform? does it work?
>
> At the time of the merge I tested it on Malta and found it to be working.
>
Just traced it, the executing path is something like this:
hibernate(kernel/power/hibernate.c)
--> hibernation_snapshot
--> dpm_resume_end
--> dpm_resume
--> device_resume
--> dev->bus->resume(generic_ide_resume), dev_name(dev) = 0.0
--> blk_execute_rq
{
DECLARE_COMPLETION_ONSTACK(wait);
...
wait_for_completion(&wait); // stop here
...
}
I guess there is a possible bug in the latest ide patches, I'm trying to
find which one is 'bad'.
the ide driver i used is VIA82CXXX chipset support.
Regards,
Wu Zhangjin
On Wed, 2009-07-01 at 15:16 +0800, Wu Zhangjin wrote:
> On Tue, 2009-06-30 at 15:45 +0100, Ralf Baechle wrote:
> > On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
> >
> > > I just updated my git repository to the master branch of the latest
> > > linux-mips git repository, and tested the STD/Hibernation support on
> > > fuloong2e and yeeloong2f, it failed:
> > >
> > > when using the no_console_suspend kernel command line to debug, it
> > > stopped on:
> > >
> > > PM: Shringking memory... done (1000 pages freed)
> > > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > > PM: Creating hibernation image:
> > > PM: Need to copy 5053 pages
> > > PM: Hibernation image created (4195 pages copied)
> > >
> > > and then, the number indicator light of keyboard works well, but can not
> > > type anything.
> > >
> > > anybody have tested it on another platform? does it work?
> >
> > At the time of the merge I tested it on Malta and found it to be working.
> >
>
> Just traced it, the executing path is something like this:
>
> hibernate(kernel/power/hibernate.c)
> --> hibernation_snapshot
> --> dpm_resume_end
> --> dpm_resume
> --> device_resume
> --> dev->bus->resume(generic_ide_resume), dev_name(dev) = 0.0
> --> blk_execute_rq
> {
> DECLARE_COMPLETION_ONSTACK(wait);
> ...
> wait_for_completion(&wait); // stop here
> ...
> }
>
> I guess there is a possible bug in the latest ide patches, I'm trying to
> find which one is 'bad'.
>
There is really a bug in one of ide patches, here it is:
commit a1317f714af7aed60ddc182d0122477cbe36ee9b
Author: Bartlomiej Zolnierkiewicz <[email protected]>
Date: Tue Jun 23 23:52:17 2009 -0700
ide: improve handling of Power Management requests
Make hwif->rq point to PM request during PM sequence and do not
allow
any other types of requests to slip in (the old comment was never
correct
as there should be no such requests generated during PM sequence).
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
I have reverted this part of the above patch, seems works, need more
tests:
-
- WARN_ON_ONCE(hwif->rq);
repeat:
prev_port = hwif->host->cur_port;
+
+ if (drive->dev_flags & IDE_DFLAG_BLOCKED)
+ rq = hwif->rq;
+ else
+ WARN_ON_ONCE(hwif->rq);
+
please get more information from this bug report:
[Bug #13663] suspend to ram regression (IDE related)
http://lkml.org/lkml/2009/6/29/341
Regards!
Wu Zhangjin
On Tue, Jun 30, 2009 at 11:11:27PM +0800, Wu Zhangjin wrote:
> hi, ralf, in the latest master branch of linux-mips git repo, seems
> there is a need to select the SYS_SUPPORTS_HOTPLUG_CPU option in every
> uni-processor board, otherwise, the suspend/hibernation can not be used,
> because you have set:
>
> config ARCH_HIBERNATION_POSSIBLE
> def_bool y
> depends on SYS_SUPPORTS_HOTPLUG_CPU
>
> config ARCH_SUSPEND_POSSIBLE
> def_bool y
> depends on SYS_SUPPORTS_HOTPLUG_CPU
>
> so, the board-specific patch must be pushed by the maintainers of
> boards. and if the board support SMP, they must implement the
> mips-specific hotplug support, is this right? I have selected
> SYS_SUPPORTS_HOTPLUG_CPU in LEMOTE_FULONG and will push a relative patch
> later.
I think below patch should take care of this problem. It simply assumes
that all uniprocessor systems support suspend and hibernate. That's an
assumption that I'm not to unhappy with though it may force us to fix a
few systems.
Ralf
Signed-off-by: Ralf Baechle <[email protected]>
arch/mips/Kconfig | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index df1a92a..3ca0fe1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2168,11 +2168,11 @@ menu "Power management options"
config ARCH_HIBERNATION_POSSIBLE
def_bool y
- depends on SYS_SUPPORTS_HOTPLUG_CPU
+ depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
config ARCH_SUSPEND_POSSIBLE
def_bool y
- depends on SYS_SUPPORTS_HOTPLUG_CPU
+ depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
source "kernel/power/Kconfig"
On Wed, 2009-07-01 at 19:07 +0100, Ralf Baechle wrote:
> On Tue, Jun 30, 2009 at 11:11:27PM +0800, Wu Zhangjin wrote:
>
> > hi, ralf, in the latest master branch of linux-mips git repo, seems
> > there is a need to select the SYS_SUPPORTS_HOTPLUG_CPU option in every
> > uni-processor board, otherwise, the suspend/hibernation can not be used,
> > because you have set:
> >
> > config ARCH_HIBERNATION_POSSIBLE
> > def_bool y
> > depends on SYS_SUPPORTS_HOTPLUG_CPU
> >
> > config ARCH_SUSPEND_POSSIBLE
> > def_bool y
> > depends on SYS_SUPPORTS_HOTPLUG_CPU
> >
> > so, the board-specific patch must be pushed by the maintainers of
> > boards. and if the board support SMP, they must implement the
> > mips-specific hotplug support, is this right? I have selected
> > SYS_SUPPORTS_HOTPLUG_CPU in LEMOTE_FULONG and will push a relative patch
> > later.
>
> I think below patch should take care of this problem. It simply assumes
> that all uniprocessor systems support suspend and hibernate. That's an
> assumption that I'm not to unhappy with though it may force us to fix a
> few systems.
>
This patch is better.
Thanks!
Wu Zhangjin
> Ralf
>
> Signed-off-by: Ralf Baechle <[email protected]>
>
> arch/mips/Kconfig | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index df1a92a..3ca0fe1 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -2168,11 +2168,11 @@ menu "Power management options"
>
> config ARCH_HIBERNATION_POSSIBLE
> def_bool y
> - depends on SYS_SUPPORTS_HOTPLUG_CPU
> + depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
>
> config ARCH_SUSPEND_POSSIBLE
> def_bool y
> - depends on SYS_SUPPORTS_HOTPLUG_CPU
> + depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
>
> source "kernel/power/Kconfig"
>
On Wed 2009-07-01 19:07:15, Ralf Baechle wrote:
> On Tue, Jun 30, 2009 at 11:11:27PM +0800, Wu Zhangjin wrote:
>
> > hi, ralf, in the latest master branch of linux-mips git repo, seems
> > there is a need to select the SYS_SUPPORTS_HOTPLUG_CPU option in every
> > uni-processor board, otherwise, the suspend/hibernation can not be used,
> > because you have set:
> >
> > config ARCH_HIBERNATION_POSSIBLE
> > def_bool y
> > depends on SYS_SUPPORTS_HOTPLUG_CPU
> >
> > config ARCH_SUSPEND_POSSIBLE
> > def_bool y
> > depends on SYS_SUPPORTS_HOTPLUG_CPU
> >
> > so, the board-specific patch must be pushed by the maintainers of
> > boards. and if the board support SMP, they must implement the
> > mips-specific hotplug support, is this right? I have selected
> > SYS_SUPPORTS_HOTPLUG_CPU in LEMOTE_FULONG and will push a relative patch
> > later.
>
> I think below patch should take care of this problem. It simply assumes
> that all uniprocessor systems support suspend and hibernate. That's an
> assumption that I'm not to unhappy with though it may force us to fix a
> few systems.
>
> Ralf
>
> Signed-off-by: Ralf Baechle <[email protected]>
Acked-by: Pavel Machek <[email protected]>
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
On Thu, Jul 02, 2009 at 09:04:07AM +0800, Wu Zhangjin wrote:
> > > hi, ralf, in the latest master branch of linux-mips git repo, seems
> > > there is a need to select the SYS_SUPPORTS_HOTPLUG_CPU option in every
> > > uni-processor board, otherwise, the suspend/hibernation can not be used,
> > > because you have set:
> > >
> > > config ARCH_HIBERNATION_POSSIBLE
> > > def_bool y
> > > depends on SYS_SUPPORTS_HOTPLUG_CPU
> > >
> > > config ARCH_SUSPEND_POSSIBLE
> > > def_bool y
> > > depends on SYS_SUPPORTS_HOTPLUG_CPU
> > >
> > > so, the board-specific patch must be pushed by the maintainers of
> > > boards. and if the board support SMP, they must implement the
> > > mips-specific hotplug support, is this right? I have selected
> > > SYS_SUPPORTS_HOTPLUG_CPU in LEMOTE_FULONG and will push a relative patch
> > > later.
> >
> > I think below patch should take care of this problem. It simply assumes
> > that all uniprocessor systems support suspend and hibernate. That's an
> > assumption that I'm not to unhappy with though it may force us to fix a
> > few systems.
> >
>
> This patch is better.
>
> Thanks!
> Wu Zhangjin
Thanks, patch applied.
You're welcome!
Ralf