kernel 2.6.x und suspend-modi
kernel 2.6.x und suspend-modi
hiho leute!
ich hab mich ein wenig mit dme 2.6 er rumgeschlagen, und dort gelesen, dass es im quellcoder pmdisk und swsusp extra gibt!
in der kenreldoku hab ich gelesen, dass das pmdisk über das sysfs (/sys/power/state) angesprochen wird, nun stellen sich mir allerdings einige fragen...
1. wie wird dann swsusp über dne anderen code-zweig ausgelöst!?
und 2. über welchen code-teil läuft der suspend to ram-mocus, wenn man in die state-ddatei nicht disk sonden mem reinschreibt!?
das kapier ich nicht so hundertprozentig!
grüßchen
Geo
ich hab mich ein wenig mit dme 2.6 er rumgeschlagen, und dort gelesen, dass es im quellcoder pmdisk und swsusp extra gibt!
in der kenreldoku hab ich gelesen, dass das pmdisk über das sysfs (/sys/power/state) angesprochen wird, nun stellen sich mir allerdings einige fragen...
1. wie wird dann swsusp über dne anderen code-zweig ausgelöst!?
und 2. über welchen code-teil läuft der suspend to ram-mocus, wenn man in die state-ddatei nicht disk sonden mem reinschreibt!?
das kapier ich nicht so hundertprozentig!
grüßchen
Geo
swsusp arbeitet mit ACPI zusammen und stellt für ACPI den derzeitgen S4 Sleepstate. D.h. swsusp aktiviert man im Kernel mit1. wie wird dann swsusp über dne anderen code-zweig ausgelöst!?
Code: Alles auswählen
echo 4 > /proc/acpi/sleep
Suspend to RAM (StR) ist Sleepstate 3, und wird demnach mitund 2. über welchen code-teil läuft der suspend to ram-mocus, wenn man in die state-ddatei nicht disk sonden mem reinschreibt!?
Code: Alles auswählen
echo 3 > /proc/acpi/sleep
pmdisk und swsusp sind also 2 verschiedene Implementationen vom hibernate Feature.Mit pmdisk habe ich mich bisher nicht weiter auseinandergesetzt, weil ich 2.6 bisher nur auf dem Server benutze. An swusp hat sich jedoch seit dem Merge mit dem 2.5er einiges getan, es gibt mittlerweile rc4 von swsusp2.0. Patches dafür findest du auf http://swsusp.sf.net . Alle '3' Implementationen sind übrigens Forks derselben Codebase.
Eine interessante Seite auf der die drei existierenden Implementationen verglichen werden steht hier:
http://swsusp.sourceforge.net/features.html
Wie du sehen kannst bietet swsusp2 einige 'nette' neue Features. Es ist auch wesentlich stabiler als das 'stock 2.6 swsusp', und deutlich schneller (> Faktor 2).
Auf meinem Rechnern läuft swusp2 sehr stabil mit 2.4.24. Mit 2.6.x funktioniert's auch gut, obwohl hier noch etwas mehr Haken und Ösen mit verbunden sind. Das kann aber auch mit in 2.6 noch nicht bugfreien Treibern zu tun haben. Probier's mal, wenn du Fragen hast, melde Dich einfach.
Sehr chique ist swsusp2 übrigens mit den Patches von http://www.bootsplash.org

