Comment by matthewmacleod

4 years ago

That's interesting! I'd be fascinated to know what the underlying cause is – these full-sync numbers are amazingly low.

I dug a bit further and the NVMe controller is doing about 6.2MB/s of DRAM reads and 10MB/s of DRAM writes while doing a flush loop like this (which it isn't doing with the same traffic sans the flushes). I wonder if it's doing something dumb like linear scanning a cache hash table to find things to flush... or maybe something with bad cache locality?

I'm pretty sure, whatever it is, Apple could fix it in a firmware update.