parallella / parallella-utils

Library of various community contributed Parallella board admin scripts and programs
Other
39 stars 19 forks source link

thermald does not consult /etc/default or command line for allowed temp. ranges. #9

Open silvenshadow opened 7 years ago

silvenshadow commented 7 years ago

The only way I have been able to change these is recompiling. This should be read from /etc/default/parallella-thermald.

olajep commented 7 years ago

parallella-thermald reads THERMALD_MAX_TEMP from the environment. It does not read from /etc/default/parallella-thermald by itself. It's the job of the init system. Service files for systemd and upstart are provided.

If you want to start thermald with a different max temp from the command line you can do:

$ THERMALD_MAX_TEMP=65 parallella-thermald

I don't recommend changing the defaults, get a fan instead!

// Ola

silvenshadow commented 7 years ago

Ola,

Okay, I think I found this bug. Feature?

Behavior:

root@cirrus:~# THERMALD_MAX_TEMP=75 /usr/sbin/parallella-thermald-dist Parallella thermal watchdog daemon starting... Ignoring THERMALD_MAX_TEMP value. Allowed temperature range [0 -- 70] C. Using /dev/epiphany/mesh0 Entering mainloop. ^CGot Interrupt Exiting normally

These defines are set in thermald.c

define DEFAULT_MAX_TEMP 70

define CRITICAL_MAX_TEMP 70

define ENV_ALLOWED_MAX_TEMP CRITICAL_MAX_TEMP

Then this if block: if (env_max <= ENV_ALLOWED_MAX_TEMP && ENV_ALLOWED_MIN_TEMP < env_max) wd->max_temp = env_max;

So basically since the default max temp, and critical temp are the same, you can only lower the max temp with the environment, not raise it.

The Zynq 7010 datasheet says the max for this chip is 85c. With the Parallella in the Adapteva case, running video, net, usb, epiphany, and both arm cores at 100% I stay far below this mark. (Stable at about 78c). For my workloads 75c is a good shutdown point.

So is this a feature or a bug? :D

zmc

On 03/17/2017 12:38 PM, Ola Jeppsson wrote:

parallella-thermald reads THERMALD_MAX_TEMP from the environment. It does not read from /etc/default/parallella-thermald by itself. It's the job of the init system. Service files for systemd and upstart are provided.

If you want to start thermald with a different max temp from the command line you can do:

|$ THERMALD_MAX_TEMP=65 parallella-thermald |

I don't recommend changing the defaults, get a fan instead!

// Ola

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/parallella/parallella-utils/issues/9#issuecomment-287406025, or mute the thread https://github.com/notifications/unsubscribe-auth/ATYmn2ZUQwOzlUtgsKDTyonlrgrRzqk8ks5rmrcDgaJpZM4MdKjF.

olajep commented 7 years ago

Ugh!!

So is this a feature or a bug? :D It is a feature. The hard 70C limit might be a bit too conservative but better safe than sorry. 10,000 boards out there...

The Paracase is supposed to stay below 70C, at least w/ the headless images. Did you follow the full assembly instructions? https://youtu.be/TTxCWS-MohA

// Ola

silvenshadow commented 7 years ago

Sorry it's been a while, I can confirm that headless bitstreams, even ones including a riscv rocketchip core, with everything at full load stay below 70c. The hdmi-enabled bitstreams run significantly hotter, especially while playing video.

I did follow all the assembly instructions for the case, I have an older board with the larger caps, and there is a bit of an issue if I tighten the mounting screws the board bends and creates instability (!).

I'm not sure what the hardware differences are between the board revisions but perhaps the bigger heatsink creates better contact than the folded metal :D