Messages in this thread |  | | | Date | Tue, 13 May 2008 16:12:10 +0100 (BST) | | From | Hugh Dickins <> | | Subject | Re: [PATCH] x86: fix app crashes after SMP resume |
On Tue, 13 May 2008, Glauber Costa wrote:
> On Tue, May 13, 2008 at 10:26 AM, Hugh Dickins <hugh@veritas.com> 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
|  |