I've noticed that, if you create a large empty file, e.g.
- Code: Select all
dd if=/dev/zero of=dumpfile bs=4K count=1M
while using the noop I/O scheduler, the mouse cursor will freeze for long periods of time, and sometimes the kernel will crash (i.e. cursor never unfreezes, sysrq keys won't work).
So of course I looked at CPU use while doing this... And guess what, it produces regular spikes of ~100% CPU use, coinciding with the freezes. The cfq scheduler by contrast never produces CPU use higher than about 80%.
You can probably see the issue here. noop is the simplest scheduler, designed to incur the lowest CPU use, at the cost of potentially higher latency and lower throughput. I'm not a kernel hacker, but I'm pretty sure that per its design it should never generate CPU spikes like that. Yet this happens on the 18.104.22.168 kernel, and every other kernel I've tried.
Is this a bug, or am I missing something essential?