Re: [PATCH] swsusp: Disable nonboot CPUs before entering platform suspend

From: Rafael J. Wysocki
Date: Wed Mar 07 2007 - 19:46:27 EST


On Thursday, 8 March 2007 01:20, Dave Jones wrote:
> On Thu, Mar 08, 2007 at 12:13:05AM +0100, Rafael J. Wysocki wrote:
>
> > > > Well, the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping()
> > > > triggers every time an SMP x86_64 box is suspended to disk using the platform
> > > > mode (default), which is quite annoying IMHO and users think something wrong is
> > > > going on. This will probably cause them to report the problem and I'd rather
> > > > like to avoid handling these reports. ;-)
> > >
> > > Well sure - if patches were always error-free, we'd always apply them
> > > immediately.
> > >
> > > The question is: is the risk of this patch breaking things exceeded by the
> > > benefit which you describe?
> >
> > Well, it has survived some testing (http://lkml.org/lkml/2007/3/7/16). Also,
> > before the code ordering in 2.6.21-rc* we had been running on one CPU
> > here, so I think the risk is small.
> >
> > We could remove the WARN_ON() as Pavel has just suggested, but first I'd like
> > to know who put it there and why.
>
> It was introduced as part of ..
>
> commit 55b2355eefc2f160246226d4d69fed431173a4d5
> Author: Shaohua Li <shaohua.li@xxxxxxxxx>
> Date: Fri Jun 23 02:04:49 2006 -0700
>
> [PATCH] don't use flush_tlb_all in suspend time
>
> flush_tlb_all uses on_each_cpu, which will disable/enable interrupt.
> In suspend/resume time, this will make interrupt wrongly enabled.

Ah, thanks.

So the question is what can go wrong if we ignore the TLBs of the other
CPUs that may be on-line when init_low_mapping() is executed.

Frankly, I don't know.
-
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/