2460bbdfbb
Reason for revert: Leaks, leaks, leaks. Original issue's description: > SkThreadPool ~~> SkTaskGroup > > SkTaskGroup is like SkThreadPool except the threads stay in > one global pool. Each SkTaskGroup itself is tiny (4 bytes) > and its wait() method applies only to tasks add()ed to that > instance, not the whole thread pool. > > This means we don't need to bring up new thread pools when > tests themselves want to use multithreading (e.g. pathops, > quilt). We just create a new SkTaskGroup and wait for that > to complete. This should be more efficient, and allow us > to expand where we use threads to really latency sensitive > places. E.g. we can probably now use these in nanobench > for CPU .skp rendering. > > Now that all threads are sharing the same pool, I think we > can remove most of the custom mechanism pathops tests use > to control threading. They'll just ride on the global pool > with all other tests now. > > This (temporarily?) removes the GPU multithreading feature > from DM, which we don't use. > > On my desktop, DM runs a little faster (57s -> 55s) in > Debug, and a lot faster in Release (36s -> 24s). The bots > show speedups of similar proportions, cutting more than a > minute off the N4/Release and Win7/Debug runtimes. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, reed@google.com, mtklein@chromium.org TBR=bsalomon@google.com, bungeman@google.com, caryclark@google.com, mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/533393002
216 lines
4.9 KiB
Plaintext
216 lines
4.9 KiB
Plaintext
# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
|
|
|
|
# Third party lib, driver issues.
|
|
{
|
|
ati_driver_bug_1
|
|
Memcheck:Param
|
|
ioctl(generic)
|
|
fun:ioctl
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_2
|
|
Memcheck:Cond
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_3
|
|
Memcheck:Addr8
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_4
|
|
Memcheck:Addr4
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_5
|
|
Memcheck:Addr2
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_6
|
|
Memcheck:Addr1
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_7
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
driver_bug_8
|
|
Memcheck:Overlap
|
|
fun:strcpy
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_9
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_10
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
|
|
}
|
|
{
|
|
nv_driver_bug_1
|
|
Memcheck:Param
|
|
write(buf)
|
|
...
|
|
obj:/usr/lib/libnvidia-glcore.so*
|
|
}
|
|
{
|
|
nv_driver_bug_2
|
|
Memcheck:Cond
|
|
...
|
|
obj:/usr/lib/libnvidia-glcore.so*
|
|
}
|
|
{
|
|
nv_driver_bug_3
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib*/libGL.so*
|
|
}
|
|
{
|
|
#Fixed by FontConfig 2.9.0
|
|
#http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511
|
|
font_config_bug_1
|
|
Memcheck:Addr4
|
|
fun:FcConfigFileExists
|
|
}
|
|
{
|
|
#https://bugs.freedesktop.org/show_bug.cgi?id=8215
|
|
#https://bugs.freedesktop.org/show_bug.cgi?id=8428
|
|
#FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts',
|
|
#which confuses valgrind.
|
|
font_config_bug_2
|
|
Memcheck:Leak
|
|
fun:*alloc
|
|
...
|
|
fun:Fc*Add*
|
|
}
|
|
{
|
|
#Same root cause as font_config_bug_2.
|
|
#The 'leak' here is a copy of rule values, as opposed to new values.
|
|
font_config_bug_3
|
|
Memcheck:Leak
|
|
fun:*alloc
|
|
fun:FcConfigValues
|
|
fun:FcConfigSubstituteWithPat
|
|
fun:FcFontRenderPrepare
|
|
}
|
|
{
|
|
zlib_bug_1
|
|
Memcheck:Cond
|
|
fun:inflateReset2
|
|
fun:inflateInit2_
|
|
fun:png_create_read_struct_2
|
|
fun:png_create_read_struct
|
|
}
|
|
{
|
|
zlib_bug_2
|
|
Memcheck:Cond
|
|
fun:inflateReset2
|
|
fun:inflateInit2_
|
|
fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream
|
|
fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream
|
|
}
|
|
|
|
# Why is it OK to suppress this?
|
|
{
|
|
SkRTConfRegistry_bug_1
|
|
Memcheck:Leak
|
|
fun:_Znwm
|
|
fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
|
|
}
|
|
|
|
# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
|
|
# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
|
|
{
|
|
gpu_issue_1
|
|
Memcheck:Addr2
|
|
fun:_ZNK5GrGpu18getQuadIndexBufferEv
|
|
}
|
|
{
|
|
gpu_issue_2
|
|
Memcheck:Addr2
|
|
fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
|
|
}
|
|
{
|
|
gpu_issue_3
|
|
Memcheck:Addr2
|
|
fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
|
|
}
|
|
{
|
|
gpu_issue_4
|
|
Memcheck:Addr8
|
|
fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
|
|
}
|
|
{
|
|
gpu_issue_5
|
|
Memcheck:Addr8
|
|
fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
|
|
}
|
|
{
|
|
gpu_issue_6
|
|
Memcheck:Addr8
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_7
|
|
Memcheck:Addr4
|
|
fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_8
|
|
Memcheck:Addr4
|
|
fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
|
|
}
|
|
{
|
|
gpu_issue_9
|
|
Memcheck:Addr2
|
|
fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
|
|
}
|
|
{
|
|
gpu_issue_10
|
|
Memcheck:Addr4
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_11
|
|
Memcheck:Addr2
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_12
|
|
Memcheck:Addr8
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_13
|
|
Memcheck:Addr4
|
|
fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_14
|
|
Memcheck:Addr4
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_15
|
|
Memcheck:Addr2
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|