Magic is always the best solution -- especially reliable magic.
das mit dem suspend to rams timmt aber nicht ganz, das kann man bei 2.6 nämlich auch über das sysfs auslösen! indem man "mem" in die /sys/power/state datei schreibt!
das mit swsusp hab ich inzwischen auch versucht...die kernelquellen gesaugt, das core-patch und das kenrel-spezifische, aber das patch meldet an einigen stellen fehler und der kenrel kompiliert danach nicht richtig, bricht mit error ab
vielleicht leigt das daran, dass es keinr einer 2.4.24er ist, sondern schon xfs-patch und noch ienige andere drin sind! (is nicht von mir, hat wer gebsatelt der mehr ahnung hat und mir n skript gegeben, das die quellen saugt und die patches drüberbügelt)
das 2.6er suspend hab ich zuletzt mit 2.6.0 versucht, pmdisk hat versucht zu suspenden und ist augenblicklich wieder resumed!
also quasi ne schleife gedreht...
als ich eben dieses echo -d "mem" /sys/power/state - versuchte, um ein ram-suspend hinzubekommen, ging es soweit, dass er einschläft, die LED für suspend to ram blinkt auch brav, nur wacht er nie mehr auf!
mit 2.6.1 noch nicht versucht...muss ich mla machen...
danke für die hinweise!
werd mla bissi experimentieren
grüßchen
Geo
das mit swsusp hab ich inzwischen auch versucht...die kernelquellen gesaugt, das core-patch und das kenrel-spezifische, aber das patch meldet an einigen stellen fehler und der kenrel kompiliert danach nicht richtig, bricht mit error ab

vielleicht leigt das daran, dass es keinr einer 2.4.24er ist, sondern schon xfs-patch und noch ienige andere drin sind! (is nicht von mir, hat wer gebsatelt der mehr ahnung hat und mir n skript gegeben, das die quellen saugt und die patches drüberbügelt)
das 2.6er suspend hab ich zuletzt mit 2.6.0 versucht, pmdisk hat versucht zu suspenden und ist augenblicklich wieder resumed!
also quasi ne schleife gedreht...
als ich eben dieses echo -d "mem" /sys/power/state - versuchte, um ein ram-suspend hinzubekommen, ging es soweit, dass er einschläft, die LED für suspend to ram blinkt auch brav, nur wacht er nie mehr auf!
mit 2.6.1 noch nicht versucht...muss ich mla machen...
danke für die hinweise!
werd mla bissi experimentieren
grüßchen
Geo
hihi, also suspend to ram will absolut nicht funktionieren...
keine chance ihn wiederzuerwecken!
aber suspend to disk funzt nun! zumindest unter 2.6 mit dem swsusp-zeugs, also über das proc-filesystem!
das über sysfs krieg ich grad nimmer ans laufen, vielleicht hab ich im eifer den support dafür deaktiviert! aber früher unter 2.6.0 ging der versuch zu suspenden immer schief!
also gibts 2 möglichkeiten...entweder es ging nun sowieso, egal über welchen codezweig weil das was ihn veranlasst ha,t sofort wieder zu resumen, nun behoben ist...
oder es liegt einfach daran dass swsusp besser funktioniert als pmdisk!
(übrigens ist laut der i-net-seite, der swsusp2 nimmer auf ACPI angewiesen....)
ganz hundert pro tuts auch noch nicht, weil wenn ich von disk resume, irgendwie nicht alles swap wieder freigegeben wird, ca. 2mb bleiben belegt, obwohl sie vorher frei waren... und ich bekomm auf der konsole wo ich mich einlogg, immer wieder irgendwelche kernel meldungen aufs prompt geschrieben...die "funken" sozusagen meiner eingabe dazwischen...eigentlich sollten die alle auf tty8 landen...
nunja!
insgesamt funktioniert es recht gut.... zumindest eben unter 2.6.1, den ich aber eigentlich nie verwend, da die ps/2-maus nahezu unbenutzbar ist...
(alle paar sekunden hüpft der cursor unkontrolliert über dne bildschirm und auf dem log steht die maus (oder das touchpad) hätten den sync verloren und anch 2 sek etwa isr "resynced" wie er meldet, und dann hält das 10 sek. und es geht von vorn los!)
also insofern...ich bin mit meinem 2.4.24-xfs-fe-dm1 (furchtbare bezeichnung *gg*) ganz zufrieden... suspend wäre zwar noch n nettes feature, aber wenigstens weiss ich, dass es prinzipiell funktioniert, und kann, wenn einer meiner nervigen redmond-mäßig-"abtrünnigen" berufsschulkollegen mla wieder nervt, ihm vorführen, dass linux doch für laptops taugt!
(glaubt mir keiner
obwohl ihcs draufhab und mit mir rumtrag!)
danke trotzdem...
grüßchen
Geo
keine chance ihn wiederzuerwecken!
aber suspend to disk funzt nun! zumindest unter 2.6 mit dem swsusp-zeugs, also über das proc-filesystem!
das über sysfs krieg ich grad nimmer ans laufen, vielleicht hab ich im eifer den support dafür deaktiviert! aber früher unter 2.6.0 ging der versuch zu suspenden immer schief!
also gibts 2 möglichkeiten...entweder es ging nun sowieso, egal über welchen codezweig weil das was ihn veranlasst ha,t sofort wieder zu resumen, nun behoben ist...
oder es liegt einfach daran dass swsusp besser funktioniert als pmdisk!
(übrigens ist laut der i-net-seite, der swsusp2 nimmer auf ACPI angewiesen....)
ganz hundert pro tuts auch noch nicht, weil wenn ich von disk resume, irgendwie nicht alles swap wieder freigegeben wird, ca. 2mb bleiben belegt, obwohl sie vorher frei waren... und ich bekomm auf der konsole wo ich mich einlogg, immer wieder irgendwelche kernel meldungen aufs prompt geschrieben...die "funken" sozusagen meiner eingabe dazwischen...eigentlich sollten die alle auf tty8 landen...
nunja!
insgesamt funktioniert es recht gut.... zumindest eben unter 2.6.1, den ich aber eigentlich nie verwend, da die ps/2-maus nahezu unbenutzbar ist...
(alle paar sekunden hüpft der cursor unkontrolliert über dne bildschirm und auf dem log steht die maus (oder das touchpad) hätten den sync verloren und anch 2 sek etwa isr "resynced" wie er meldet, und dann hält das 10 sek. und es geht von vorn los!)
also insofern...ich bin mit meinem 2.4.24-xfs-fe-dm1 (furchtbare bezeichnung *gg*) ganz zufrieden... suspend wäre zwar noch n nettes feature, aber wenigstens weiss ich, dass es prinzipiell funktioniert, und kann, wenn einer meiner nervigen redmond-mäßig-"abtrünnigen" berufsschulkollegen mla wieder nervt, ihm vorführen, dass linux doch für laptops taugt!

