summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-sqlite.py
diff options
context:
space:
mode:
authorHugo Deco <hugodeco@sufficit.com.br>2026-11-03 10:12:04 -0800
committerKeith Busch <kbusch@kernel.org>2026-11-04 07:51:11 -0800
commitf4ae106069982da3e36293d8e627cb9a540034a0 (patch)
treea33042d6922f15667f0a8d75be7d7508a8c9ed81 /tools/perf/scripts/python/export-to-sqlite.py
parent1ac7efbea82562f4b1eded4de7cb37540061fb05 (diff)
nvme-pci: add NO_FUA quirk for ADATA XPG GAMMIX S70 BLADE
On the ADATA XPG GAMMIX S70 BLADE (PCI 1cc1:5370, firmware 03020P5E) every Write with the FUA bit set takes 200, 400 or 600 ms to complete, always a multiple of ~200 ms, while a plain Write completes in 0.0-0.4 ms and a Flush in ~1.3 ms. Tracing nvme_setup_cmd and nvme_complete_rq shows the whole delay is between submission and completion, i.e. inside the device (e.g. FUA write, control 0x4000: 598.3 ms). Because ext4/jbd2 issue FUA for every journal commit, fsync() on this drive stalls for 250-890 ms and desktop applications freeze. Add NVME_QUIRK_NO_FUA, which stops advertising BLK_FEAT_FUA while keeping the volatile write cache enabled, so the block layer emulates FUA with a Write followed by a Flush. Durability semantics are unchanged. Apply it to the S70 BLADE through nvme_id_table. With the quirk applied, 4 KiB O_DIRECT|O_DSYNC writes and create+write+fsync drop from 250-890 ms to a 0.82-0.85 ms median (30 samples, two partitions on the same drive). Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Hugo Deco <hugodeco@sufficit.com.br> Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions