Messages in this thread | | | Date | Thu, 29 Sep 2005 00:35:35 +0200 | From | Pavel Machek <> | Subject | Re: [discuss] Re: [PATCH][Fix][Resend] Fix Bug #4959: Page tables corrupted during resume on x86-64 (take 3) |
| |
Hi!
> > > > > The following patch fixes Bug #4959. For this purpose it creates > > > > > temporary page translation tables including the kernel mapping (reused) > > > > > and the direct mapping (created from scratch) and makes swsusp switch > > > > > to these tables right before the image is restored. > > > > > > > > > > The code that generates the direct mapping is based on the code in > > > > > arch/x86_64/mm/init.c. > > > > > > > > Looks much better than before, but is there any reason you cannot > > > > share the code with the mm/init.c code? > > > > > > I think so. I have to make the temporary page tables nosavedata or set > > > PG_nosave on them, so that swsusp doesn't overwrite them. I'm not > > > sure if I could do this cleanly if I used the code from mm/init.c directly. > > > > Just pass a flag for that. > > Well, the code in mm/init.c is only executed really early, before zones > are initialized, and it uses alloc_low_page() to map memory. Thus it seems > I only could make my code be executed next to init_memory_mapping(), > in which case I wouldn't be able to use page flags. Apparently I'm missing > something but now I'm too tired to think efficiently.
I guess Andi meant "add a parameter to those mm/init.c functions".
(Otoh, you have reserved area, anyway, just set all of it PG_nosave, and you'll not need to modify mm/init.c stuff). Pavel -- if you have sharp zaurus hardware you don't need... you know my address - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |