Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions docs/admin/performance_tuning.md
Original file line number Diff line number Diff line change
Expand Up @@ -398,10 +398,22 @@ Duration across processes:
Completed test=FETCH
```

!!! note
With 3rd Gen Intel® Xeon® Scalable processors (ICX), the PMEM_NO_FLUSH
environment variable can be set to 1 to take advantage of the extended
asynchronous DRAM refresh (eADR) feature
!!! warning
Do not set the `PMEM_NO_FLUSH` environment variable in production. This
document previously recommended setting `PMEM_NO_FLUSH=1` on 3rd Gen
Intel® Xeon® Scalable processors (ICX) to take advantage of the extended
asynchronous DRAM refresh (eADR) feature; **that guidance is deprecated
and must no longer be followed**.

Per PMDK's [libpmem(7)](https://github.com/daos-stack/pmdk/blob/stable-2.1/doc/libpmem/libpmem.7.md)
documentation, environment variables such as `PMEM_NO_FLUSH` are "largely
intended for testing and are not normally required". Setting
`PMEM_NO_FLUSH=1` unconditionally disables the
`CLFLUSH`/`CLFLUSHOPT`/`CLWB` cache-flush instructions, regardless of
whether the platform's persistence domain actually covers CPU caches.
PMDK already checks this safely and automatically at runtime via
[`pmem_has_auto_flush()`](https://github.com/daos-stack/pmdk/blob/stable-2.1/doc/libpmem/pmem_flush.3.md),
so no manual override should be used in production.

A tool called daos\_perf with the same syntax as vos\_perf is also available
to run tests from a compute node with the full DAOS stack. Please refer
Expand Down
Loading