kernel 2.6.x und suspend-modi

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

kernel 2.6.x und suspend-modi

Beitrag von Georgy » 26.01.2004 17:33:23

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

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 27.01.2004 02:51:01

1. wie wird dann swsusp über dne anderen code-zweig ausgelöst!?
swsusp arbeitet mit ACPI zusammen und stellt für ACPI den derzeitgen S4 Sleepstate. D.h. swsusp aktiviert man im Kernel mit

Code: Alles auswählen

echo 4 > /proc/acpi/sleep
und 2. über welchen code-teil läuft der suspend to ram-mocus, wenn man in die state-ddatei nicht disk sonden mem reinschreibt!?
Suspend to RAM (StR) ist Sleepstate 3, und wird demnach mit

Code: Alles auswählen

echo 3 > /proc/acpi/sleep
aktiviert.

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.

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 27.01.2004 19:26:31

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

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 27.01.2004 20:12:20

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

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 27.01.2004 21:32:53

Georgy hat geschrieben: [...]
(übrigens ist laut der i-net-seite, der swsusp2 nimmer auf ACPI angewiesen....)
Hm, ich habe das oben etwas undeutlich ausgedrückt, aber es stimmt, ACPI ist für swsusp2 nicht mehr nötig.
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...
Merkwürdig, hast du den ganzen Swapspace wieder wenn du swapoff / swapon auf die Swappartition loslässt?
und ich bekomm auf der konsole wo ich mich einlogg, immer wieder irgendwelche kernel meldungen aufs prompt geschrieben...die "funken" sozusagen meiner eingabe dazwischen...
Welche Meldungen sind das genau?
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...
Benutzt Du gpm? Wenn ja, probier's mal ohne, damit gibt's scheinbar öfter Probleme.
also insofern...ich bin mit meinem 2.4.24-xfs-fe-dm1 (furchtbare bezeichnung *gg*) ganz zufrieden...
Ist xfs nicht eh schon seit 2.4.23 im stock kernel?
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.

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 28.01.2004 16:58:54

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

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 29.01.2004 15:59:08

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. :)
Magic is always the best solution -- especially reliable magic.

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 29.01.2004 19:01:00

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

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 29.01.2004 19:35:10

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.
Magic is always the best solution -- especially reliable magic.

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 30.01.2004 16:47:19

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.
Magic is always the best solution -- especially reliable magic.

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 31.01.2004 16:33:55

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

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 05.02.2004 12:22:59

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!? 8O
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

Benutzeravatar
sebas
Beiträge: 419
Registriert: 15.01.2004 19:02:29
Wohnort: Nijmegen / NL
Kontaktdaten:

Beitrag von sebas » 05.02.2004 14:20:47

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!
Hast du erst den 'version specific patch, und dann den Core Patch eingespielt? (Allerdings erwarte ich dann eher einen Compiler Error als einen Panic.)

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
wenn swsusp ohne ACPI läuft, warum wird es dann eigentlich über /proc/acpi/sleep
aufgerufen!? 8O
swsusp (stock) läuft über ACPI, swsusp2 (also das gepatchte) aktivierst du mit

Code: Alles auswählen

 echo > /proc/swsusp/activate
oder, wenn du noch Treiber entladen musst, mit dem suspend script.
Magic is always the best solution -- especially reliable magic.

Georgy
Beiträge: 97
Registriert: 07.01.2004 17:35:19
Kontaktdaten:

Beitrag von Georgy » 06.02.2004 12:04:02

ähm...ahja!

nunja...
ich habs eigentlich so gemacht...vanilla kernel, dann der kernel-specific patch und dann der core....

trotzdem panic, ziemlcih genau nachdem er den swapspeicher erkannt hat!

nunja....

werd noch bissi rumprobieren ;)

Antworten