On Monday, 28 of January 2008, Pavel Machek wrote:Hi!
Sorry, this is subtle and I've overlooked it before./*thanks, applied.
* Swap suspend & friends need this for resume because things like the intel-agp
* driver might have split up a kernel 4MB mapping.
*/
-char __nosavedata swsusp_pg_dir[PAGE_SIZE]
+char swsusp_pg_dir[PAGE_SIZE]
(I thought you were only changing ifdef).
Now you memcpy() over pg_dir when that pgdir is in use during swsusp
resume.
It is not. swsusp hasn't been using swsusp_pg_dir for several months.
Hence, the patch. :-)
Granted, you memcpy() with same data that already are there, but it may still do some funny effects.
Hmm, but same argument applies to lower levels of paging in 64-bit and
PAE cases, and we still do that memcpy-over-active-pagetables there...
:-(.
Actually, no. We only do that with the kernel code mapping which should be
safe as long as TLBs are not flushed (and they aren't).