• Jagdish Gediya's avatar
    mm/demotion: demote pages according to allocation fallback order · 32008027
    Jagdish Gediya authored
    Currently, a higher tier node can only be demoted to selected nodes on the
    next lower tier as defined by the demotion path.  This strict demotion
    order does not work in all use cases (e.g.  some use cases may want to
    allow cross-socket demotion to another node in the same demotion tier as a
    fallback when the preferred demotion node is out of space).  This demotion
    order is also inconsistent with the page allocation fallback order when
    all the nodes in a higher tier are out of space: The page allocation can
    fall back to any node from any lower tier, whereas the demotion order
    doesn't allow that currently.
    
    This patch adds support to get all the allowed demotion targets for a
    memory tier.  demote_page_list() function is now modified to utilize this
    allowed node mask as the fallback allocation mask.
    
    Link: https://lkml.kernel.org/r/20220818131042.113280-9-aneesh.kumar@linux.ibm.comSigned-off-by: default avatarJagdish Gediya <jvgediya.oss@gmail.com>
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Reviewed-by: default avatar"Huang, Ying" <ying.huang@intel.com>
    Acked-by: default avatarWei Xu <weixugc@google.com>
    Cc: Alistair Popple <apopple@nvidia.com>
    Cc: Bharata B Rao <bharata@amd.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Hesham Almatary <hesham.almatary@huawei.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Tim Chen <tim.c.chen@intel.com>
    Cc: Yang Shi <shy828301@gmail.com>
    Cc: SeongJae Park <sj@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    32008027
vmscan.c 211 KB