New issue
Advanced search Search tips

Issue 772950 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

[Linux x86 x64 bots] 5% regression in media_perftests at 505396:505458

Project Member Reported by jrumm...@chromium.org, Oct 9 2017

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=772950

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=28e9518f6933406224b4fd423883e468fa88450815060275f9c96d0428b694a4


Bot(s) for this bug's original alert(s):

linux-release
Project Member

Comment 2 by 42576172...@developer.gserviceaccount.com, Oct 11 2017

๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/14902ea5780000
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Oct 11 2017

๐Ÿ˜ฟ Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/14902ea5780000

Comment 4 by dtu@chromium.org, Oct 12 2017

Cc: cavalcantii@chromium.org cblume@chromium.org
Owner: noel@chromium.org
Status: Assigned (was: Untriaged)
Sorry about that. Looks like the Pinpoint error is
https://github.com/catapult-project/catapult/issues/3921
I'll bump the priority on that bug.

Looking at the Pinpoint results, the regression shows clearly at:
zlib adler_simd.c
By noel@chromium.org ยท Fri Sep 29 19:44:25 2017
chromium @ 09b784fd12f255a9da38107ac6e0386f4dde6d68
Any indication that this may be affecting ARM as well?

Comment 6 by noel@chromium.org, Nov 23 2017

Cc: -cavalcantii@chromium.org noel@chromium.org
Owner: cavalcantii@chromium.org

Comment 7 by noel@chromium.org, Nov 28 2017

Cc: -noel@chromium.org dtu@chromium.org cavalcantii@chromium.org
Owner: noel@chromium.org
cavalcantii@ mentioned that he had no time to investigate, reassigning.

Comment 8 by noel@chromium.org, Nov 28 2017

media_perftests is a standalone micro benchmark, which is built with:

% ninja -C out/Release media_perftests

I built a clean release (non-component) build of chrome before and after my change, and ran the micro bench mark, audio_converter/convert_pass_through, as follows

% ./out/Release/media_perftests --gtest_filter="*ConvertBenchmarkFIFO" | \
  grep convert_pass_through

which reports the number runs per second.  I ran 100 tests on quiet linux box, with and without my change

for i in $(seq 100); do 
  ./out/Release/media_perftests --gtest_filter="*ConvertBenchmarkFIFO" | \
  grep "convert_pass_through" | \
  sed -E "s|.*= ||;s| runs/s||;s|\..*||";
done 

and plotted the results (attached).

media-test-case.html
2.6 KB View Download
media-test-case.png
80.0 KB View Download

Comment 9 by noel@chromium.org, Nov 28 2017

The results before and after have a similar distribution, and the run/s average results for both cases are about the same.  I could not reproduce a 5% difference as reported in #4.

media_perftests does depends on skia, skia depends on libPNG, and libPNG depends on zlib.  The change in question altered the zlib adler32 computation to add SIMD support.  I changed the alder32_z() code in zlib/adler32.c to read:

+ #include <stdio.h>

uLong ZEXPORT adler32_z(adler, buf, len)
    uLong adler;
    const Bytef *buf;
    z_size_t len;
{
    unsigned long sum2;
    unsigned n;

+    fprintf(stderr, "crash: alder32_z called");
+    exit(42);

#if defined(ADLER32_SIMD_SSSE3)
    if (x86_cpu_enable_ssse3 && buf && len >= 64)
        return adler32_simd_(adler, buf, len);
#elif defined(ADLER32_SIMD_NEON)
    if (buf && len >= 64)
        return adler32_simd_(adler, buf, len);
#endif
    ...

to force a crash if adler32_z() was ever called.  I made a similar change to the zlib/adler_simd.c code to make it crash also, and recompiled the media_perfests with those changes.

media_perfests does not crash with these changes however, so my conclusion is the zlib adler32 code is not being used by this benchmark at all.

Comment 10 by noel@chromium.org, Dec 13 2017

Cc: noel@chromium.org
Owner: crouleau@chromium.org
Summary: [Linux x86 x64 bots] 5% regression in media_perftests at 505396:505458 (was: 5% regression in media_perftests at 505396:505458)
> media_perftests does not crash with these changes however, so my conclusion is the zlib adler32 code is not being used by this benchmark at all.

Also none of the other x86 or x64 bots that run media_perftests complained, just the linux bot. Best I can suggest is "working as intended" here, but reassigning to its owner to decide.
Cc: dalecur...@chromium.org crouleau@chromium.org
Owner: noel@chromium.org
Status: WontFix (was: Assigned)
Sounds reasonable. +dalecurtis@ just in case he disagrees.

Sign in to add a comment