StarlingX Linux kernel
Go to file
Vefa Bicakci 7b55e47e1d Restore CPU affinity patches' functionality
Commit d27f1ee36e ("Linux std kernel upgrade to align with CentOS 8")
and commit c0fee2da8e ("[kernel-rt 4.18] Upgrade kernel-rt to version
4.18.0-147.3.1 based on SRPM") uprevisioned the StarlingX kernel from
v3.10 to v4.18 for migration to CentOS 8 and adapted the kernel patches
accordingly.

However, the CPU affinity patches' uprevisioning was made in a buggy
manner: The connection between the bitmask cpu_kthread_bits and the CPU
mask __cpu_kthread_mask was not kept, which made these two patches
essentially inoperative, as described by bug report 1924799.

This commit updates the two patches to make the kthread_cpus= kernel
command line argument functional again by removing cpu_kthread_bits and
making the argument parser function kthread_setup store the parsed CPU
mask into __cpu_kthread_mask.

This commit introduces error handling for the parsing of the
kthread_cpus= argument's value as well, based on code review feedback.
If a parser error occurs, then the error code is reported and the
effective CPU affinity will correspond to all possible CPUs.

This change was verified with the StarlingX master branch as of last
week. As an example, prior to this commit, the kthreadd kernel thread
(i.e., usually PID 2) had a CPU affinity of 0 on a qemu-based VM with 8
virtual CPUs despite the use of "kthread_cpus=0-1" on the kernel command
line. With this patch, PID 2's CPU affinity is 0-1, as expected.

Change-Id: Ica1dfe00947e4e52f19659b721958f1e1845609b
Closes-Bug: 1924799
Signed-off-by: Vefa Bicakci <vefa.bicakci@windriver.com>
2021-06-08 12:15:36 -04:00
doc Switch to newer openstackdocstheme and reno versions 2020-06-04 14:30:28 +02:00
kernel-modules fix build spec for kmod-ice 2021-03-09 09:44:52 -05:00
kernel-rt Restore CPU affinity patches' functionality 2021-06-08 12:15:36 -04:00
kernel-std Restore CPU affinity patches' functionality 2021-06-08 12:15:36 -04:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:30:28 +02:00
userspace/mellanox Upversion Mellanox driver to ver 5.0 2020-07-17 17:14:15 -04:00
.gitignore Added .gitreview, .zuul.yaml & tox.ini 2020-04-21 16:01:28 -04:00
.gitreview Added .gitreview, .zuul.yaml & tox.ini 2020-04-21 16:01:28 -04:00
.zuul.yaml Added .gitreview, .zuul.yaml & tox.ini 2020-04-21 16:01:28 -04:00
LICENSE Config file changes to add 'kernel-std kernel-rt kernel-modules ' after relocation from 'stx/integ' 2020-04-09 10:50:11 -04:00
centos_build_layer.cfg Config file changes to add 'kernel-std kernel-rt kernel-modules ' after relocation from 'stx/integ' 2020-04-09 10:50:11 -04:00
centos_extra_downloads.lst Upversion Mellanox driver to ver 5.0 2020-07-17 17:14:15 -04:00
centos_guest_image.inc Driver work: ice iavf and i40e in support of E810 2021-02-24 22:08:29 +00:00
centos_guest_image_rt.inc Driver work: ice iavf and i40e in support of E810 2021-02-24 22:08:29 +00:00
centos_iso_image.inc Merge "kernel: include kernel headers and devel packages" 2021-03-04 14:51:10 +00:00
centos_pkg_dirs Driver work: ice iavf and i40e in support of E810 2021-02-24 22:08:29 +00:00
centos_pkg_dirs_rt Driver work: ice iavf and i40e in support of E810 2021-02-24 22:08:29 +00:00
centos_srpms_centos.lst Fix lst file entry for broken kmods 2020-05-04 15:33:31 -04:00
centos_srpms_centos3rdparties.lst [kernel-rt 4.18] Upgrade kernel-rt to version 4.18.0-147.3.1 based on SRPM 2020-04-30 11:25:20 +08:00
centos_tarball-dl.lst Driver work: ice iavf and i40e in support of E810 2021-02-24 22:08:29 +00:00
test-requirements.txt Added .gitreview, .zuul.yaml & tox.ini 2020-04-21 16:01:28 -04:00
tox.ini Added .gitreview, .zuul.yaml & tox.ini 2020-04-21 16:01:28 -04:00