Bug 107466

Summary: [CI] GLK igt@pm_rpm@min-max-config-loaded - fail - Failed assertion: freqs[MAX] <= freqs[CUR]
Product: DRI Reporter: Tomi Sarvela <tomi.p.sarvela>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: GLK i915 features: power/runtime PM

Description Tomi Sarvela 2018-08-03 09:50:25 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_4605/shard-glk9/igt@pm_rps@min-max-config-loaded.html

(pm_rps:1201) CRITICAL: Test assertion failure function loaded_check, file ../tests/pm_rps.c:463:
(pm_rps:1201) CRITICAL: Failed assertion: freqs[MAX] <= freqs[CUR]
(pm_rps:1201) CRITICAL: error: 700 > 667
Subtest min-max-config-loaded failed.
**** DEBUG ****
  cur=617  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) DEBUG: gt freq (MHz):  cur=667  min=100  max=700  RP0=700  RP1=250  RPn=100  boost=700
(pm_rps:1201) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(pm_rps:1201) igt_debugfs-DEBUG: i915_rps_boost_info:
RPS enabled? 1
GPU busy? yes [2 requests]
CPU waiting? 0
Boosts outstanding? 0
Interactive? 0
Frequency requested 667
  min hard:100, soft:100; max soft:700, hard:700
  idle:100, efficient:250, boost:700
pm_rps [1201]: 0 boosts
pm_rps [1201]: 0 boosts
Kernel (anonymous) boosts: 0

RPS Autotuning (current "mixed" window):
  Avg. up: 99% [above threshold? 90%]
  Avg. down: 99% [below threshold? 75%]
(pm_rps:1201) CRITICAL: Test assertion failure function loaded_check, file ../tests/pm_rps.c:463:
(pm_rps:1201) CRITICAL: Failed assertion: freqs[MAX] <= freqs[CUR]
(pm_rps:1201) CRITICAL: error: 700 > 667
(pm_rps:1201) igt_core-INFO: Stack trace:
(pm_rps:1201) igt_core-INFO:   #0 [__igt_fail_assert+0x180]
(pm_rps:1201) igt_core-INFO:   #1 [loaded_check+0xc6]
(pm_rps:1201) igt_core-INFO:   #2 [min_max_config+0x64]
(pm_rps:1201) igt_core-INFO:   #3 [__real_main587+0x2f7]
(pm_rps:1201) igt_core-INFO:   #4 [main+0x44]
(pm_rps:1201) igt_core-INFO:   #5 [__libc_start_main+0xe7]
(pm_rps:1201) igt_core-INFO:   #6 [_start+0x2a]
****  END  ****
(pm_rps:1201) CRITICAL: Test assertion failure function load_helper_stop, file ../tests/pm_rps.c:282:
(pm_rps:1201) CRITICAL: Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
(pm_rps:1201) CRITICAL: Last errno: 10, No child processes
Comment 1 Chris Wilson 2018-08-03 09:54:24 UTC
Carpet. Swept. Under.

commit 0d55babc8392754352f1058866dd4182ae587d11
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 2 11:06:28 2018 +0100

    drm/i915: Drop stray clearing of rps->last_adj
    
    We used to reset last_adj to 0 on crossing a power domain boundary, to
    slow down our rate of change. However, commit 60548c554be2 ("drm/i915:
    Interactive RPS mode") accidentally caused it to be reset on every
    frequency update, nerfing the fast response granted by the slow start
    algorithm.
    
    Fixes: 60548c554be2 ("drm/i915: Interactive RPS mode")
    Testcase: igt/pm_rps/mix-max-config-loaded
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180802100631.31305-1-chris@chris-wilson.co.uk

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.