Mir

[regression] MIR_CLIENT_PERF_REPORT is showing bogus render times and buffer lag

Bug #1581368 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Daniel van Vugt
0.23
Fix Released
Medium
Daniel van Vugt
mir (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

MIR_CLIENT_PERF_REPORT is showing bogus render times:

$ env MIR_CLIENT_PERF_REPORT=log bin/mir_demo_client_egltriangle
...
[2016-05-13 16:20:12.972236] perf: mir_demo_client_egltriangle.bin: 62.68 FPS, render time 23216586.29ms, buffer lag 0.00ms (3 buffers)
[2016-05-13 16:20:13.973084] perf: mir_demo_client_egltriangle.bin: 60.00 FPS, render time 23217610.93ms, buffer lag 0.00ms (3 buffers)
[2016-05-13 16:20:14.973926] perf: mir_demo_client_egltriangle.bin: 60.00 FPS, render time 23218611.88ms, buffer lag 0.00ms (3 buffers)
^CSignal 2 received. Good night.

I haven't bisected it yet but know:
FAULTY: Mir 0.24 lp:mir
WORKING: Mir 0.21 (xenial)

Related branches

summary: - [regression] MIR_CLIENT_PERF_REPORT is showing bogus render times
+ [regression] MIR_CLIENT_PERF_REPORT is showing bogus render times and
+ buffer lag
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Bisected. The regression occurred in:

------------------------------------------------------------
revno: 3479 [merge]
author: Kevin DuBois <email address hidden>
committer: Tarmac
branch nick: development-branch
timestamp: Tue 2016-04-26 15:28:57 +0000
message:
  client: send incoming asynchronous buffer messages directly to the mcl::Buffer object. Prepares the buffers to be allocated from the connection, instead of a chain/stream.

  Change the async protocol a bit too so the RPC channel can manage the async buffers better. The RPC allocate/free buffer calls are not synchronized with the async buffer sending, so the server has to be a bit more explicit about what operation its performing, so the client side rpc channel can clean up the buffers better.

  So the notification chains go from:
  OBS (buffer_stream):
  rpc -> buffer_stream
  NBS (buffer_stream):
  rpc -> buffer_stream
  NBS: (presentation_chain):
  rpc -> buffer_stream -> buffer

  to:

  OBS (buffer_stream):
  rpc -> buffer_stream
  NBS (buffer_stream):
  rpc -> buffer -> buffer_stream
  NBS: (presentation_chain):
  rpc -> buffer .

  Approved by mir-ci-bot, Cemil Azizoglu.
------------------------------------------------------------

Changed in mir:
status: New → Triaged
milestone: none → 0.24.0
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in mir:
status: Triaged → In Progress
tags: added: nbs
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.24.0

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Kevin DuBois (kdub) wrote :

have to fix additional problem in 0.23, so its become easier to pick this up for 0.23.0

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed to lp:mir/0.23 at revision 3499, scheduled for release in Mir 0.23.0

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.23.0+16.10.20160602.1-0ubuntu1

---------------
mir (0.23.0+16.10.20160602.1-0ubuntu1) yakkety; urgency=medium

  [ Kevin DuBois ]
  * New upstream release 0.23.0 (https://launchpad.net/mir/+milestone/0.23.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 40
      . mircommon ABI bumped at 6
      . mirplatform ABI unchanged at 11
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI unchanged at 9
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI unchanged at 5
    - Enhancements:
      . Enable internal usage of more flexible graphics buffer submission,
        precursing client API additions.
    - Bug fixes:
      . Potential NBS performance loss after resize (LP: #1579076)
      . Performance loss with NBS and overlays on (LP: #1578159)
      . Mir crashes with useless backtrace when mg::Platform methods throw
        (LP: #1553549)
      . Virtual output is not removed when screencast client disappears
        (LP: #1573572)
      . Can't VT switch from mir_demo_server (any more) (LP: #1576260)
      . mir_demo_server(_minimal): Window movement/resizing stops responding
        when the cursor leaves the surface, and can lead to windows 1px wide
        and unrecoverable. (LP: #1447886)
      . Virtual display output configuration is set to LVDS (LP: #1573782)
      . Mir-on-X11 doesn't pass Alt+primary button drag to Mir (LP: #1575765)
      . Mir-on-X11 breaks mir_proving_server resize logic (LP: #1575192)
      . Resizing can crash mir_demo_server (LP: #1575211)
      . [regression] Cursor stops at phantom edge on M10 and N7 (LP: #1580774)
      . [regression] MIR_CLIENT_PERF_REPORT is showing bogus render times and
        buffer lag (LP: #1581368)
      . Test failures in ClientLogging.reports_performance due to the above
        fix. (LP: #1583970, LP: #1584603, LP: #1584605)
      . Do not throw when creating some objects under HWC 1.5 (LP: #1583086)
      . Correct black frame issue under Xmir (LP: #1584784)

  [ Tarmac, Kevin DuBois <email address hidden>, Daniel van Vugt <email address hidden>, Andreas Pokorny <email address hidden>, Alberto Aguirre ]
  * 0.23.0 Mir release

 -- Kevin DuBois <email address hidden> Thu, 02 Jun 2016 13:18:03 +0000

Changed in mir (Ubuntu):
status: New → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.