Brak zarz

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Brak zarządcy - ondemand - dla procesora i3-3120M

Post autor: pone13 »

Witam!

Mama nowego laptopa, a w środku procesor ivy bridge i3-3120M, wersja systemu to obecny Debian [n]testowy[/b].

Kod: Zaznacz cały

pejot@karakoram:~$ cat /proc/version 
Linux version 3.10-3-amd64 (debian-kernel@lists.debian.org) (gcc version 4.7.3 (Debian 4.7.3-7) ) #1 SMP Debian 3.10.11-1 (2013-09-10)

Kod: Zaznacz cały

pejot@karakoram:~$ cat /proc/cpuinfo 
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 58
model name    : Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping    : 9
microcode    : 0x19
cpu MHz        : 1850.000
cache size    : 3072 KB
physical id    : 0
siblings    : 4
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips    : 4988.70
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:


processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 58
model name    : Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping    : 9
microcode    : 0x19
cpu MHz        : 1300.000
cache size    : 3072 KB
physical id    : 0
siblings    : 4
core id        : 0
cpu cores    : 2
apicid        : 1
initial apicid    : 1
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips    : 4988.70
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:


processor    : 2
vendor_id    : GenuineIntel
cpu family    : 6
model        : 58
model name    : Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping    : 9
microcode    : 0x19
cpu MHz        : 1825.000
cache size    : 3072 KB
physical id    : 0
siblings    : 4
core id        : 1
cpu cores    : 2
apicid        : 2
initial apicid    : 2
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips    : 4988.70
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:


processor    : 3
vendor_id    : GenuineIntel
cpu family    : 6
model        : 58
model name    : Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping    : 9
microcode    : 0x19
cpu MHz        : 1200.000
cache size    : 3072 KB
physical id    : 0
siblings    : 4
core id        : 1
cpu cores    : 2
apicid        : 3
initial apicid    : 3
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx f16c lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips    : 4988.70
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:

Ostatnio, przy okazji modyfikacji ustawień pakietu laptop-mode-tools zauważyłem, że z dostępnych zarządców częstotliwości taktowania procesora dostępne są tylko dwa:

Kod: Zaznacz cały

pejot@karakoram:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 
performance powersave

Najbardziej zastanawia mnie brak zarządcy ,,ondemand'', może ktoś wie o co tu chodzi?

W pliku ustawień laptop-mode-tools ustawiłem zarządce ,,performance'' gdy komputer pracuje na zasilaniu AC, a ,,powersave'' gdy jest na baterii, nie mam pewności czy dobrze czy nie. Domyślnie użyty był brakujący ,,ondemand'' co z racji jego braku nie działało.

Dorzucam wydruk:

Kod: Zaznacz cały

pejot@karakoram:~$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 2.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
Awatar użytkownika
diabel
Posty: 8
Rejestracja: 20 grudnia 2013, 05:08
Lokalizacja: Zielona Góra

Post autor: diabel »

Pokaż wynik zgrep 'ONDEMAND' /proc/config.gz .
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Nie ma takiego pliku, zdziwiłbym się jak w systemie plików proc byłoby umieszczone archiwum gunzip'a?
Awatar użytkownika
diabel
Posty: 8
Rejestracja: 20 grudnia 2013, 05:08
Lokalizacja: Zielona Góra

Post autor: diabel »

Witam,
jeśli Twój config kernela nie ma wkomilowanej opcji obsługi konfiguracji kernela w formie gzip w /proc dlatego go nie ma (bądź nie został załadowany moduł) w takim przypadku zostaje jedynie zaufać /usr/src/linux/.config . Opcja ta dokładnie nazywa się "CONFIG_CPU_FREQ_GOV_ONDEMAND" w zależności od wyboru może być ona wkompilowana do jądra na sztywno lub jako moduł.
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Nie kompilowałem jądra, mam aktualne z gałęzi testing i opcja zarządcy 'ondemand' jest ustawiona:

Kod: Zaznacz cały

pejot@karakoram:/$ cat /boot/config-$(uname -r) | grep 'ONDEMAND'
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
Awatar użytkownika
diabel
Posty: 8
Rejestracja: 20 grudnia 2013, 05:08
Lokalizacja: Zielona Góra

Post autor: diabel »

Nie widzę, opcji żeby było to co innego niż kernel (przynajmniej ja się z tym nie spotakłem). Może to zabrzmi paradoksalnie, ale czy to na 1000000% jest prawidłowy config od kernela którego używasz? W src kernelu sprawdziłbym całą sekcję "Power management and ACPI options" a następnie "CPU Frequency scaling" z tego co mi wiadomo plik w pseudo systemie fs /sys odnośnie dostępnych zarządców jest jako read-only, więc nie ma możliwości, że "coś" go usunęło z tego pliku (chyba, że zewnętrzny moduł, ale nie sądzę, że bawisz się w psucie/grzebanie w kernelu). Nie pasuje mi to gdyż masz wg. Twojej zwrotki to wkompilowane, mało tego ustawione jest to jako główny zarządca energii procesora.
ODPOWIEDZ