On Wed, 24 Jun 2015 14:54:09 -0700 Luigi Semenzato <semenzato@xxxxxxxxxx> wrote: > Greetings, > > we have an app that writes 4k blocks to an SSD partition with more or > less random seeks. (For the curious: it's called "update engine" and > it's used to install a new Chrome OS version in the background.) The > total size of the writes can be a few hundred megabytes. During this > time, we see that other apps, such as the browser, block for seconds, > or tens of seconds. > > I have reproduced this behavior with a small program that writes 2GB > worth of 4k blocks randomly to the SSD partition. I can get apps to > block for over 2 minutes, at which point our hang detector triggers > and panics the kernel. > > CPU: Intel Haswell i7 > RAM: 4GB > SSD: 16GB SanDisk > kernel: 3.8 > > >From /proc/meminfo I see that the "Buffers:" entry easily gets over > 1GB. The problem goes away completely, as expected, if I use O_SYNC > when doing the random writes, but then the average size of the I/O > requests goes down a lot, also as expected. > > First of all, it seems that there may be some kind of resource > management bug. Maybe it has been fixed in later kernels? But, if > not, is there any way of encouraging some in-between behavior? That > is, limit the allocation of I/O buffers to a smaller amount, which > still give the system a chance to do some coalescing, but perhaps > avoid the extreme badness that we are seeing? > What kernel version? Are you able to share that little test app with us? Which filesystem is being used and with what mount options etc? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>