On Mon, Dec 27, 2010 at 5:17 PM, Sunil Mushran <sunil.mushran@xxxxxxxxxx> wrote: > > fallocate() gives users the ability to allocate space instantly. One way > to compare would be to time just fallocate() with another program > writing zeros for that length. > > But that's not the aim of the syscall. The aim is to allow the fs to > allocate > the space in as large chunks as possible to allow for better read > performance. > > If you don't do fallocate() and allow writes to allocate in small chunks, > as you are doing, the allocations on disks could be interleaved in face of > multiple processes doing the same. Fragmented allocations can only hurt > read performance. > Thanks for the clarification Sunil. But preallocation of blocks shouldn't also improve write operations? Since each write operation will no longer cause the OS/filesystem to allocate blocks for the file, therefore should be faster. Also, any particular advice for improving write performance when all the writes are done in append-only fashion? -- Filipe David Manana, fdmanana@xxxxxxxxx, fdmanana@xxxxxxxxxx "Reasonable men adapt themselves to the world. ÂUnreasonable men adapt the world to themselves. ÂThat's why all progress depends on unreasonable men." -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html