ACPI Kernel issue

DWORD
Posts: 2
Joined: Mon Jul 06, 2009 12:43 pm

Re: ACPI Kernel issue

Post by DWORD »

Thanks prj! :D This appears to have solved my problems with hangs when copying large amounts of data via scp.

emmort
Posts: 2
Joined: Sun Jul 19, 2009 9:00 pm

Re: ACPI Kernel issue

Post by emmort »

It's quite strange, the cpuinfo reports 2 CPU with the half speed. please see records below. Sure it's with the defaults bios values and "standard" ubuntu Jaunty Jackaloppe 9.04.

The fit-pc2 works fine except the freeze. I suspect temperatue is also in cause. The fit-pc2 in vertical position works at means 2 times longer that horizontal on a table.
(I will change the bios, but I have no hdmi screen at home, will be done at work)

emmanuel@serveur:~$ uname -a
Linux serveur 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686 GNU/Linux
emmanuel@serveur:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU Z530 @ 1.60GHz
stepping : 2
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 3192.01
clflush size : 64
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU Z530 @ 1.60GHz
stepping : 2
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 3191.94
clflush size : 64
power management:

emmanuel@serveur:~$

Kleborp
Posts: 9
Joined: Sat Jul 11, 2009 1:05 pm

Re: ACPI Kernel issue

Post by Kleborp »

It doesn't see 2 different CPUs, it's 1 CPU with HyperThreading (notice how both the core id and physical id is 0, same CPU, and the 'ht' flag). It runs at 800mhz when it's idle, it utilizes cpu frequency scaling, see if it has 'cpufreq-info' as command, that should show:

Code: Select all

cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 800 MHz - 1.60 GHz
  available frequency steps: 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 800 MHz and 1.60 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 1
  hardware limits: 800 MHz - 1.60 GHz
  available frequency steps: 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 800 MHz and 1.60 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
Also the temperature should be fine, when mine's at full load I can't touch the casing for long, yet it only runs at roughly 65 degrees max, sounds hot but it should be fine for an Atom, no freezing or anything.

When it's idle it runs at 45 - 50 degrees, if lm_sensors is installed/set up it might be able to check the temp when you do 'sensors', vanilla kernels don't have a patch included yet that make it work for Atom cpus though, maybe Ubuntu's kernel does, I don't know.

The freezing was solved for me by changing the BIOS setting, you can also boot with 'acpi=off' as kernel paramater, which solves it as well I think, but it also stops cpu frequency scaling, standby and suspending from working, changing the BIOS is the easiest (if you can easily attach a monitor that is ;) )

jamapii
Posts: 7
Joined: Sat Jul 11, 2009 9:39 am

Re: ACPI Kernel issue

Post by jamapii »

I'm now trying processor.max_cstate=1 as boot parameter.

It seems to work so far (2 hours).

For this, I have compiled "Power management..." / "ACPI" / "Processor" (CONFIG_ACPI_PROCESSOR) into the kernel (not a module). There is a way to supply the parameter to the module (no recompiling), but I didn't find the correct one quickly, the first few google hits' solutions might be incorrect or distribution dependent.

prj
Posts: 90
Joined: Tue May 12, 2009 9:13 am

Re: ACPI Kernel issue

Post by prj »

Yeah, but wouldn't limiting the maximum C-state to 1 take away scaling?

jamapii
Posts: 7
Joined: Sat Jul 11, 2009 9:39 am

Re: ACPI Kernel issue

Post by jamapii »

I don't know. From what I could find out, scaling and C-states don't seem to depend on each other.

Did anyone ever try processor.max_cstate=2 ?

Update: scaling seems to work for me, with cpufreqd and fixed configuration (eliminate all unneeded rules, use ondemand governor, and see in syslog how tricky scoring is by setting verbosity=7)

prj
Posts: 90
Joined: Tue May 12, 2009 9:13 am

Re: ACPI Kernel issue

Post by prj »

You're right, I mixed up P-states and C-states. The C-states are the Processor idle states. And P-states are Processor performance states.

The higher (C2, C3, etc..) states saves more power but have higher wakeup latency. All CPUs must support C0 and C1 but the rest of them are optional and requires chipset support.

Would be nice if you could find the highest working C-state.

Cheers

objdump
Posts: 3
Joined: Thu Aug 20, 2009 12:17 pm

Re: ACPI Kernel issue

Post by objdump »

I'm seeing this on 2.6.30 on high network load [1].

Of course, disabling C states helps. However, my assumption that this will drain more energy was confirmed by my wattmeter.

My fit-pc2 (C-1600-W, wireless disabled) goes down to 4,3 watt when idle if C states are used.

Deactivating the C states feature in the BIOS raises the power consumption when idle by nearly 2 watt -- it is then using 6,2 watt.

Unacceptable ;-)

Anyways, I'm not here to complain and thus have some good news for all brave guys.

Using 2.6.31-rc8 I'm yet unable to reproduce the hang. Unfortunately I didn't find the exact commit which fixes the issue. If someone has time for bisecting I'd be interested in the result.

[1]
for i in `seq 10`; do wget http://some.fast.server/some.iso -O $i&; done;

Edit:

Giving some more load to the fit-pc2 made me trigger the hang on 2.6.31-rc8, too. :-(

However, it seems that booting with

Code: Select all

processor.latency_factor=6
seems to fix the issue.

The current default used in 2.6.30 defaults to

Code: Select all

processor.latency_factor=2
It's also run-time tunable

Code: Select all

echo 6 > /sys/module/processor/parameters/latency_factor
Tested with Debian SID (2.6.30-1-686).

jamapii
Posts: 7
Joined: Sat Jul 11, 2009 9:39 am

Re: ACPI Kernel issue

Post by jamapii »

processor.max_cstate=2

seems to work for me

kernel is 2.6.31-rc8-rt9-00499-ge8e8f56

ed1949
Posts: 5
Joined: Sat Dec 05, 2009 1:25 pm

Re: ACPI Kernel issue

Post by ed1949 »

Hello all!

Yesterday I installed my FitPC2 with a custom kernel 2.6.32 and immediately run into the hang problem. Limiting the C-States with

Code: Select all

processor.max_cstate=2
workarounds the problem, but is IMO not a solution. Using

Code: Select all

processor.latency_factor=6
did not solve the problem. The hang occured after a few minutes doing a SSH download via Gigabit ethernet. HT and EIST with the ondemand governor is enabled.

As the problem seems to occur with a lot of (all?) Linux kernels, I assume that this is a BIOS/ACPI problem. Are there any chances to get a fix for this?

Post Reply

Return to “Linux on fit-PC2”