Re: [PATCH] x86: fix app crashes after SMP resume

From: Hugh Dickins
Date: Tue May 13 2008 - 11:14:28 EST


On Tue, 13 May 2008, Glauber Costa wrote:
> On Tue, May 13, 2008 at 10:26 AM, Hugh Dickins <hugh@xxxxxxxxxxx> wrote:
> >
> > +#ifdef CONFIG_X86_32
> > + while (low_mappings)
> > + cpu_relax();
> > + __flush_tlb_all();
> > +#endif
> > +
>
> If possible, we don't want to introduce any more ifdefs. Should be
> better to do it openly, define low_mappings as always 0 for x86_64.

You're right, something like that (but avoiding the __flush_tlb_all
on x86_64) would have been nicer; never mind, now it's going forward,
I'll leave it as is.

A bigger improvement would be to cut out all that swapper_pg_dir
to and fro, needing a global TLB flush on all cpus for each cpu.
Just have an alternate pg_dir (often already there as swsusp_pg_dir)
to point cr3 at for the bootup (or maybe it needs to be vice versa).

But that's harder to get right, and involves wider changes and much
more testing than I could afford for the bugfix. Plus I expect it's
on your radar if not already done.

Hugh
--
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/