(glaubt mir keiner

danke trotzdem...
grüßchen
Geo
Hm, ich habe das oben etwas undeutlich ausgedrückt, aber es stimmt, ACPI ist für swsusp2 nicht mehr nötig.Georgy hat geschrieben: [...]
(übrigens ist laut der i-net-seite, der swsusp2 nimmer auf ACPI angewiesen....)
Merkwürdig, hast du den ganzen Swapspace wieder wenn du swapoff / swapon auf die Swappartition loslässt?ganz hundert pro tuts auch noch nicht, weil wenn ich von disk resume, irgendwie nicht alles swap wieder freigegeben wird, ca. 2mb bleiben belegt, obwohl sie vorher frei waren...
Welche Meldungen sind das genau?und ich bekomm auf der konsole wo ich mich einlogg, immer wieder irgendwelche kernel meldungen aufs prompt geschrieben...die "funken" sozusagen meiner eingabe dazwischen...
Benutzt Du gpm? Wenn ja, probier's mal ohne, damit gibt's scheinbar öfter Probleme.insgesamt funktioniert es recht gut.... zumindest eben unter 2.6.1, den ich aber eigentlich nie verwend, da die ps/2-maus nahezu unbenutzbar ist...
Ist xfs nicht eh schon seit 2.4.23 im stock kernel?also insofern...ich bin mit meinem 2.4.24-xfs-fe-dm1 (furchtbare bezeichnung *gg*) ganz zufrieden...
Du könntest mal meine gepatchten Sources probieren: http://vizzzion.org/~sebas/kernels/linu ... sp.tar.bz2
Unter 2.4.x läuft swusp2 hier noch ein ganzes Stück stabiler als unter 2.6. Wofür stehen fe und dm in den Kernelsources die du benutzt?
Zum tunen kann ich Dir übrigens die folgenden Tips geben:
- schalte gzip compression ab, das ist eh zu langsam (# echo 1 > /proc/swsusp/disable_gzip_compression ), und LZF Compression bringt wesentlich mehr alleine als beide zusammen.
- spiel mal mit dem image_size_limit rum, (z.B. echo 300 > /proc/swsusp/image_size_limit), du kannst z.B vor dem Suspenden alle Caches leermachen, so geht Suspenden und Resumen schneller, allerdings ist das System danach etwas weniger responsive, weil halt einige Caches zurückgelesen werden müssen.
- Mit [Escape] kann man das Suspenden unterbrechen, wenn man vorher # echo 1 > /proc/swusp/enable_escape gemacht hat.
Magic is always the best solution -- especially reliable magic.
ok danke!
werd ich mal austesten, wofür das fe steht, weiss ich nciht genau, aber dm1 steht wohl für device-mapper!
wie gesagt, ist nicht mein kernel, hab ihn als deb-paket installiert und läuft gut!
das mit dme swapoff-swapon werd ich auch mla checken...
ich dnek halt, es ist im 2.6er whl noch bissi experimentell...
die meldungen, sind allerlei kernelmeldungen, die sonst auf /var/log/messages landen, ich hab die syslog.conf modifiziert, dass eben diese ausgaben auch auf tty8 ausgegeben werden!
nur kommen die eben ab und zu auhc auf tty1 raus, so als wäre irgend ein output-stream falsch gelenkt...
gpm hab ich nie benutzt... hatte dasselbe mausprob allerdings schon mit 2.6.0 und hatte gehofft es wäre mit 2.6.1 gebügelt...nunja...
vielleicht auch n hardware-prob.... ist n gericom-laptop hier mit sis-chipset...dme trau ich manchmal nicht so ganz
*gg*
das mit der kompression und alledem nunja...wenn mal tut, experimentier ich damit...
hab aber noch n frägchen...was issn suspend state 5??
gibts noch was krasseres als susp to disk!?
pmdisk hat noch dasselbe prob wie früher, allerding geht dafür swsusp unter 2.6...
wenn ichs mal erfolgreich getestet hab, kann ich ja n kleines skript schreiben dass diese echos ausführt, vor dme suspend und so...evtl. auch X vorher beenden...weiss nicht ob diese ATI-treiber und der Xserver das suspenden mitmachen...
mal sehen...
danke vielmals!
ich saug die quellen wenn ich mal wieder an ner guten leitung hänge! (daheim über isdn dauert das soewig!)
grüßchen
Geo
werd ich mal austesten, wofür das fe steht, weiss ich nciht genau, aber dm1 steht wohl für device-mapper!
wie gesagt, ist nicht mein kernel, hab ihn als deb-paket installiert und läuft gut!
das mit dme swapoff-swapon werd ich auch mla checken...
ich dnek halt, es ist im 2.6er whl noch bissi experimentell...
die meldungen, sind allerlei kernelmeldungen, die sonst auf /var/log/messages landen, ich hab die syslog.conf modifiziert, dass eben diese ausgaben auch auf tty8 ausgegeben werden!
nur kommen die eben ab und zu auhc auf tty1 raus, so als wäre irgend ein output-stream falsch gelenkt...
gpm hab ich nie benutzt... hatte dasselbe mausprob allerdings schon mit 2.6.0 und hatte gehofft es wäre mit 2.6.1 gebügelt...nunja...
vielleicht auch n hardware-prob.... ist n gericom-laptop hier mit sis-chipset...dme trau ich manchmal nicht so ganz

das mit der kompression und alledem nunja...wenn mal tut, experimentier ich damit...
hab aber noch n frägchen...was issn suspend state 5??
gibts noch was krasseres als susp to disk!?
pmdisk hat noch dasselbe prob wie früher, allerding geht dafür swsusp unter 2.6...
wenn ichs mal erfolgreich getestet hab, kann ich ja n kleines skript schreiben dass diese echos ausführt, vor dme suspend und so...evtl. auch X vorher beenden...weiss nicht ob diese ATI-treiber und der Xserver das suspenden mitmachen...
mal sehen...
danke vielmals!
ich saug die quellen wenn ich mal wieder an ner guten leitung hänge! (daheim über isdn dauert das soewig!)
grüßchen
Geo
Die Radeon Treiber aus dem dri-cvs machen das auf jeden Fall mit, die stock 2.6 Treiber sollten es auch können, dank CPBotha, der das Powermanagement für die Radeon DRI Treiber gecodet hat. Hier geht's wunderbar.
Ich habe letztens einem Freund swsusp installiert, auch auf einem SiS based Notebook (chipset, vga und network). Die einzigen Probleme gab's mit den USB Treibern und den Netzwerkkartentreibern. Die entsprechenden Module unloade ich jetzt vor dem suspenden, danach wieder insmodden, und geht.
Ich habe letztens einem Freund swsusp installiert, auch auf einem SiS based Notebook (chipset, vga und network). Die einzigen Probleme gab's mit den USB Treibern und den Netzwerkkartentreibern. Die entsprechenden Module unloade ich jetzt vor dem suspenden, danach wieder insmodden, und geht.

Magic is always the best solution -- especially reliable magic.
cool...
nunja, meine ati-treiber sind die direkt von ati, 3d-beschleunigte (ist ne radeon 9600 mobility)
hab mir heute morgen deine quellen gesaugt und wenn ich am WE zeit finde, kompilier ich den kernel mal und checke das!
danke für all die hinweise...ich meld mich dannw ieder, wenn ich genaueres weiß!
grüßchen
Geo
nunja, meine ati-treiber sind die direkt von ati, 3d-beschleunigte (ist ne radeon 9600 mobility)
hab mir heute morgen deine quellen gesaugt und wenn ich am WE zeit finde, kompilier ich den kernel mal und checke das!

danke für all die hinweise...ich meld mich dannw ieder, wenn ich genaueres weiß!
grüßchen
Geo
Ich patche eventuell vor dem Wochenende noch neue Sources, swsusp scheint ganz kurz vor 2.0 zu sein, ich will's nochmal testen bevor es 2.0 heisst und ich Probleme habe.
Wenn ich neugepatchte Sources habe, melde ich mich nochmal eben hier. Zum Testen sollten die aktuellen aber auch reichen, weil es (zumindest in der 2.4 Version) keine grösseren Anpassungen gegeben hat. Wie gesagt, die laufen hier fein stabil.
Wenn ich neugepatchte Sources habe, melde ich mich nochmal eben hier. Zum Testen sollten die aktuellen aber auch reichen, weil es (zumindest in der 2.4 Version) keine grösseren Anpassungen gegeben hat. Wie gesagt, die laufen hier fein stabil.
Magic is always the best solution -- especially reliable magic.
Soeben ist software suspend 2.0 erschienen, ich habe bereits gepatchte Sources für 2.4 erstellt, die hier wunderbar laufen.
http://vizzzion.org/~sebas/kernels/linu ... sp.tar.bz2
(bootsplash 3.0.7, ACPI 20040116, swsusp 2.0)
Wenn ich heute abend Zeit finde, bereite ich eventuell auch noch gepatchte Sources für 2.6 vor.
http://vizzzion.org/~sebas/kernels/linu ... sp.tar.bz2
(bootsplash 3.0.7, ACPI 20040116, swsusp 2.0)
Wenn ich heute abend Zeit finde, bereite ich eventuell auch noch gepatchte Sources für 2.6 vor.
Magic is always the best solution -- especially reliable magic.
danki, aber ich werd mir wohl bald den vanilla 2.4.24er saugen und selber patchen!
hab noch so einige patches die ich gern drin hätte, unter anderem wegen eines problems mit dme brenner....
hab da nen netten link, damit kann man nen 2.4er fast auf 2.6er features aufrüsten....
vor allem preemptibility, der andere scheduler usw.!
http://www.plumlocosoft.com/kernel/
mal chekcen...wäre bestimmt lustig, nen 2.4er ohne die 1000 kinderkrankheiten die der 2.6er noch hat, aber mit dne main-features ausgestattet
grüßchen
Geo
hab noch so einige patches die ich gern drin hätte, unter anderem wegen eines problems mit dme brenner....
hab da nen netten link, damit kann man nen 2.4er fast auf 2.6er features aufrüsten....
vor allem preemptibility, der andere scheduler usw.!
http://www.plumlocosoft.com/kernel/
mal chekcen...wäre bestimmt lustig, nen 2.4er ohne die 1000 kinderkrankheiten die der 2.6er noch hat, aber mit dne main-features ausgestattet

grüßchen
Geo
also ich habs nu 2 mal versucht....
2.4.24er vanilla kernel, swsusp 2.0 core patch und das für den kernel, beide angewendet, fehlerlos gelaufen!
das alte configfile eines funktionierenden 2.4.24ers geladen und das swsusp hinzugefügt, (swapwriter, lzf compression usw.)
kompiliert über make-kpkg...
installiert, gebootet, kernelpanic!
dasselbe mit nem 2.6.1er ohne swsusp-patch hat er funktioniert, aber hinterher mit selbem configfile keine chance...panic!
abgesehen davon frage ich mich eines...
wenn swsusp ohne ACPI läuft, warum wird es dann eigentlich über /proc/acpi/sleep
aufgerufen!?
manches ist mir echt zu hoch...
so wie ich das seh, strick ich mir nen 2.6.2er (im changelog steht sehr vieles über ps/2 und mouse-sachen, vielleicht ist dieses "lost sync" nun behoben) und hab da dann eben das "normale" swsusp drin, das der mitbringt, hat beim 2.6.1er ja fast anstandslos geklappt!
grüßchen
Geo
2.4.24er vanilla kernel, swsusp 2.0 core patch und das für den kernel, beide angewendet, fehlerlos gelaufen!
das alte configfile eines funktionierenden 2.4.24ers geladen und das swsusp hinzugefügt, (swapwriter, lzf compression usw.)
kompiliert über make-kpkg...
installiert, gebootet, kernelpanic!
dasselbe mit nem 2.6.1er ohne swsusp-patch hat er funktioniert, aber hinterher mit selbem configfile keine chance...panic!
abgesehen davon frage ich mich eines...
wenn swsusp ohne ACPI läuft, warum wird es dann eigentlich über /proc/acpi/sleep
aufgerufen!?

manches ist mir echt zu hoch...
so wie ich das seh, strick ich mir nen 2.6.2er (im changelog steht sehr vieles über ps/2 und mouse-sachen, vielleicht ist dieses "lost sync" nun behoben) und hab da dann eben das "normale" swsusp drin, das der mitbringt, hat beim 2.6.1er ja fast anstandslos geklappt!
grüßchen
Geo
Hast du erst den 'version specific patch, und dann den Core Patch eingespielt? (Allerdings erwarte ich dann eher einen Compiler Error als einen Panic.)Georgy hat geschrieben:also ich habs nu 2 mal versucht....
2.4.24er vanilla kernel, swsusp 2.0 core patch und das für den kernel, beide angewendet, fehlerlos gelaufen!
das alte configfile eines funktionierenden 2.4.24ers geladen und das swsusp hinzugefügt, (swapwriter, lzf compression usw.)
kompiliert über make-kpkg...
installiert, gebootet, kernelpanic!
Wo genau tritt der Panic auf?
In dieser Reihenfolge sollte es gehen:
- Vanilla Kernel
- [ACPI, bootsplash u.a]
- software-suspend-linux-2.4.24-rev7-whole.bz2
- software-suspend-core-2.0-whole.bz2
swsusp (stock) läuft über ACPI, swsusp2 (also das gepatchte) aktivierst du mitwenn swsusp ohne ACPI läuft, warum wird es dann eigentlich über /proc/acpi/sleep
aufgerufen!?![]()
Code: Alles auswählen
echo > /proc/swsusp/activate
Magic is always the best solution -- especially reliable magic.