Type: New Feature
Affects Version/s: None
Fix Version/s: None
Originally, the maximum RPC size for bulk I/O can be controlled by
per-OSC parameter max_pages_per_rpc. Whenever it is possible, the
OSC will do bulk I/O as large as max_pages_per_rpc for better
performance. Thus, changing the value of max_pages_per_rpc usually
affects the I/O performance a lot. However, due to the I/O pattern
difference, not all applications can get the best performance with
the same value of max_pages_per_rpc.
We want to add a new type of ladvise to enabling applications to
set different RPC sizes for different files. max_pages_per_rpc is
still the upper limit of the RPC size in all cases. And new
parameter default_pages_per_rpc has been added and its value is
the default RPC size. If a ladvise of rpc_size is given to a file,
the RPC size of the file will be changed according to the ladvise.
But the maximum RPC size will still limited by max_pages_per_rpc.
The RPC size of a file configured by ladivse is neither a global
attribute nor a persistent attribute. Each client may have
different RPC size for the same file. And the RPC size of the file
will change back to default_pages_per_rpc when the hint kept in
memory is lost due to memory shrinkage.