lkml.org 
[lkml]   [2009]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86: only clear node_states for 64bit
    Andrew Morton wrote:
    > On Mon, 22 Jun 2009 08:38:50 -0700
    > Yinghai Lu <yinghai@kernel.org> wrote:
    >
    >> Nathan reported that
    >> | commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74
    >> | Author: Yinghai Lu <yinghai@kernel.org>
    >> | Date: Tue Jun 16 15:33:00 2009 -0700
    >> |
    >> | page-allocator: clear N_HIGH_MEMORY map before we set it again
    >> |
    >> | SRAT tables may contains nodes of very small size. The arch code may
    >> | decide to not activate such a node. However, currently the early boot
    >> | code sets N_HIGH_MEMORY for such nodes. These nodes therefore seem to be
    >> | active although these nodes have no present pages.
    >> |
    >> | For 64bit N_HIGH_MEMORY == N_NORMAL_MEMORY, so that works for 64 bit too
    >>
    >> the cpuset.mems cgroup attribute on an i386 kvm guest
    >>
    >> fix it by only clearing node_states[N_NORMAL_MEMORY] for 64bit only.
    >> and need to do save/restore for that in find_zone_movable_pfn
    >>
    >
    > There appear to be some words omitted from this changelog - it doesn't
    > make sense.
    >
    > I think that perhaps a line got deleted before "the cpuset.mems cgroup
    > ...". That was the line which actualy describes the bug which we're
    > fixing. Or perhaps it was a single word? "zeroes".
    >
    >
    > I did this:
    >
    > Nathan reported that
    > :
    > : | commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74
    > : | Author: Yinghai Lu <yinghai@kernel.org>
    > : | Date: Tue Jun 16 15:33:00 2009 -0700
    > : |
    > : | page-allocator: clear N_HIGH_MEMORY map before we set it again
    > : |
    > : | SRAT tables may contains nodes of very small size. The arch code may
    > : | decide to not activate such a node. However, currently the early boot
    > : | code sets N_HIGH_MEMORY for such nodes. These nodes therefore seem to be
    > : | active although these nodes have no present pages.
    > : |
    > : | For 64bit N_HIGH_MEMORY == N_NORMAL_MEMORY, so that works for 64 bit too
    > :

    "
    > : unintentionally and incorrectly clears the cpuset.mems cgroup attribute on
    > : an i386 kvm guest
    "
    ==>

    32bit assume NORMAL_MEMORY bit and HIGH_MEMORY bit are set for Node0 always.

    and some code only check if HIGH_MEMORY is there to know if NORMAL_MEMORY is there.

    YH



    \
     
     \ /
      Last update: 2009-06-26 23:13    [W:0.050 / U:29.168 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site