Hi, I've tried to measure the evolution of the bandwidth in an NVMe disk when i write only a portion of the disk, so i wrote a simple script that basically do that: For write portion in {10,20...,100} % |- Write the entire disk with 1s; |- Write a portion% of the disk randomly using 128k bs; #using fio |- Log the bandwidth each 50s End for My fio file looks like this: [global] ioengine=libaio iodepth=256 size=X% direct=1 do_verify=0 continue_on_error=all filename=/dev/nvme0n1 randseed=1 [write-job] rw=randwrite bs=128k Logically the bandwidth should start from the best bandwidth (for 128k block size), which is around 1.3 GiB/s for my NVMe, then gets down till the written portion is met. But this is not the case, the randwrites for 80%, 90% and 100% of the disk size start at a different bandwidth than the others! This chart shows the evolution of the bandwidth for each portion over the time: https://user-images.githubusercontent.com/2827220/28362904-97f53fdc-6c7e-11e7-80cd-df36ebbe748e.png If we have 10 identical cars with different fuel amount, shouldn't they all start at the same speed until the fuel is done ! Does fio take into consideration how much he will write and limit the bandwidth?! Is this a normal fio functioning? Or am i missing something about how fio handles portion random writes? Thank you. -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html