-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Changelog: ==========
V2: * fixed typo online -> offline spotted by Amit * added task migration check as suggested by Amit and David * added check of irq migration as suggested by David * added check /proc/cpuinfo, processor is back when online * added check /proc/interrupt is consistent
V1: initial post
Test : check the sysfs files are present ========================================
for each cpu * check /sys/devices/system/cpu/cpuX/online is there
What about the particular case for cpu0 where the 'online' file is there but shouldn't as the other arch ?
Test : check cpu state is reflected in sysfs ============================================
for each cpu * set cpuX offline * check cpuX status is offline * set cpuX back online * check cpuX status is online
Test : check the affinity does not work on an offline cpu =========================================================
for each cpu * set cpuX offline * check 'taskset -c X /bin/true' fails * set cpuX back online
Test : check task is migrated to another cpu ============================================
for each cpu * run a task on dedicated cpuX * set cpuX offline * check the task has been migrated to another cpu * kill the task * set cpuX back online
Test : check cpus are reflected on /proc/cpuinfo correctly ==========================================================
NRCPUS=<number of configured cpu on the system>
for each cpu * set cpuX offline * check /proc/cpuinfo 'processor' keyword count is 'NRCPUS - 1' * check the 'processor' keyword contains a cpu id different from the cpu we offlined * set cpuX back online * check one of the 'processor' keyword contains cpuX
Test : check interrupts show the right configuration in /proc/interrupts ========================================================================
for each cpu * set cpuX offline * check cpuX is not present in /proc/interrupts * set cpuX back online * check cpuX is present in /proc/interrupts
Test : check interrupts are migrated ====================================
for each cpu * set cpuX irq affinity * set cpuX offline * check irq are migrated on another cpu * set cpuX back online
Test : test userspace notification ==================================
for each cpu * set cpuX offline * check from userspace notification has been done with the command 'udevadm monitor --kernel --subsystem-match=cpu' * and the event is related to the cpuX and 'offline' * set the cpu online * check from userspace notification has been done with the command 'udevadm monitor --kernel --subsystem-match=cpu' * and the event is related to the cpuX and 'online'
Test : do some stress test ===========================
for each cpu * for i in 1 .. 50 * set cpuX offline * set cpuX back online
- -- http://www.linaro.org/ Linaro.org │ Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog