[lkml]   [2008]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] x86: Construct 32 bit boot time page tables in native format.
    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. 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...
    > :-(.

    This really comes down to the concept that we should keep an
    identity-mapped page table set around and keep it maintained.
    Maintenance should be relatively cheap -- we don't care about the
    vmalloc area (but if it's easier to have it, it won't cause any harm),
    and we already have to have code to synchronize the PGDs on !PAE and the
    PMDs on Xen (although that was supposedly getting fixed). This is
    nothing very different than synchronizing yet another PGD[*] offset.

    This obviously relates to (and needs to be on top of) the
    always-native-pagetables work.

    [*] = Almost. There is one exception: for 3 GB kernel:1 GB userspace,
    we must ensure that only 1 GB of the kernel area is synced.


     \ /
      Last update: 2008-01-28 20:59    [W:0.021 / U:70.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site