czwartek, 10 marca 2016

APM 5.1

Jak już wspominaliśmy wraz z wydaniem NeteXt'73 1.0.06 zadebiutowało nowe wydanie APM 5.1 [Advanced Power Management by e X t 7 3], czyli mechanizmu zarządzania energią i wydajnością. Tu wraz z wydaniem 5.1 staram się przede wszystkim rozwiązań zasadnicze problemy jakie napotkaliśmy - Ja oraz Marcin [NetBit73] w trakcie użytkowania systemów Ubuntu/Kubuntu oraz jakie pojawiły się z chwilą kiedy całkowicie oddzieliłem APM od "szkieletu" pm-utils, a zatem od Ubuntu 15.04 w górę. Jako że z chwilą "pozbycia się" zależności od pm-utils już samodzielnie musiałem przewidzieć wszelkie scenariusze funkcjonowania mechanizmu zarządzania energią i wydajnością ... skutkowało to z jednej strony znacznie lepszymi i w pełni zależnym od przyjętych przez nas rozwiań mechanizmem sterownia, ale z drugiej strony postawiło przed nami nowe wyzwania. Poniżej problemy jakie zostały rozwiązane w wersji APM 5.1:

  1. Brak możliwości wejścia w tryb uśpienia/"ułomne" wejście w tryb uśpienia. Dotyczyło to m.in. ultrabooka Marcina - Lenovo Yoga 2 Pro [na szczęście dotyczyło to jedynie małej grupy maszyn]. Tu problem pojawiał się z chwila wejścia, a raczej w większości przypadków braku wejścia w tryb uśpienia. Przyznam, ze przez dłuższy czas nie mogłem znaleźć rozwiązania problemu ... aż do chwili kiedy Marcin przyjechał do Krakowa [zeszły miesiąc] ;) Tu dzięki temu, że fizycznie miałam okazje zapoznać się z pracą tej maszyny ... znalazłem przyczynę i myślę, że w wersji APM która w pełni działa "w symbiozie" z systemd [Ubuntu 15.04 -16.04], tego rodzaju błąd już się nie pojawi.  
  2. Wybudzanie laptopa/ultrabooka z uśpienia przy jednoczesnym włączeniu wentylatorów maszyny na pełne obroty - bez możliwości ich regulacji. Powołana sytuacja była niezależna od wersji APM i wynikała z błędów w tablicach ACPI niektórych maszyn [na szczecie nie jest to duże grono]. Od wersji APM 5.1 wentylatory po wybudzeniu maszyny powinny automatycznie zostać przywrócone do stanu zbliżonego z chwilą uśpienia, a następnie zostają niezwłocznie dostosowane do nowych warunków = wyższa/niższa temperatura.
  3. Sterowanie podświetlaniem matrycy w niektórych laptopach/ultrabookach Samsunga.  Tu podobnie jak wyżej problem ten nie był zależny od APM. Jednak w kilku przypadkach stwierdziłem, że w wyniku błędów w funkcjonowaniu sterownika dla laptopów Samsunga, sterownie podświetlaniem matrycy na tych maszynach było niemożliwe. Od wersji 5.1 zatem zaaplikowaliśmy rozwiązanie, które może pomóc w takiej sytuacji:


Ponadto, jak już Marcin pisał, pojawiło się sporo zmian już w samy procesie sterownia APM. Tu Marcin wprowadził świetne mechanizmy walidowania oraz aktualizacji profilu. Dlatego dla Intela icore [i3, i5, i7] pracującego z governorem pstate [co stanowi dla niego podstawę w moich buildach kernela] zobaczymy tylko profile jakie dla niego założyłem:
  • intel-preformance
  • intel-powersave


Natomiast dla pozostałych procesorów - AMD oraz starszych produktach Intela np. C2D, tryby pracy:
  • performance-ondemand
  • performance-conservative
  • ondemand-ondemand
  • conservative-conservative
Pozdrawiam/Regards