skia2/tools
Mike Klein c588af9a69 bigger channel buffers in fm_bot
In really catastrophic cases like an fm binary hacked up to crash all
the time, we'll deadlock splitting failed batches up into individual
re-runs here

    // If a batch of sources ran and failed, split them up and try again.
    for _, source := range w.Sources {
        wg.Add(1)
        queue <- work{[]string{source}, w.Flags}
    }

Those <- writes will block once queue becomes full, which is really easy
to do here since we originally got close to filling the queue, and now
we're multiplying that by some K factor with all those failures.

There's probably a better way to do this than to make the queues have a
~1M element buffer, but it's kind of the easiest thing to do without
really restructuring how the code works.  If this proves fussy I'll
probably stop using channels and replace them with a mutex and a slice.

Change-Id: I95d61f9003c708ff5e149c6c030ef10adb14c6df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231679
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-01 23:01:07 +00:00
..
android Reuse more upload_to_android and allow removing flag on Android 2017-10-31 14:37:14 +00:00
calmbench Remove gclient sync from calmbench 2018-08-24 19:18:56 +00:00
copyright Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
debugger remove code now that loopers are dead (w.r.t. canvas and paint) 2019-07-30 12:49:28 +00:00
doxygen Add 'modules' to doxygen generation. 2019-06-03 13:33:56 +00:00
fiddle Remove sample count from GrSurfaceDesc. 2019-07-23 13:42:29 +00:00
flags First draft of Dawn backend: clears are working. 2019-07-18 18:09:12 +00:00
fm bigger channel buffers in fm_bot 2019-08-01 23:01:07 +00:00
fonts Add SkMakeSpan and helpful conversion 2019-07-02 21:49:09 +00:00
gdb Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
gpu Propagate GrRenderable flag to GrCaps::getBackendFormatFromColorType 2019-07-30 17:45:45 +00:00
infra [infra] Fixes for chrome_release_branch 2019-04-18 15:37:07 +00:00
lottie-web-perf [perf_skottiewasm_lottieweb] Add new bots for LottieWeb_Canvas 2019-07-24 22:19:04 +00:00
lottiecap [LottieWeb] Fix frames 2018-08-29 17:58:42 +00:00
lua rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
malisc Extend --writeShaders to output SPIR-V 2019-04-15 14:04:18 +00:00
mdbviz rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
rebaseline Change add to toggle in the comments 2017-11-10 17:19:07 +00:00
sk_app tools/sk_app/macos: support command key 2019-07-31 16:36:15 +00:00
skdiff Move SkTSearch.h into src. 2019-05-15 14:15:07 +00:00
skiaserve rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
skottie-wasm-perf [perf_skottiewasm_lottieweb] Script to parse and combine skottie/lottieweb perf CSVs 2019-07-25 17:58:08 +00:00
skp [Recreate SKPs bot] Fix failing web pages 2019-05-17 20:34:58 +00:00
skpbench skpbench: invoke 'adb wait-for-device' lazily 2019-07-29 16:49:59 +00:00
skqp Remove "nvpr" configs 2019-06-26 16:53:50 +00:00
svg Remove internal files from externally visible markdown documentation 2018-01-10 13:25:19 +00:00
timer Remove WallTimer class. 2019-07-15 16:06:11 +00:00
trace Add some precision back to timestamps when using --trace 2019-06-17 22:08:06 +00:00
viewer Major rewrite of the particle system based on the SkSL interpreter 2019-07-25 19:59:03 +00:00
__init__.py
add_codereview_message.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
AutoreleasePool.h Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
AutoreleasePool.mm Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
BigPathBench.inc Factor out VisualBench timing code into a helper class 2015-10-05 07:23:30 -07:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
build_workaround_header.py Add CheckGeneratedFiles recipe check for gpu workarounds 2018-04-25 19:26:27 +00:00
check-headers-self-sufficient header self-sufficiency and idempotency 2019-06-26 19:12:43 +00:00
chrome_fuzz.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
chrome_release_branch [infra] Add chrome_release_branch script 2019-04-16 19:46:10 +00:00
chrome_release_branch.bat [infra] Add chrome_release_branch script 2019-04-16 19:46:10 +00:00
chrome_release_branch.py [infra] Fixes for chrome_release_branch 2019-06-04 17:41:50 +00:00
clang-tidy.sh run clang-tidy on headers too 2018-12-12 15:26:22 +00:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
cpu_modules.cpp Major rewrite of the particle system based on the SkSL interpreter 2019-07-25 19:59:03 +00:00
CrashHandler.cpp Move SkLeanWindows.h to src. 2019-05-21 13:48:00 +00:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
DDLPromiseImageHelper.cpp Propagate GrRenderable flag to GrCaps::getBackendFormatFromColorType 2019-07-30 17:45:45 +00:00
DDLPromiseImageHelper.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
DDLTileHelper.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
DDLTileHelper.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
doxygen_footer.txt
dump_record.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
DumpRecord.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim
get_current_monitor_profile.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
get_images_from_skps.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
git-sync-deps tools/git-sync-deps: fix 2018-06-20 14:38:34 +00:00
gyp GN 2016-06-23 10:29:30 -07:00
HashAndEncode.cpp add SkNamedTransferFn::kRec2020 2019-05-24 16:03:03 +00:00
HashAndEncode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
hello-opencl.cpp run all available OpenCL devices 2019-02-11 21:29:33 +00:00
imgcvt.cpp Move skcms.h to include/third_party/skcms 2019-04-29 15:02:45 +00:00
InputState.h sk_app, Sample: Unify InputState enum. 2019-07-16 14:51:03 +00:00
install_dependencies.sh Add harfbuzz to tools/install_dependencies.sh 2019-05-03 23:52:09 +00:00
ios_utils.h Fix bugs with fence sync API on iOS devices 2017-10-10 19:05:13 +00:00
ios_utils.m rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
jsondiff.py Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
list_gms.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
list_gpu_unit_tests.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
LsanSuppressions.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
merge_static_libs.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
milestone.py SkPDF: milestone in metadata, also SkMilestone.h 2016-03-29 09:09:29 -07:00
mirror-dev.sh Update mirror-dev for *-dev:amd64 packages. 2017-11-09 22:44:57 +00:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
ModifierKey.h ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey 2019-07-09 16:16:41 +00:00
OverwriteLine.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
pathops_visualizer.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
ProcStats.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
public_headers_warnings_check.cpp GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
random_parse_path.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
reformat-json.py
Registry.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
remote_demo.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ResourceFactory.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
rewrite_includes.py make presubmit failures clearer 2019-08-01 20:49:11 +00:00
sanitize_source_files.py Clean up more references to GYP. 2017-02-06 17:55:35 +00:00
skhello.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMetaData.cpp SkMetaData: remove unused features 2019-07-25 15:15:22 +00:00
SkMetaData.h SkMetaData: remove unused features 2019-07-25 15:15:22 +00:00
skottie2movie.cpp add motion blur params to skottie2movie 2019-06-17 23:13:16 +00:00
skp_parser.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
skpinfo.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSharingProc.cpp Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger." 2019-06-21 15:49:21 +00:00
SkSharingProc.h Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger." 2019-06-21 15:49:21 +00:00
SkVMBuilders.cpp small refactors 2019-07-30 15:43:13 +00:00
SkVMBuilders.h first VEX ymm vector ops 2019-06-20 18:20:00 +00:00
SkVMTool.cpp small refactors 2019-07-30 15:43:13 +00:00
Stats.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08:00
test_pdfs.py
ToolUtils.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
ToolUtils.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
UrlDataManager.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
UrlDataManager.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
using_skia_and_harfbuzz.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
valgrind.supp Reland "Remove GrCaps::SupportedRead::fSwizzle and supporting code" 2019-08-01 00:17:54 +00:00
whitelist_typefaces.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
win_dbghelp.cpp Move SkTSearch.h into src. 2019-05-15 14:15:07 +00:00
win_dbghelp.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
win_lcid.cpp Move SkTSearch.h into src. 2019-05-15 14:15:07 +00:00
xsan.blacklist turn on alignment sanitizer 2018-08-09 21:13:15 +00:00