On Wed, 2012-08-01 at 09:58 +0100, Chris Wilson wrote:
On Wed, 01 Aug 2012 09:45:04 +0100, James Bottomley James.Bottomley@HansenPartnership.com wrote:
On Wed, 2012-08-01 at 09:16 +0100, Chris Wilson wrote:
On Wed, 01 Aug 2012 09:06:12 +0100, James Bottomley James.Bottomley@HansenPartnership.com wrote:
I got the attached to apply and it doesn't really improve the idle power much (12.5W).
That's good to know. Next step is to try overriding i915.semaphores. Can you please test with i915.semaphores=0 and i915.semaphores=1?
There's not much point doing i915_semaphores=1 since that's the default on gen 6 hardware, but i915_semaphores=0 recovers and idle power of ~6.5W
It is only the default if iommu is off, and changing the default was one of the side-effects of the patch you bisected.
Can you please login to the desktop, let it idle, record /sys/kernel/debug/dri/0/i915_cur_delayinfo and .../i915_drpc_info. Then trace-cmd record -e i915 sleep 10s, and follow up with a new pair of /sys/kernel/debug/dri/0/i915_cur_delayinfo and .../i915_drpc_info.
This will let us see whether the pm counters are truly advancing and what activity the driver is performing whilst idle.
OK, so here it is
James
---
jejb@dabdike> cat /sys/kernel/debug/dri/0/i915_cur_delayinfo GT_PERF_STATUS: 0x000016c7 RPSTAT1: 0x0004160d Render p-state ratio: 22 Render p-state VID: 199 Render p-state limit: 255 CAGF: 1100MHz RP CUR UP EI: 96491us RP CUR UP: 252us RP PREV UP: 0us RP CUR DOWN EI: 0us RP CUR DOWN: 513us RP PREV DOWN: 0us Lowest (RPN) frequency: 650MHz Nominal (RP1) frequency: 650MHz Max non-overclocked (RP0) frequency: 1100MHz jejb@dabdike> cat /sys/kernel/debug/dri/0/i915_drpc_info RC information inaccurate because somebody holds a forcewake reference Video Turbo Mode: yes HW control enabled: yes SW control enabled: no RC1e Enabled: no RC6 Enabled: yes Deep RC6 Enabled: no Deepest RC6 Enabled: no Current RC state: on Core Power Down: no RC6 "Locked to RPn" residency since boot: 0 RC6 residency since boot: 360123443 RC6+ residency since boot: 0 RC6++ residency since boot: 0 jejb@dabdike> ./git/trace-cmd/trace-cmd record -e i915 sleep 10s trace-cmd: Permission denied opening '/sys/kernel/debug/tracing/tracing_on' jejb@dabdike> sudo ./git/trace-cmd/trace-cmd record -e i915 sleep 10s /sys/kernel/debug/tracing/events/i915/filter /sys/kernel/debug/tracing/events/*/i915/filter Kernel buffer statistics: Note: "entries" are the entries left in the kernel ring buffer and are not recorded in the trace data. They should all be zero.
CPU: 0 entries: 0 overrun: 0 commit overrun: 0 bytes: 1080 oldest event ts: 1076.352744 now ts: 1076.651396
CPU: 1 entries: 0 overrun: 0 commit overrun: 0 bytes: 932 oldest event ts: 1067.676405 now ts: 1076.651452
CPU: 2 entries: 0 overrun: 0 commit overrun: 0 bytes: 3784 oldest event ts: 1076.090225 now ts: 1076.651501
CPU: 3 entries: 0 overrun: 0 commit overrun: 0 bytes: 0 oldest event ts: 15281105439.050279 now ts: 1076.651550
CPU0 data recorded at offset=0x39a000 221184 bytes in size CPU1 data recorded at offset=0x3d0000 16384 bytes in size CPU2 data recorded at offset=0x3d4000 32768 bytes in size CPU3 data recorded at offset=0x3dc000 0 bytes in size jejb@dabdike> cat /sys/kernel/debug/dri/0/i915_cur_delayinfo GT_PERF_STATUS: 0x000016c7 RPSTAT1: 0x0004160d Render p-state ratio: 22 Render p-state VID: 199 Render p-state limit: 255 CAGF: 1100MHz RP CUR UP EI: 49171us RP CUR UP: 122us RP PREV UP: 0us RP CUR DOWN EI: 0us RP CUR DOWN: 562us RP PREV DOWN: 0us Lowest (RPN) frequency: 650MHz Nominal (RP1) frequency: 650MHz Max non-overclocked (RP0) frequency: 1100MHz jejb@dabdike> cat /sys/kernel/debug/dri/0/i915_drpc_info RC information accurate: yes Video Turbo Mode: yes HW control enabled: yes SW control enabled: no RC1e Enabled: no RC6 Enabled: yes Deep RC6 Enabled: no Deepest RC6 Enabled: no Current RC state: RC6 Core Power Down: no RC6 "Locked to RPn" residency since boot: 0 RC6 residency since boot: 362653127 RC6+ residency since boot: 0 RC6++ residency since boot: 0