On Wed, Jan 07 2015, Yigal Korman wrote: > On Wed, Dec 17, 2014 at 10:56 PM, Yigal Korman <yigal@xxxxxxxxxxxxx> wrote: > > Hi, > > I have a couple of questions regarding the mmap ioengine. > > > > One of the benefits of doing mmap() VS write() is bypassing the need > > of an intermediate buffer. > > Instead of preparing a buffer for write(), data can be written > > directly to file with mmap(). > > I want to do some performance comparisons on this subject with fio on > > different filesystems. > > After reviewing the code a bit, I saw that the mmap ioengine is only > > responsible for writing the data. > > The buffer preparation is done in the common code the same way for all > > ioengines. > > Am I understanding this correctly? > > Is there another way to circumvent the buffer filling and implement > > writing data directly with mmap? > > I didn't get any answers yet, can someone comment? > I'll be glad to implement the appropriate behavior myself with some guidance. Fio can't really do it any other way, if you want to track this as IO. So it prepares the data contents in its regular IO buffers, then copies it to the mmap'ed area (or vice versa, for a read). It'd be trivial to simply have the IO buffer point at the appropriate mmap'ed region, but then you'd lose any tracking of latencies, bandwidth, etc. In other words, it would not provide a lot of value. -- Jens Axboe -- 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