#1070159 i915: CPU usage spikes with monitor powered down or unplugged

#1070159#5
Date:
2024-05-01 02:06:51 UTC
From:
To:
Hello,

I have a computer with an Intel i3-9100 CPU, using the integrated graphics, no graphic session running, and a monitor plugged in to the DVI port.

The following command executed upon startup:
setterm --term linux --blank 1

After one minute of console inactivity the monitor is actually suspended, and I get the following effect every ~20 seconds:

# turbostat --interval 1 --show PkgWatt,CorWatt,Avg_MHz,Busy%,Bzy_MHz,IPC,IRQ,CoreTmp,PkgTmp,POLL,POLL%

Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
2	0.20	800	0.38	57	0	0.00	31	31	0.35	0.11
1	0.11	800	0.22	9	0	0.00	30	31	0.35	0.11
2	0.28	800	0.26	16	0	0.00	30
1	0.08	800	0.30	8	0	0.00	31
3	0.34	800	0.55	24	0	0.00	31
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
3233	81.25	3978	0.06	3782	142889	78.95	35	34	19.93	19.78
3396	85.32	3980	0.06	2731	36309	78.63	34	34	19.91	19.77
3171	79.77	3975	0.06	223	35550	79.02	32
3170	79.67	3979	0.06	212	35545	79.05	33
3191	80.23	3977	0.06	616	35485	79.01	35
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
2	0.14	1397	0.31	57	0	0.00	32	32	0.38	0.13
1	0.08	1331	0.17	10	0	0.00	30	32	0.38	0.13
2	0.21	1142	0.22	16	0	0.00	30
1	0.05	2129	0.22	10	0	0.00	31
3	0.20	1494	0.47	21	0	0.00	32

Or, with .5 second interval:

Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
3	0.32	800	0.43	43	0	0.00	30	30	0.39	0.16
2	0.27	800	0.31	11	0	0.00	29	30	0.39	0.16
1	0.14	800	0.27	9	0	0.00	28
5	0.62	800	0.28	18	0	0.00	29
2	0.26	800	0.98	5	0	0.00	30
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
1373	35.07	3912	0.06	752	31036	34.45	38	38	8.30	8.11
1370	34.97	3918	0.06	51	7723	34.44	38	38	8.29	8.10
1374	35.36	3886	0.06	533	7885	34.29	37
1372	35.06	3914	0.06	51	7719	34.48	37
1371	34.88	3932	0.06	117	7709	34.48	38
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
3626	90.58	4003	0.06	2081	80119	88.33	39	39	21.97	21.82
3565	89.12	4000	0.06	120	19931	88.44	39	39	21.97	21.82
3788	94.46	4011	0.06	1503	20358	88.02	38
3565	89.13	4000	0.06	123	19930	88.43	39
3584	89.59	4001	0.06	335	19900	88.42	39
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
1477	36.91	4003	0.06	987	31849	35.03	32	32	9.67	9.46
1417	35.45	3998	0.06	56	7922	35.11	30	32	9.67	9.47
1639	40.76	4022	0.06	705	8101	34.92	29
1420	35.54	3996	0.06	64	7920	35.09	30
1434	35.90	3994	0.06	162	7906	35.06	32
Avg_MHz	Busy%	Bzy_MHz	IPC	IRQ	POLL	POLL%	CoreTmp	PkgTmp	PkgWatt	CorWatt
2	0.23	925	0.46	22	0	0.00	30	30	0.36	0.11
2	0.16	1059	0.30	7	0	0.00	29	30	0.36	0.11
1	0.07	1036	0.30	2	0	0.00	29
4	0.47	867	0.26	12	0	0.00	30
2	0.20	911	1.09	1	0	0.00	30


Nothing is seen in `top`. I can see a brief ~20 watt increase in power consuption reported by the UPS.

There is no issue while the display is active.
If the monitor is unplugged these spikes occur every 20 seconds, even if no blanking/suspend is enabled.
As long as the monitor is plugged in, and the display is not suspended on the computer side, the issue doesn't occur even if the monitor is powered off.

