• Huang Ying's avatar
    acpi, hmat: calculate abstract distance with HMAT · 3718c02d
    Huang Ying authored
    A memory tiering abstract distance calculation algorithm based on ACPI
    HMAT is implemented.  The basic idea is as follows.
    
    The performance attributes of system default DRAM nodes are recorded as
    the base line.  Whose abstract distance is MEMTIER_ADISTANCE_DRAM.  Then,
    the ratio of the abstract distance of a memory node (target) to
    MEMTIER_ADISTANCE_DRAM is scaled based on the ratio of the performance
    attributes of the node to that of the default DRAM nodes.
    
    The functions to record the read/write latency/bandwidth of the default
    DRAM nodes and calculate abstract distance according to read/write
    latency/bandwidth ratio will be used by CXL CDAT (Coherent Device
    Attribute Table) and other memory device drivers.  So, they are put in
    memory-tiers.c.
    
    Link: https://lkml.kernel.org/r/20230926060628.265989-4-ying.huang@intel.comSigned-off-by: default avatar"Huang, Ying" <ying.huang@intel.com>
    Tested-by: default avatarBharata B Rao <bharata@amd.com>
    Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
    Reviewed-by: default avatarAlistair Popple <apopple@nvidia.com>
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Cc: Wei Xu <weixugc@google.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Yang Shi <shy828301@gmail.com>
    Cc: Rafael J Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    3718c02d
memory-tiers.c 23.6 KB