Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Issue 677713002: Reland "Integrate SIMD optimisations for zlib" (Closed)

Created:
6 years, 2 months ago by robert.bradford
Modified:
6 years, 2 months ago
Reviewers:
hans, agl
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Reland "Integrate SIMD optimisations for zlib" This reland adds an MSan suppression entry to work around gaps in MSan's support for some of the intrinsics this patch uses. This version also inlines the insert_string_sse function as it uses inline assembly and therefore does not need to be in the static library. Original CL: https://codereview.chromium.org/552123005 These optimisations have been published on zlib mailing list and at https://github.com/jtkukunas/zlib/ This change merges the following optimisation patches: - "For x86, add CPUID check." - "Adds SSE2 optimized hash shifting to fill_window." - "add SSE4.2 optimized hash function" - "add PCLMULQDQ optimized CRC folding" From Jim Kukunas <james.t.kukunas@linux.intel.com>; and adapts them to the current zlib version in Chromium. The optimisations are enabled at runtime if all the necessary CPU features are present. As the optimisations require extra cflags to enable the compiler to use the instructions the optimisations are held in their own static library with a stub implementation to allow linking on other platforms. TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance improvement seen on RoboHornet benchmark on Linux Desktop BUG=401517 Committed: https://crrev.com/a5022d5eab6f77889aceed6ab0ccaf44a657ffc4 Cr-Commit-Position: refs/heads/master@{#301162}

Patch Set 1 : Equivalent to patch 12 on original CL #

Patch Set 2 : Add MSan suppression, prevent crc_fold_copy reading outside allocated memory, inline insert_string_… #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1187 lines, -33 lines) Patch
M net/spdy/spdy_framer_test.cc View 4 chunks +166 lines, -7 lines 0 comments Download
M third_party/zlib/BUILD.gn View 2 chunks +15 lines, -0 lines 0 comments Download
M third_party/zlib/README.chromium View 1 chunk +16 lines, -0 lines 0 comments Download
M third_party/zlib/crc32.c View 2 chunks +27 lines, -0 lines 0 comments Download
A third_party/zlib/crc_folding.c View 1 1 chunk +493 lines, -0 lines 0 comments Download
M third_party/zlib/deflate.h View 1 2 chunks +12 lines, -0 lines 0 comments Download
M third_party/zlib/deflate.c View 1 19 chunks +113 lines, -26 lines 2 comments Download
A third_party/zlib/fill_window_sse.c View 1 1 chunk +175 lines, -0 lines 0 comments Download
A third_party/zlib/simd_stub.c View 1 1 chunk +35 lines, -0 lines 0 comments Download
A third_party/zlib/x86.h View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/zlib/x86.c View 1 chunk +90 lines, -0 lines 0 comments Download
M third_party/zlib/zlib.gyp View 3 chunks +23 lines, -0 lines 0 comments Download
M third_party/zlib/zutil.h View 1 chunk +6 lines, -0 lines 0 comments Download
M tools/msan/blacklist.txt View 1 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (3 generated)
robert.bradford
Hi Adam, Apologies for the noise around the revert but when I saw the builder ...
6 years, 2 months ago (2014-10-24 16:18:46 UTC) #3
hans
https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c File third_party/zlib/deflate.c (right): https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c#newcode2103 third_party/zlib/deflate.c:2103: #if defined(_MSC_VER) && !defined(__clang__) Thanks, this should fix the ...
6 years, 2 months ago (2014-10-24 17:28:15 UTC) #4
agl
https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c File third_party/zlib/deflate.c (right): https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c#newcode2112 third_party/zlib/deflate.c:2112: /* This should never happen */ This is a ...
6 years, 2 months ago (2014-10-24 17:47:16 UTC) #5
robert.bradford
On 2014/10/24 17:47:16, agl wrote: > https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c > File third_party/zlib/deflate.c (right): > > https://codereview.chromium.org/677713002/diff/40001/third_party/zlib/deflate.c#newcode2112 > ...
6 years, 2 months ago (2014-10-24 18:39:02 UTC) #6
agl
On 2014/10/24 18:39:02, robert.bradford wrote: > Thanks for looking. Unfortunately it's not a static error, ...
6 years, 2 months ago (2014-10-24 18:47:22 UTC) #7
agl
lgtm
6 years, 2 months ago (2014-10-24 18:47:28 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/677713002/40001
6 years, 2 months ago (2014-10-24 18:49:23 UTC) #10
commit-bot: I haz the power
Committed patchset #2 (id:40001)
6 years, 2 months ago (2014-10-24 19:08:11 UTC) #11
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/a5022d5eab6f77889aceed6ab0ccaf44a657ffc4 Cr-Commit-Position: refs/heads/master@{#301162}
6 years, 2 months ago (2014-10-24 19:09:03 UTC) #12
qyearsley
6 years, 2 months ago (2014-10-24 23:04:14 UTC) #13
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:40001) has been created in
https://codereview.chromium.org/665203006/ by qyearsley@chromium.org.

The reason for reverting is: Speculatively reverting because XP Tests (1) is
having failures.

https://build.chromium.org/p/chromium.win/builders/XP%20Tests%20(1).

Powered by Google App Engine
This is Rietveld 408576698