Jim Gauld
995e7e530d
kubelet: sort isolcpus allocation when SMT enabled
The existing device manager code returns CPUs as devices in unsorted order. This numerically sorts isolcpus allocations when SMT/HT is enabled on the host. This logs SMT pairs, singletons, and algorithm order details to make the algorithm understandable. Example log for a 3 cpu isolcpus request: 2022-02-11T16:27:50.345 controller-0 kubelet[1531574]: info I0211 16:27:50.345529 1531574 manager.go:741] order_devices_by_sibling: needed=3, smtpairs=[4 5 6 7 10 11], singletons=[8 12], order=[8 4 5 6 7 10 11 12] The specific host with SMT enabled has this topology: LOGICAL CPU TOPOLOGY: cpu_id : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 socket_id : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 core_id : 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 thread_id : 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Before cpu allocation, host has Isolated_free: 4-8,10-12. New pod gets the following isolcpus cpuset: 4-5,8. Test Plan: (On AIO-SX, SMT enabled) PASS: Verify cpu sort order for even needed and no singletons PASS: Verify cpu sort order for odd needed and no singletons PASS: Verify cpu sort order for even needed and singletons PASS: Verify cpu sort order for odd needed and singletons Story: 2008760 Task: 44190 Signed-off-by: Jim Gauld <james.gauld@windriver.com> Change-Id: I1d743f80925b35ecee7936c12b0f4328f83b7eb2
integ
StarlingX Integration
Description
Languages
Shell
33.1%
JavaScript
24.1%
Perl
14.3%
Python
10.3%
Makefile
6.6%
Other
11.5%