Bug 90640

Summary: [BSW bisected] GPU device didn't increased to the largest frequency
Product: DRI Reporter: Jeff Zheng <jeff.zheng>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED INVALID QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs, wendy.wang
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
gfxturbo.sh
none
dmesg log none

Description Jeff Zheng 2015-05-26 05:17:30 UTC
Created attachment 116036 [details]
gfxturbo.sh

==System Environment==
--------------------------
Regression: Yes, don't see this issue on drm-intel-testing-2015-05-08. 
Non-working platforms: BSW
BIOS: V69

==kernel==
--------------------------
-testing: drm-intel-testing-2015-05-22 (fails)

==Bug detailed description==
-----------------------------
When running [PM_Turbo] Verify GFX Turbo feature, gfxturbo.sh (attached) complains “GPU device didn't increased to the largest frequency!”:
root@x-bsw14:~# ./gfxturbo.sh
GPU freqency range is: [400~640]
Current GPU device frequecny is: 400
Let's make something fun
MPlayer SVN-r36265-4.8.2 (C) 2000-2013 MPlayer Team

Playing ./h264_1080p_23.976_ac3_2ch_224Kbps_league_of_extrordinary_gents_10_min.ts.
libavformat version 55.7.100 (internal)
TS file format detected.
VIDEO H264(pid=4113) AUDIO A52(pid=4352) NO SUBS (yet)!  PROGRAM N. 1
FPS seems to be: 23.976025
Load subtitles in ./
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 55.9.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 224.0 kbit/7.29% (ratio: 28000->384000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
[VD_FFMPEG] Trying pixfmt=0.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is undefined - no prescaling applied.
VO: [vaapi] 1920x1088 => 1920x1088 H.264 VA-API Acceleration
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[VD_FFMPEG] Trying pixfmt=0.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is undefined - no prescaling applied.
VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA-API Acceleration
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA-API Acceleration
Current GPU device frequecny is: 400.076  54/ 54  6% 11%  1.5% 1 0
Current GPU device frequecny is: 400.080  78/ 78  5% 10%  1.5% 1 0
Current GPU device frequecny is: 400.077 102/102  4%  9%  1.4% 1 0
Current GPU device frequecny is: 400.078 126/126  3%  9%  1.4% 1 0
Current GPU device frequecny is: 400.077 150/150  3%  8%  1.4% 1 0
Current GPU device frequecny is: 400.077 174/174  3%  8%  1.4% 1 0
Current GPU device frequecny is: 400.081 198/198  3%  8%  1.3% 1 0
Current GPU device frequecny is: 400.081 223/223  3%  8%  1.3% 1 0
Current GPU device frequecny is: 400.080 247/247  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.076 271/271  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.082 295/295  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.079 319/319  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.076 343/343  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.078 367/367  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.083 391/391  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.084 415/415  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.079 440/440  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.081 464/464  2%  8%  1.3% 1 0
Current GPU device frequecny is: 400.079 488/488  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.080 512/512  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.079 536/536  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.078 560/560  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.077 584/584  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.081 609/609  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.079 633/633  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.079 657/657  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.077 681/681  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.076 705/705  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.080 729/729  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.078 753/753  2%  7%  1.3% 1 0
Current GPU device frequecny is: 400.079 777/777  2%  7%  1.3% 1 0
GPU device didn't increased to the largest frequency! 7%  1.3% 1 0
^C1283.9 V:1283.8 A-V:  0.020 ct: -0.075 1991/1991  2%  7%  1.3% 1 0


==Reproduce steps==
---------------------------- 
1. Reboot and login into BSW
2. ./gfxturbo.sh
Comment 1 Jeff Zheng 2015-05-26 05:18:02 UTC
Created attachment 116037 [details]
dmesg log
Comment 2 Jeff Zheng 2015-05-26 05:23:05 UTC
root@xfzheng:~/git/drm-intel# git bisect start
root@xfzheng:~/git/drm-intel# git bisect good c457879f0d8f664050e46092afde46fec58c9e67
root@xfzheng:~/git/drm-intel# git bisect bad 5d96d8afcfbb1500272756747e0bfcdbebf3b070
Bisecting: a merge base must be tested
[214a2b7fab215b1e979fbae51225b01b8fc58288] drm/i915: Update DRIVER_DATE to 20150508
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 404 revisions left to test after this (roughly 9 steps)
[6c9d370c16aad97cfc6de68666634eaabac2b048] Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 201 revisions left to test after this (roughly 8 steps)
[518af3cb8ccaf32057db6046e241ec393d6c7b98] Merge branch 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 117 revisions left to test after this (roughly 7 steps)
[e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 58 revisions left to test after this (roughly 6 steps)
[d94b5030d26b4f45510a092262bc2b542a00bd7c] drm/i915: Ensure cache flushes prior to doing CS flips
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 29 revisions left to test after this (roughly 5 steps)
[8504c74c7ae48b4b8ed1f1c0acf67482a7f45c93] drm/i915: Preserve ddi_pll_sel when allocating new pipe_config
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 14 revisions left to test after this (roughly 4 steps)
[1e8df16778b0d8fd8102b3ee799b028f8f961089] drm/i915/skl: Swapping 90 and 270 to be compliant with Xrandr
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[eed29a5b21557476bbd8b141946a8dfe5aacc4f3] drm/i915: s/\<rq\>/req/g
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[bcafc4e38b6ad03f48989b7ecaff03845b5b7acf] drm/i915: Limit mmio flip RPS boosts
root@xfzheng:~/git/drm-intel# git bisect bad
Bisecting: 1 revision left to test after this (roughly 1 step)
[03ade51185596a1d1028531c78fda557f244d676] drm/i915: Inline check required for object syncing prior to execbuf
root@xfzheng:~/git/drm-intel# git bisect good
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[a6f766f3975185af66a31a2cea2cd38721645999] drm/i915: Limit ring synchronisation (sw sempahores) RPS boosts
root@xfzheng:~/git/drm-intel# git bisect bad
a6f766f3975185af66a31a2cea2cd38721645999 is the first bad commit
commit a6f766f3975185af66a31a2cea2cd38721645999
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 27 13:41:20 2015 +0100

    drm/i915: Limit ring synchronisation (sw sempahores) RPS boosts

    Ring switches can occur many times per frame, and are often out of
    control, causing frequent RPS boosting for no practical benefit. Treat
    the sw semaphore synchronisation as a separate client and only allow it
    to boost once per busy/idle cycle.

    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    [danvet: s/rq/req/]
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 1cb080149da19099b125d7d33e691803cb51fdca c166f3be698ad50ff135e6f4411dab3c9ee4e09f M      drivers
Comment 3 Chris Wilson 2015-05-26 08:00:51 UTC
Why would you expect the GPU to run at maximum frequency? The test is completely bogus.
Comment 4 wendy.wang 2015-05-26 08:23:36 UTC
(In reply to Chris Wilson from comment #3)
> Why would you expect the GPU to run at maximum frequency? The test is
> completely bogus.

Hello Chris,
We expect GPU frequency can increase to the supported maximum frequency when there is heavy GPU workload, which is benefit for good performance, but it seems turbo fails now.
Pls tell us if we are wrong here.
Comment 5 Jeff Zheng 2015-06-17 02:12:44 UTC
Close it according to Daniel's suggestion.
Comment 6 Elizabeth 2017-10-06 14:29:50 UTC
Closing old verified.

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.