Thermal Throttling of the SynQuacer chip?

I was wondering if there has been any further development of accessing the processor’s thermal sensors on the Developerbox from userland. We are interested in using the Developerbox in a somewhat unique configuration and were hoping we could a) remove the heatsink (necessitating us monitoring the temperature), and b) possbily reduce the clock frequency. It turns out that the normal methods for doing this aren’t supported in the kernel yet. CPUpower and lm-sensors do not apper to be supported by the board. According to several rumors, there are 7 thermal sensors on the processor itself. However, aside from some mention of using them in “secureland” (i.e. Trusted Execution Environment or TEE) for possible use as entropy sources, I can’t seem to find any information out about the thermal sensors.I can’t seem to find a good datasheet or info on this, and haven’t heard back when I contacted Socionext using their online form.

This leads me to ask the following questions here (in hopes that someone can answer them):

  1. Does the Socionext self-throttle? Most modern CPUs have some form of thermal throttling and voltage protection. The Raspberry Pi 3 has self-throttling capabilities which I believe uses the same core (I know that particular SOC implementations vary by vendor, I’m just trying to find information on this subject). What we’d really like to do is remove the heatsink and run the CPU without the heatsink for some testing, but we’re very hesitant to do that if this will damage the chip.

  2. Is there a way to change the clock frequency of the CPU? I’d like to underclock it to reduce the heat generated? again, cpufreq/cpupower don’t seem supported, and we’d like to run it at a lower frequency from boot time anyways. Looking over the EDK2 source doesn’t seem to yield any insight into this, but I may be looking in the wrong place.

Any help would be appreciated!
Very Respectfully,
Samuel Mantravadi

The SoC is designed such that (with it’s modest heatsink) it is not thermally over committed and can run all cores at full speed at all times. Thus there is no need for self-throttling and AFAIK there is no mechanism to reduce the CPU speeds. In fact even hot-unplugging them doesn’t actually save any power compared to leaving them idle. Of course unplugging them does shield them from the scheduler though (e.g. if you have a busy system you can take 6 cores offline to reduce the load in each cluster). Having said that I remember some bugs in the hot-plug paths (not sure they can reattach properly) so if you wanted to reduce power consumption this way you might have to use cgroups instead.

Daniel, thanks for the info! That said, we are exploring cgroups (specifically LXD) for part of our solution for restricting core load. However, one real thing we are concerned about is heat. If we removed the heatsink, would there be a possibility that we could damage the chip? We would like to measure the temperature on the top of the chip itself, but again, don’t want to damage the processor.

Ultimately, yes, there is a risk of harm doing this. I can’t easily assess how much risk I’m afraid but there is defintely a risk there. I think the thermal design for whatever enclosure you are contemplating needs to cope with dissipating a continuous 5W from the SoC whilst keeping the package temperature at a sensible level.

Thanks for the info. Dissapating 5w from the SOC should give us a figure of merit for our calculations. We might be able to come up with a setup that would suffice for our application. Thanks!