All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about rwmixread/rwmixwrite implementation
@ 2021-06-18  1:08 Arthur Shau
  2021-06-18  2:31 ` Elliott, Robert (Servers)
  0 siblings, 1 reply; 2+ messages in thread
From: Arthur Shau @ 2021-06-18  1:08 UTC (permalink / raw)
  To: fio

I have a basic question about how the read/write ratio is enforced in
fio. I am new to fio, and I am not well versed enough in C to dig into
the source code myself, so I am asking here.

For I/O in a fixed size region, I am assuming that fio dynamically
throttles the number of requests in each direction as the job runs,
rather than predetermining the number of requests based on total size
and block sizes. Is this correct?

1. If so, how does it do this? Is there some sort of threshold where,
if too much of one type of request is happening, it will limit that
type and only allow the other to be requested? What happens if there
are multiple jobs reading and writing concurrently?

2. Why choose to do it this way rather than predetermining the number
of requests and limiting it that way?

If you could also point me to where this logic is happening in the
source code, that would also be immensely helpful. Thanks so much!


^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: Question about rwmixread/rwmixwrite implementation
  2021-06-18  1:08 Question about rwmixread/rwmixwrite implementation Arthur Shau
@ 2021-06-18  2:31 ` Elliott, Robert (Servers)
  0 siblings, 0 replies; 2+ messages in thread
From: Elliott, Robert (Servers) @ 2021-06-18  2:31 UTC (permalink / raw)
  To: 'Arthur Shau', fio



> -----Original Message-----
> From: Arthur Shau <arthurcshau@gmail.com>
> Sent: Thursday, June 17, 2021 8:09 PM
> To: fio@vger.kernel.org
> Subject: Question about rwmixread/rwmixwrite implementation
> 
> I have a basic question about how the read/write ratio is enforced in
> fio. I am new to fio, and I am not well versed enough in C to dig into
> the source code myself, so I am asking here.
> 
...
> If you could also point me to where this logic is happening in the
> source code, that would also be immensely helpful. Thanks so much!

The HOWTO file sometimes has more information than the manpage, so
that's the first place to check.

To find the applicable source code, run:
    grep rwmix *.[ch]

That shows that the io handling code in io_u.c is where decisions
are made based on that argument, particularly in the rate_ddir() and
get_rw_ddir() functions.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-06-18  2:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18  1:08 Question about rwmixread/rwmixwrite implementation Arthur Shau
2021-06-18  2:31 ` Elliott, Robert (Servers)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.