• Z
    memcg/ascend: Support not account pages of cdm for memcg · eb773093
    Zhou Guanghui 提交于
    ascend inclusion
    category: feature
    bugzilla: NA
    CVE: NA
    
    ------------------------------------------------------------------
    
    Normally, pages can not be allocated from CDM node(explicit allocation
    requests from kernel or user process MPOL_BIND policy which has CDM
    nodes).
    
    This situation may happen. Within the limit bytes range of the memcg,
    the CDM nodes have a large amount of free memory, and other nodes
    have no available free memory. Then, the kernel or user process can not
    get required memory resources normally.
    
    For example:
      size of CMD : A mbytes
      size of non CMD : B mbytes
      limit mbytes of memcg : C mbytes. A,B < C < (A + B).
    If app(user app and OS service app) used up non CMD memory, but a large
    amount of CDM memory is available. Since OS service app can't get pages
    from CDM node, the allocating of pages should be failed. This is not
    what we expect. We hope that the memcg can be used to restrict the
    memory used by some user apps to ensure that certain memory is available
    for system services.
    
    Therefore, the CDM memory does not need to be charged in the memcg. The
    total size of CDM is already a limit.
    Signed-off-by: NZhou Guanghui <zhouguanghui1@huawei.com>
    Reviewed-by: NDing Tianhong <dingtianhong@huawei.com>
    Reviewed-by: NKefeng Wang <wangkefeng.wang@huawei.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    eb773093
memcontrol.c 172.9 KB