πŸ‡ΊπŸ‡¦ We stand with Ukraine! πŸ‡ΊπŸ‡¦

Webcamd CPU auto overclock?

OctoPi 0.17
OctoPrint 1.5.3
RPi 3B+
Up-to-date RPi Os

I've noticed that when webcamd is started, the voltages and frequenties of SOC are changed / upped.

With webcamd stopped...

Voltages
core: volt=1.1000V
sdram_c: volt=1.2500V
sdram_i: volt=1.2500V
sdram_p: volt=1.2250V

Temp
CPU: 49

Frequenties
Modules
arm: 600
core: 200
h264: 0
isp: 0
v3d: 200
uart: 48
emmc: 200
vec: 0

With webcamd started...

Voltages
core: volt=1.2625V
sdram_c: volt=1.2500V
sdram_i: volt=1.2500V
sdram_p: volt=1.2250V

Temp
CPU: 49

Frequenties
Modules
arm: 600
core: 250
h264: 0
isp: 200
v3d: 200
uart: 48
emmc: 200
vec: 0

I've noticed that when trying to under-clock/-volt the cpu to prevent cooling issues. Anyone knows more about that?
Thx

That's normal.
When the pi got a higher load it will clock different parts of the soc up - until the max clocks are reached.

Here a list of the max clocks

Option Pi 0/W Pi1 Pi2 Pi3 Pi3A+/Pi3B+ Pi4
arm_freq 1000 700 900 1200 1400 1500
core_freq 400 250 250 400 400 500/550/360
h264_freq 300 250 250 400 400 500/550/360
isp_freq 300 250 250 400 400 500/550/360
v3d_freq 300 250 250 400 400 500/550/360
hevc_freq N/A N/A N/A N/A N/A 500/550/360
sdram_freq 450 400 450 450 500 3200
arm_freq_min 700 700 600 600 600 600
core_freq_min 250 250 250 250 250 250/275
gpu_freq_min 250 250 250 250 250 500
h264_freq_min 250 250 250 250 250 500
isp_freq_min 250 250 250 250 250 500
v3d_freq_min 250 250 250 250 250 500
sdram_freq_min 400 400 400 400 400 400

I wouldn't undervolt the pi - it could cause instabilities. I would limit the max clock and let the pi handle the voltage.

Thx for feedback.

On that same page I also find:

Model Default Resulting voltage
Pi 1 0 1.2V
Pi 2 0 1.2-1.3125V
Pi 3 0 1.2-1.3125V
Pi Zero 6 1.35V

This makes under-/over-volting a bit of a "russian roulette" as the impact of "over_voltage" & "over_voltage_min" in config.txt unpredictable.

In config.txt I've got:
over_voltage=-4
over_voltage_min=-4

During boot this results in voltages: of 1.1V on CPU.
But once webcamd is loaded it jumps to 1.2625V.

My BCM can run at 1.1V but not lower. And depending on timing I was able to reduce voltage to 1.21 with webcamd loaded, but it was a hit-&-mis affaire …

Any way to prevent / work-around this auto-voltage?

The bump of core from 200 to 250 MHz once webcamd is started got me thinking... So set that as the target core frequency and VOILA:
I don't see a bump anymore

root@enderpi:~# bcmstat.sh
  Config: v0.5.5, args "MCxgpd1 Tye", priority maximum (-20)
   Board: 4 x ARMv7 cores available, ondemand governor (Pi3 Model B+ rev 1.3, BCM2837 SoC with 1GB RAM by Sony UK)
  Memory: 1024MB (split 896MB ARM, 128MB GPU)
HW Block: |   ARM   |  Core  |  H264  |    SDRAM    |
Min Freq: |  600MHz | 250MHz |   0MHz |    450MHz   |
Max Freq: | 1200MHz | 250MHz | 250MHz |    450MHz   |
Voltages: |        -4, 1.1563V        | +2, 1.2500V |
   Other: temp_limit=85
Firmware: Jan 27 2021 22:27:56, version 99d9a48302e4553cff3688692bb7e9ac760a03fa (clean) (release) (start_x)
  Codecs: H264 H263 MPG4 VP8 VP6 VORB THRA MJPG FLAC PCM
  Booted: Wed Mar  3 13:59:41 2021

