• Dan Williams's avatar
    libnvdimm, pmem: use REQ_FUA, REQ_FLUSH for nvdimm_flush() · 7e267a8c
    Dan Williams authored
    Given that nvdimm_flush() has higher overhead than wmb_pmem() (pointer
    chasing through nd_region), and that we otherwise assume a platform has
    ADR capability when flush hints are not present, move nvdimm_flush() to
    REQ_FLUSH context.
    
    Note that we still arrange for nvdimm_flush() to be called even in the
    ADR case. We need at least once wmb() fence to push buffered writes in
    the cpu out to the ADR protected domain.
    
    Cc: Toshi Kani <toshi.kani@hpe.com>
    Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    7e267a8c
pmem.c 10.9 KB