> @@ -215,7 +216,7 @@ static blk_qc_t pmem_make_request(struct
request_queue *q, struct bio *bio)
> if (do_acct)
> nd_iostat_end(bio, start);
>
> - if (bio->bi_opf & REQ_FUA)
> + if (bio->bi_opf & REQ_FUA || op_is_write(op))
> nvdimm_flush(nd_region);
...
> Before:
> Jobs: 32 (f=32): [W(32)][14.2%][w=1884MiB/s][w=482k IOPS][eta 01m:43s]
> After:
> Jobs: 32 (f=32): [W(32)][8.3%][w=2378MiB/s][w=609k IOPS][eta 01m:50s]
>
> -RongQing
Doing more work cannot be faster than doing less work, so something else
must be happening here.
Please post the full fio job file and how you invoke it (i.e., with numactl).
These tools help show what is happening on the CPUs and memory channels:
perf top
pcm.x
pcm-memory.x -pmm