With the i915 driver blacklisted the display can not be suspended, it is only blanked. The CPU spikes do not occur at all, whether the display is active, blanked or unplugged.

The behavior is the same with linux 6.1.85 from bookworm.

# dmesg  | grep i915
[    3.681513] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    3.681610] i915 0000:00:02.0: vgaarb: deactivate vga console
[    3.681642] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    3.682781] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    3.683974] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
[    3.684936] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    4.092652] i915 0000:00:02.0: [drm] [ENCODER:94:DDI A/PHY A] failed to retrieve link info, disabling eDP
[    4.118882] [drm] Initialized i915 1.6.0 20230929 for 0000:00:02.0 on minor 0
[    4.121193] i915 display info: display version: 9
[    4.121195] i915 display info: cursor_needs_physical: no
[    4.121196] i915 display info: has_cdclk_crawl: no
[    4.121197] i915 display info: has_cdclk_squash: no
[    4.121197] i915 display info: has_ddi: yes
[    4.121198] i915 display info: has_dp_mst: yes
[    4.121199] i915 display info: has_dsb: no
[    4.121200] i915 display info: has_fpga_dbg: yes
[    4.121200] i915 display info: has_gmch: no
[    4.121201] i915 display info: has_hotplug: yes
[    4.121202] i915 display info: has_hti: no
[    4.121203] i915 display info: has_ipc: yes
[    4.121203] i915 display info: has_overlay: no
[    4.121204] i915 display info: has_psr: yes
[    4.121205] i915 display info: has_psr_hw_tracking: yes
[    4.121205] i915 display info: overlay_needs_physical: no
[    4.121206] i915 display info: supports_tv: no
[    4.121207] i915 display info: has_hdcp: yes
[    4.121208] i915 display info: has_dmc: yes
[    4.121208] i915 display info: has_dsc: no
[    4.575203] fbcon: i915drmfb (fb0) is primary device
[    4.602129] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device

#1070159#10
Date:
2024-05-20 18:41:48 UTC
From:
To:
Hi,

Can you please test if you have the same behaviour with recent
upstream kernels? For instance test with 6.8.9-1 in unstable, or if
you can build upstream stable version 6.8.10, 6.9.1.

Regards,
Salvatore

#1070159#17
Date:
2024-05-20 20:10:18 UTC
From:
To:
6.8.9 - same behavior

6.9.1 from pristine upstream tar shows the same behavior too.

Among the new config options in 6.9.1, CONFIG_DRM_DISPLAY_DP_TUNNEL and CONFIG_DRM_I915_DP_TUNNEL got enabled. I suppose this isn't relevant.

Thank you for your attention!

#1070159#24
Date:
2024-08-10 12:32:35 UTC
From:
To:
Hi

This bug was filed for a very old kernel or the bug is old itself
without resolution.

If you can reproduce it with

- the current version in unstable/testing
- the latest kernel from backports

please reopen the bug, see https://www.debian.org/Bugs/server-control
for details.

Regards,
Salvatore

#1070159#27
Date:
2024-08-10 12:32:35 UTC
From:
To:
Hi

This bug was filed for a very old kernel or the bug is old itself
without resolution.

If you can reproduce it with

- the current version in unstable/testing
- the latest kernel from backports

please reopen the bug, see https://www.debian.org/Bugs/server-control
for details.

Regards,
Salvatore

#1070159#32
Date:
2024-08-10 12:42:34 UTC
From:
To:
reopen 1070159
found 1070159 6.10.3-1
thanks

Linux 6.10.3-1 shows the same behavior, no change

#1070159#41
Date:
2024-08-10 15:49:04 UTC
From:
To:
Hi,

In this case, can you please report the issue upstream and let us here
know about the upstream report?

Regards,
Salvatore

#1070159#48
Date:
2024-08-10 20:00:26 UTC
From:
To:
forwarded 1070159 https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11919
thanks

#1070159#55
Date:
2024-08-11 03:21:27 UTC
From:
To:
I'd recommend asking on irc or the forum for help with your cpu / monitor thing if this doesn't help you.  install if not already and run vainfo  if you get any response from that command  please try removing the i915 module and run your test again without the module loaded.see if that helps at all.