Hi Jacky, On 21 February 2018 at 15:25, Jacky Chen <jackyc423@xxxxxxxxx> wrote: > > I want to know the detail flow and concept related section "2.7. Butterfly seek pattern"¶ I'm afraid I'm still confused! I'm not sure there's much more detail to give... In terms of concept there's a disk I/O pattern where each I/O alternates from being at the "start" and then being at the "end" of the disk but each seek moves further away from the starting position over time over time and this sequence is sometimes known as a butterfly or funnel pattern. Here are a few other descriptions turned up by a Google search (https://www.google.co.uk/search?q=%22butterfly%22+disk+seek ): https://superuser.com/questions/1125238/what-exactly-is-a-funnel-seek-test , https://github.com/linux-test-project/ltp/blob/63a69aa547209f57a182e5a48d1e3eff4c878281/testcases/kernel/io/disktest/README#L132-L133 , https://searchcode.com/codesearch/view/25334606/ . Perhaps if you think of it in terms of a disk with 4 blocks the pattern would be: read block 0 read block 3 read block 1 read block 2 read block 2 read block 1 read block 3 read block 0 This is just a specific example of the general rule given in the commit: # Assumes the blocks start at 0 for block in totalblockcount do read block read (totalblockcount - block - 1) end > How to do this experiment on my platform? You'll have to modify and run the example job as described in my previous email. > if we need do "read/write random sectors in single pass (20% min),butterfly test " The concept of a random butterfly workload doesn't make sense to me - if the choice of the next "sector" is random then by definition you're not trying to follow a particular pattern, no? Perhaps whoever wrote your quoted text meant pick the next I/O randomly from a different half of the disk to the previous I/O? Perhaps they were describing two different passes (pass 1 random, pass 2 butterfly)? You'd have to ask whoever wrote that for clarification as to what they meant. > it seemed need to modify below parameters in butterfly_customiz.fio . > 1.#size=50% > 2.#offset=50% > 3......etc. You don't have to modify those if you don't need to. The comment is just there a note on how to cope with preventing the "forward" I/O to from moving past the "backward" I/O when they meet in the middle. > For fit the butterfly test request , Do you have any suggestion of the customize butterfly.fio ? or any stuff related this topic ? Nothing more than I've already posted I'm afraid. Good luck! -- Sitsofe | http://sucs.org/~sits/ -- 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