Re: [PATCH] x86: Construct 32 bit boot time page tables in native format.

H. Peter Anvin
2008-01-28T20:35:28Z

Rafael J. Wysocki wrote:
> On Monday, 28 of January 2008, Pavel Machek wrote:
>> Hi!
>>
>>>>> /*
>>>>> * 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]
>>>> thanks, applied.
>> Sorry, this is subtle and I've overlooked it before.
>>
>> (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).
>

Okay... does that in any way affect using the kernel code mapping
synchronization code to maintain a set of trampoline pagetables?

-hpa