Il giorno 12 dic 2018, alle ore 22:41, stan
<stanl-fedorauser(a)vfemail.net> ha scritto:
On Wed, 12 Dec 2018 16:07:49 -0500
Jeff Moyer <jmoyer(a)redhat.com> wrote:
Thanks for your insight. Doesn't look good for my use of BFQ.
> Note that you can change the current I/O scheduler for any block
> device by echo-ing into /sys/block/<dev>/queue/scheduler. Cat-ing
> that file will give you the list of available schedulers.
That's part of the problem. BFQ doesn't appear in the list of
available schedulers. When I cat that location for my disks, I see
[noop]. Since CFQ does appear there if it is compiled into the kernel,
I'll have to look into what is done for CFQ and see how hard it would
be to patch the kernel to repeat that behavior for BFQ.
My use case in not mq, so after reading one of the links in this
thread about performance, I saw that BFQ gave ~20 to 30 % boost in
disk io performance, and enhanced low latency performance (desktop
responsiveness) for single queue. That's what I want to capture by using
BFQ. I wonder if that is my problem. From what Chris said, an mq
scheduler is required in order to use BFQ, whether it is for mq or
single queue use. I'll try that. I normally use deadline and CFQ for
scheduling. Back to the compiler.
I'm surprised this is so difficult. It's been in the kernel since the
2.x series, and usually the configuration options are excellent for
allowing variation in how the kernel is configured.
On the plus side, I notice only slight degradation in behavior using
noop scheduling. :-) Maybe I should just skip scheduling. :-D
To test the behavior of your system, why don't you check, e.g., how
long it takes to start an application while there is some background I/O?
A super quick way to do this is
git clone
https://github.com/Algodev-github/S
cd S/comm_startup_lat
sudo ./comm_startup_lat.sh <scheduler-you-want-to-test> 5 5 seq 3
"replay-startup-io gnometerm"
The last command line
- starts the reading of 5 files plus the writing of 5 other files
- replays, for three times, the I/O that gnome terminal does while;
starting up (if you want I can tell you how to change the last command
line so as to execute the original application, but you would get the
same results);
- for each attempt, measures how long this start-up I/O takes to
complete.
Paolo
_______________________________________________
kernel mailing list -- kernel(a)lists.fedoraproject.org
To unsubscribe send an email to kernel-leave(a)lists.fedoraproject.org
Fedora Code of Conduct:
https://getfedora.org/code-of-conduct.html
List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org