Time     UFT Vcore      ARM    Core    H264 Core Temp (Max)  IRQ/s      RX B/s      TX B/s  %user  %nice   %sys  %idle  %iowt   %irq %s/irq %total   cpu0   cpu1   cpu2   cpu3 GPUMem Free MemFreeKB / %used
======== === ====== ======= ======= ======= =============== ====== =========== =========== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== =========== =================
14:02:37     1.1563 1200Mhz  250Mhz    0Mhz 49.39C (49.93C)  4,021           0           0   6.33   0.00  22.16  69.66   0.00   0.00   3.17  30.34  36.68  36.68  24.01  11.35  90M ( 83%)   794,764 / 11.1%
14:02:38     1.1000  600Mhz  250Mhz    0Mhz 48.85C (49.93C)  1,903           0           0   3.20   0.00   4.80  90.59   0.00   0.00   0.00   9.41   9.41   6.67   9.41  13.99  90M ( 83%)   794,808 / 11.1%
14:02:39     1.1000  600Mhz  250Mhz    0Mhz 49.39C (49.93C)  2,025           0           0   4.09   0.00   6.82  87.54   0.00   0.00   0.00  12.46  17.24  12.69  10.87   8.14  90M ( 83%)   794,852 / 11.1%
14:02:53     1.1563  700Mhz  250Mhz    0Mhz 48.31C (49.93C)  1,953           0           0   2.77   0.00   8.54  87.93   0.00   0.00   0.00  12.07  18.77   9.53  11.38   8.61  90M ( 83%)   795,112 / 11.0%
14:02:54     1.1563 1200Mhz  250Mhz    0Mhz 48.85C (49.93C)  2,160           0           0   4.40   0.00   6.03  87.36   0.00   0.00   0.23  12.64  18.43  12.87  11.94   7.31  90M ( 83%)   794,556 / 11.1%
14:02:55     1.1563  700Mhz  250Mhz    0Mhz 49.39C (49.93C)  4,138           0           0   5.48   0.00   6.85  85.39   0.00   0.00   0.46  14.61  19.64  13.24  15.07  10.50  90M ( 83%)   793,904 / 11.2%
14:02:56     1.1563  800Mhz  250Mhz    0Mhz 49.39C (49.93C)  4,463           0           0   6.84   0.00   8.20  82.27   0.00   0.00   0.91  17.73  17.96  23.43  17.96  12.49  90M ( 83%)   794,500 / 11.1%
14:03:04     1.1563  700Mhz  250Mhz    0Mhz 49.39C (49.93C)  4,545           0           0   6.15   0.00  10.93  81.51   0.00   0.00   0.23  18.49  19.86  24.41  17.13  13.48  90M ( 83%)   794,652 / 11.1%
14:03:05     1.1563 1200Mhz  250Mhz    0Mhz 49.93C (49.93C)  4,119           0           0   5.84   0.00  11.92  80.63   0.00   0.00   1.64  19.37  22.41  26.15  14.00  14.93  90M ( 83%)   794,112 / 11.1%
14:03:06     1.1563  700Mhz  250Mhz    0Mhz 49.93C (49.93C)  4,710           0           0   6.68   0.00   8.75  79.00   0.00   0.00   1.15  21.00  18.93  27.22  15.25  23.54  90M ( 83%)   793,988 / 11.1%
14:03:07     1.1563 1200Mhz  250Mhz    0Mhz 49.39C (49.93C)  3,809           0           0   6.98   0.00   8.38  78.92   0.00   0.00   1.63  21.08  24.57  30.15  12.46  15.25  90M ( 83%)   794,112 / 11.1%
14:03:08     1.1563  700Mhz  250Mhz    0Mhz 50.46C (50.46C)  3,866           0           0   5.44   0.00   4.98  85.41   0.00   0.00   1.13  14.59  14.82  25.69  10.29   8.47  90M ( 83%)   793,292 / 11.2%

Peak Values: IRQ: 4806, RX: 0, TX: 0, UVOLT: 0, FCAPPED: 0, THROTTLE: 0
root@enderpi:~#