[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110105195816.31457a59@mat-laptop>
Date: Wed, 5 Jan 2011 19:58:16 +0100
From: matthieu castet <castet.matthieu@...e.fr>
To: Lin Ming <ming.m.lin@...el.com>
Cc: Andi Kleen <andi@...stfloor.org>,
Peter Zijlstra <peterz@...radead.org>,
Siarhei Liakh <sliakh.lkml@...il.com>,
Xuxian Jiang <jiang@...ncsu.edu>, Ingo Molnar <mingo@...e.hu>,
Arjan van de Ven <arjan@...radead.org>,
lkml <linux-kernel@...r.kernel.org>, tglx <tglx@...utronix.de>
Subject: Re: -tip tree resume fail, bisect to 5bd5a45(x86: Add NX protection
for kernel data)
Le Mon, 27 Dec 2010 10:10:50 +0800,
Lin Ming <ming.m.lin@...el.com> a écrit :
> On Sat, 2010-12-25 at 01:26 +0800, matthieu castet wrote:
> > Hi,
> >
> > Le Tue, 30 Nov 2010 13:00:30 +0800,
> > Lin Ming <ming.m.lin@...el.com> a écrit :
> >
> > > On Sat, 2010-11-27 at 01:31 +0800, mat wrote:
> > > > Le Tue, 23 Nov 2010 23:55:27 +0100,
> > > > mat <castet.matthieu@...e.fr> a écrit :
> > > >
> > > > > Le Mon, 22 Nov 2010 17:42:47 +0100,
> > > > > Andi Kleen <andi@...stfloor.org> a écrit :
> > > > >
> > > > > > > That seems to be a S3 specific code path, that won't fix
> > > > > > > anything. Simply do:
> > > > > > >
> > > > > > > echo 0 > /sys/devices/system/cpu/cpu1/online;
> > > > > > > echo 1 > /sys/devices/system/cpu/cpu1/online;
> > > > > > >
> > > > > > > and your machine will explode..
> > > > > >
> > > > > > The SMP startup trampoline is copied I believe
> > > > > > and only executed in real mode without page tables.
> > > > > >
> > > > > > So it's perhaps not the trampoline, but the early startup
> > > > > > code that ends up being broken.
> > > > > yes :
> > > > > acpi wakeup code and smp trampoline are copied in low memory
> > > > > (first 1MB).
> > > > >
> > > > > So they can't end up int the kernel data mapping ?
> > > > >
> > > > > So it should something else.
> > > > >
> > > > > I will try to investigate on this.
> > > > >
> > > > Unfortunately on my laptop supporting NX, suspend to ram seems
> > > > broken (even without this patch) and I got only one core, so I
> > > > am unable to test it.
> > > >
> > > > Does cpu suspend/resume is broken ? Or it is only S3 ?
> > > >
> > > > If yes, are there any interesting trace if we suspend only one
> > > > core with sysfs.
> > >
> > > echo 0 > /sys/devices/system/cpu/cpu1/online;
> > > echo 1 > /sys/devices/system/cpu/cpu1/online;
> > >
> > > then machine just reboots...
> > >
> > Ok,
> >
> > could you try the attached patch ?
>
> Unfortunately, it does not work against current tip/master(1f7107c8).
>
> Lin Ming
>
Thanks for the testing.
For the record I did some tests.
- The x86_32 cpu hotplug is working fine.
- On x86_64 we crash between the cpu1 is wakeup and before trampoline
jump to start_secondary
A difference between 32 and 64 bit is that head_32.S use
initial_page_table mmu table then switch to swapper_pg_dir
while 64 bit version use init_level4_pgt for trampoline, head and
kernel.
But I fail to see where setting NX is level3_kernel_pgt aera can make
the resume fail. When we enable NX we are in .text section (head_64).
Matthieu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists