CC linaro-kernel.
Hi James,
Thanks a lot for your info! I did the backporting on lsk branch: git://git.linaro.org/kernel/linux-linaro-stable.git v4.1/topic/hibernate or https://git.linaro.org/kernel/linux-linaro-stable.git/shortlog/refs/heads/v4...
which has 142 commits, include 20 conflicts. most of them are just skip some missed commits contents. and I tried to give reasons for other complex conflicts fix.
I merged it into linux-linaro-lsk-v4.1-test branch which booted on my x86 qemu.
Would you like to give a review for that branch? or do a testing if it's trouble you much.
BTW, During the painful backporting I do think your previous version should be better to avoid much commits introductions. Does you previous version are just base kernel change? or some new ideas from community? Honestly, I have a bit regret for not taking Mark's suggestion on this.
Regards Alex
On 05/16/2016 06:57 PM, James Morse wrote:
Hi Mark and Alex,
On 13/05/16 14:58, Mark Brown wrote:
Is that something that you could help out with either by doing the backport (especially if you have versions for older kernels available from your development) or by providing some guidance on what's needed?
I can certainly help debug any problems you come across. What's needed will depend on what else is backported to LSK.
Hibernate reworks cpu_suspend() and kvm's cpu hotplug code (patches from Takahiro Akashi). The cpu_suspend changes may conflict with a t0sz bugfix, and further cleanup of that code by Mark Rutland that added cpu_uninstall_idmap(). (Given kexec uses these calls too, you may want to backport that series) The KVM work will depend on whether you have backported VHE. Beware taking an older version of the kvm patches, the ABI between EL1 and EL2 was changed, and the whole 'hyp-gone' thing is to avoid a user-visible error when the reboot syscall (and eventually kexec) races with guests being scheduled.
Just in case you run into it, one known-issue that Robin Murphy discovered: if you boot with 'no_console_suspend', and hibernate with a task that reads from the serial console after triggering the hibernate (systemd does this for some reason), the console-read blocks after resume, even when characters are sent to the console. Kernel messages still print to the console, and ssh-ing and sending the task sigint is enough to make it restart the syscall and carry on working normally. Given no_console_suspend is a debug option and hibernate/resume did work, its currently on the back-burner.
Let me know how you get on!
Thanks,
James