Announcing a resync and update of the BFS CPU scheduler for linux-3.12
BFS by itself:
http://ck.kolivas.org/patches/bfs/3.0/3.12/3.12-sched-bfs-443.patch
CK branded BFS:
http://ck.kolivas.org/patches/3.0/3.12/3.12-ck1/
Apologies for the delays. I've been swamped by other projects (o.k. I lie, mainly just cgminer). The changes in this new version, apart from the obvious resync with mainline, are some timing fixes courtesy of Olivier Langlois (Thanks!) and a concerted effort to make suspend to RAM/resume work properly.
Enjoy!
お楽しみください
Thank you!
ReplyDeletethx for the release, but resuming from hibernation(suspend to disk) is still broken.
ReplyDeleteThank you graysky, one of the best news to day :) Hope that 3.12 is soon in repo-ck
ReplyDeleteI like to be thanked but I had nothing to do with this release... if you're thanking me for updating the Arch kernel packages in repo-ck then you are welcome :)
Deletefinnaly suspend working :D
ReplyDeleteit's patch day :D
Did somebody test suspend to disk on a multicore system with this patch ?
ReplyDeleteThis one is broken. Maybe my original openSUSE 3.12.0 kernel packages or BFS. First resume from hibernate didn't let me into re-login, while the rest was loaded (ssen in console). Resuming took ages(!!!) compared to 3.11.8.
ReplyDeleteAnd then, copying files to /dev/shm with more than enough swap almost stalled the system (unresponsive for minutes).
Manuel Krause
Second trial, no KDE re-login possible after resume from hibernation. This time with cma disabled (had been new to me last time, above). {Posting from my 3.11.8}
DeleteNot amused, regarding the "concerted effort", :-(
Manuel Krause
Not amused eh? I guess you get what you pay for :(
DeleteThe concerted effort was for suspend to ram and resume, not hibernation to disk. No idea about that.
@ck:
DeleteDidn't want to offend you. Sorry, if my words sounded like that.
But I think there's going on something weird with 3.12.0 & CK1.
Manuel Krause
Did you try vanilla 3.12.0 ?
DeleteAgain, my apologies! I appreciate your work on BFS/CK!
DeleteJust some preliminary info from this afternoon's testing: Without the ck1-patch the openSUSE-3.12.0 (ge8fa6b4) kernel-source failed in the same way to resume from hibernation.
Now I have two choices to investigate further: use the openSUSE kernel-source-vanilla package, that is made without openSUSE addon stuff, or remove the still (as usual) applied BFQ-patches.
Best regards, Manuel Krause
(1) Plain vanilla openSUSE source rpm is working with hibernate/resume from out of KDE.
Delete(2) Scaring thing that may have occurred with all my 3.12.0 testing before, it looses ttyS0 when resumed, with "ttyS0: LSR safety check engaged!" in dmesg. That is my Trackman Marble @COM1 serial port. I never got this message before (prior to 3.12). And reconnecting it, what worked with 3.11.x, fails. But that effect in conjunction to my normally deactivated touchpad made me think that the Xserver has died (in my posting above).
So, please, tell us, how can we be helpful? You have my email address.
Best regards, Manuel
Hi,
Deleteusing the new BFS on 3.12.1 ZEN kernel on OpenSuse 13.1. Suspend and hibernate do work both. Ok, must be fair, I must remove the suspend package (s2disk, s2ram etc) and using systemd to suspend/hibernate (e.g. with systemctl hibernate). Now its working fine.
So thanks Con.
cu sysitos
(3) plain vanilla 3.12.0 + BFQ (no BFS/CK) patches works, as well, with hibernate+resume. The serial mouse is still M.I.A. there.
DeleteManuel
(4) plain vanilla 3.12.1 + BFQ + CK1 survived a suspend-to-ram with serial mouse alive!
DeleteManuel
(5) plain vanilla 3.12.1 + BFQ + CK1 survived a suspend-to disk but now serial mouse died again. PS/2 touchpad keeps working. So, it's a 3.12. kernel (suspend-to-disk) issue?
DeleteManuel
@ck: Quite a question to you, to apply brute force... Can't you, maybe, adjust the the patch segments that resulted in "suspend-to-ram" to work, in a simple way --> for "suspend-to-disk" to work, too?
DeleteBest regards, Manuel
Suspend to ram is a completely different process to suspend to disk. I didn't touch any code directly that affects suspend to disk but the scheduler is involved in everything that happens everywhere in different ways. The answer then is no, it doesn't work that way.
DeleteJust to "draw a final stroke" under this sub-thread's first sentences with my conclusions: Going to the vanilla kernel sources provided by openSUSE, without their added stuff, prevented having problems with heavy shm/swap usage. To be honest, CFS also produces hiccups in this scenario. Also, hibernate+resume _do_ work, the mentioned issues are _not_ BFS/CK1 related!
DeleteAnd another weird thing I found out by coincidence today, leading this here to get even more offtopic:
(1) hibernate+resume looses my serial trackball - also with pure vanilla - no way to get it back
(2) a following suspend-to-ram+resume, alone, didn't reactivate it:
(3) then issuing in a root konsole "setserial -a /dev/ttyS0" -- that only reads out the config -- does reactivate the trackball ! All configs from xorg.conf are there
(4) PS/2 touchpad is not affected at all
(5) it's fully reproducible in the sequence written
If anyone has a clue to this... I would be thankful !
Best regards, Manuel Krause
Thank you for this project!
ReplyDeleteUnfortunately, BFS for 3.12 kernel completely breaks hibernation for me :(. Vanilla works OK.
ReplyDeleteIt seems that
Deletels -1 /proc | egrep -e '[0-9]+' | sort -n | xargs -I {} taskset -pc 0 {}
cures hibernation with BFS enabled. Interesting.
Can you, please, be so kind to explain, what that command would/should do?!
DeleteThanks, Manuel Krause
That is interesting because the scheduler does that before suspending to ram automatically. Perhaps somehow in BFS it doesn't do it before suspending to disk. Will investigate some time in the next year when time permits :\
Delete@Manuel Krause: this command pins all processes to first CPU core.
Delete@ck: nevertheless, sometimes this trick doesn't help :(. It would be great to see some fix from you.
If it doesn't help then that's not the issue. I can't provide a fix for something I don't know the cause of and don't have the time to investigate...
DeleteI guess it *sometimes* doesn't help, because after executing that command new processes may spawn by something else, and those processes could be placed on non-zero CPU.
DeleteWhat about the kernel config parameter BOOTPARAM_HOTPLUG_CPU0? It's for my config NO and hibernation does work here. But maybe the init system (systemd for me) has some influence too.
Deletecu sysitos
That should never be enabled with BFS. I thought I made it so you could NOT enable it in BFS.
DeleteYou could enable it with BFS as I have got one in my config :/. Will try to disable and test again.
DeleteUnfortunately, it didn't help. The system hibernates, then after powering it on again image is read and system hangs.
DeleteThe most interesting thing is that TuxOnIce+BFS works, and vanilla+BFS doesn't. Possible mainstream bug unhiding detected?
DeleteWeird, and possible that it's a mainstream bug only unmasked by BFS (since it's not the first time this would have happened), but my general rule is if something's broken with my code applied, then it's almost certainly my fault.
Deleteit wont compile on most recent 3.12 kernel...
ReplyDeleteBfs does not compile anything.
Deletegcc-4.7 compiled my linux-3.12.1 - patched with bfs-443 perfectly! And runs well. Thank you very much, Con!
Ralph Ulrich, greetings from Hamburg.
PS: Manuel, if you want to discuss open a thread at phoronix? I know, Chen posted there in the forums also.
He/she most probably wanted to express, that the kernel has not been compiled with BFS patches applied. Without error messages we won't know what went wrong.
Delete@Ralph: Would you mind uploading your working kernel .config file? You can find mine here: http://pastebin.com/t9FUA56B (I'm sorry that I haven't thrown out a lot of the usual and unneeded openSUSE config options, so far.)
Best regards, Manuel Krause
Hi Manuel, myconf:
Deletehttp://paste.opensuse.org/57295471
It is used for an 3 years old AppleMacMini, intel coreDuo.
All of Amd I disabled and many more: I just need 20 Min to compile.
@Manuel, I asked you to open a forum thread, because this blog feedback hasn't all the features (code tags etc). I we don't come to a conclusion, we then might ask here a question.
Ralph Ulrich
@Manuel, forgot to say: I don't use hibernation. I haven't tested:
DeleteGentoo~unstable, kde-4.11.3, systemd-208, nvidia-331.20, gcc-4.7.3
Ralph
Sorry, Ralph, that I didn't react to your encouragement to open a forum thread, so far. Currently, I need to catch the "golden thread" through my previous testing, maybe I did sth. wrong. If the newly compiled +ck1 +bfq 3.12.1 vanilla openSUSE also fails, ...
DeleteLet's see and exercise a little patience.
Manuel Krause
Keep away from Bfq patches: Far too complicated - I stay with deadline for IO, which ever had good test results at phoronix.
DeleteRalph
BFQ has always (before 3.12, at least) been a good companion for disk performance, without any bad interference with BFS/CK. I don't see yet, why you consider it "far too complicated."
DeleteManuel
I finaly got a full backtrace of the hibernate resume hang.
ReplyDeletehttp://imgur.com/mQT0FVV
No idea about the backtrace, but your BIOS is out of date. Version 1903 was released on 2013.09.16.
DeletePlease, guys&gals, keep on looking at the first page: Con searches for people with working suspend-to-ram and still failing suspend-to-disk for his experimental test patch:
ReplyDeletehttp://ck-hack.blogspot.de/2013/11/experimental-hibernation-patch-for-bfs.html?showComment=1385504880963#c56698966828730126
I really want to encourage you,
Manuel Krause