Date: Wed, 7 Jul 2021 13:47:47 -0400 From: George Mitchell <george+freebsd@m5p.com> To: FreeBSD Hackers <freebsd-hackers@FreeBSD.org> Subject: Periodic rant about SCHED_ULE Message-ID: <13445948-7804-20b4-4ae6-aaac14d11e87@m5p.com>
next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HF7V0AghedMoWNFDpuKNTarcdpkVGOeR5 Content-Type: multipart/mixed; boundary="JEQlsITH6BsjloiA4uygFg539pzKZdt9A"; protected-headers="v1" From: George Mitchell <george+freebsd@m5p.com> To: FreeBSD Hackers <freebsd-hackers@FreeBSD.org> Message-ID: <13445948-7804-20b4-4ae6-aaac14d11e87@m5p.com> Subject: Periodic rant about SCHED_ULE --JEQlsITH6BsjloiA4uygFg539pzKZdt9A Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable CPU: AMD Ryzen 5 2600X Six-Core Processor (3600.10-MHz K8-class CPU) (12 threads). FreeBSD 12.2-RELEASE-p7 r369865 GENERIC amd64 (SCHED_ULE) vs FreeBSD 12.2-RELEASE-p7 r369865 M5P amd64 (SCHED_4BSD). Comparing "make buildworld" time with misc/dnetc running vs not running. (misc/dnetc is your basic 100% compute-bound task, running at nice 20.) Three out of the four combinations build in roughly four hours, but SCHED_ULE with dnetc running takes close to twelve! (And that was overnight with basically nothing else running.) This is an even worse disparity than I have seen in previous releases. Based on my total lack of an exact understanding of how loadable kernel modules work, I nevertheless hypothesize that it should be possible for the scheduler to be a loadable kernel module, given that the interface to the schedule seems to have been carefully thought out and scrupulously observed by both ULE and 4BSD. Perhaps the system could start with a dummy scheduler that is just barely functional enough to get the appropriate module loaded and have it supersede the dummy scheduler? Then switching between the schedulers would become much less of a hassle than it is currently. Why, if it is configurable, it could even be compatible with freebsd-update! I've been ranting about this for years now, and I've had my say -- but no one has ever answered my question about what workload SCHED_ULE is best for, though numerous people have claimed that it's better than SCHED_4BSD for -- some rumored workload or other. -- George --JEQlsITH6BsjloiA4uygFg539pzKZdt9A-- --HF7V0AghedMoWNFDpuKNTarcdpkVGOeR5 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEENdM4ZHktsJW5kKZXwRES3m+p4fkFAmDl6MMFAwAAAAAACgkQwRES3m+p4fkP MRAAutre1e/bqhY2w1fQdiktJc6bo7+kFgW1V8qxTNumUXfyZCgL6DCALhKrDkBaAZsuvwWFSAaK ASjGOTdlPA/fZ0tr2HWH77Z2kbj1RP7ce9zDP5PDVWZaPeD7arnAJSBvD0K9kiI/sAVBRW80WH4C zj1rW4/XqcJN2/YPsjLfVTbToqEPJN6XpodInYrpKBF2W47hTcHF6qxUkaa/7J5gIDOY2ad7c35q tuCQKlsoFPpD6l/UYXevO5pe/MVEX5hJLHrPhCUbqZEgeVMltqn+V76DVcywO/x0cBj65k3TETus tAcZebbKuvII9WBfM58Kt+zMRc3ezU+7pN6FOwJCj89vJ6OLO19LAXQ2zvLmSDYRz+OjxK4Z3IZk 3MWpc2qwOoNsABp9bg8pvbihNoug9bM/qhbyFP1+nbyHvbpgOIid9K5jub20TNPEN/j0cSGUQaed rs5rZlv7XuOMspr1hq5fra26M/nh3li31mltfNA2qHoBYecpiBY3x+CfDGydOIVbl8+ed/A+tQAX /3mVORXsLry7jSB+dBSakJ4caR97Ehc/nWSFFGn+WlYtTURi7mGFI/axm/RGKdR/TSasS6MlPJLg lZbSOTvE/i/5N2+162qgLEuYuqAjPUnlIvJ8yzN9nHFMdSTSr3uuyeqaXaketRmP9h7k7wxCdzQg aJ8= =0sGY -----END PGP SIGNATURE----- --HF7V0AghedMoWNFDpuKNTarcdpkVGOeR5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13445948-7804-20b4-4ae6-aaac14d11e87>