• Dan Williams's avatar
    libnvdimm, region: update nd_region_available_dpa() for multi-pmem support · a1f3e4d6
    Dan Williams authored
    The free dpa (dimm-physical-address) space calculation reports how much
    free space is available with consideration for aliased BLK + PMEM
    regions.  Recall that BLK capacity is allocated from high addresses and
    PMEM is allocated from low addresses in their respective regions.
    
    nd_region_available_dpa() accounts for the fact that the largest
    encroachment (lowest starting address) into PMEM capacity by a BLK
    allocation limits the available capacity to that point, regardless if
    there is BLK allocation hole at a higher address.  Similarly, for the
    multi-pmem case we need to track the largest encroachment (highest
     ending address) of a PMEM allocation in BLK capacity regardless of
    whether there is an allocation hole that a BLK allocation could fill at
    a lower address.
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    a1f3e4d6
region_devs.c 24.6 KB