>> Trace attached. Produced by: start the trace script >> (with the pendrive already plugged), wait some seconds, run the test >> (1 trial, 1 GB), wait for the test to finish, stop the trace. >> >> The copy took 73 seconds, roughly as already seen before with the fast >> old kernel. > > This trace shows a good write IO order because the writeback IOs are > queued to block layer serially from the 'cp' task and writeback wq. > > However, writeback IO order is changed in current linus tree because > the IOs are queued to block layer concurrently from the 'cp' task > and writeback wq. It might be related with killing queue_congestion > by blk-mq. What about using direct-io to ensure order is guaranteed? Pity that 'cp' doesn't seem to have an option for it. But dd should do the trick. Andrea, can you replace cp with a dd command (on the slow kernel)? dd if=<path-to-src-file> of=<path-to-copy-on-flash-device> bs=1M oflag=direct - Bernd