Page MenuHomePhabricator

eizan (Eizan Miyamoto)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 4 2017, 2:14 AM (140 w, 4 d)

Recent Activity

Sep 9 2018

eizan accepted D51723: [XRay] Add a BlockVerifier visitor for FDR Records.
Sep 9 2018, 6:20 PM

Sep 6 2018

eizan added inline comments to D51723: [XRay] Add a BlockVerifier visitor for FDR Records.
Sep 6 2018, 5:46 PM

Sep 5 2018

eizan added a comment to D51672: [XRay] Add a RecordPrinter visitor for FDR Records.

LGTM

Sep 5 2018, 11:01 PM

Aug 30 2018

eizan accepted D51289: [XRay] FDR Record Producer/Consumer Implementation.
Aug 30 2018, 10:52 PM
eizan accepted D51210: [XRay] FDRTraceWriter and FDR Trace Loading.
Aug 30 2018, 12:01 AM

Aug 16 2018

eizan accepted D50782: [XRay][compiler-rt] Avoid InternalAlloc(...) in Profiling Mode.
Aug 16 2018, 6:48 PM
eizan added a comment to D50782: [XRay][compiler-rt] Avoid InternalAlloc(...) in Profiling Mode.

I'm trying to understand the memory allocation/deallocation dynamics of this module. It looks like all of the Array<...> objects only have their memory allocation increase because the XRay segmented array doesn't support having its allocation shrink.

The Array<...> objects only grow, yes, but we're able to trim them and re-use the memory that's in the internal freelist for the array segments.

However, the memory buffers that each cell in ProfileBuffers point to do get deallocated inside serialize(). Is this correct? Why are these buffers special that they should be deallocated rather than kept around for reuse later like all the other memory?

The actual buffers are obtained through mmap, and they are not fixed-size -- the size of the buffers are dependent on how large the serialised version of the function call tries will be. We can't re-use these buffers across multiple profile collection sessions. The ProfileBuffers array hosts structs that are fixed-size (it's a pointer and a size).

Note that in the reset() function, we destroy the allocators and re-initilize them (through placement new). The static storage for the allocators and the arrays get effectively re-used, without having to reach for memory from the heap (all of the storage for the Array<...> instances will be obtained through the Allocator<...> instances). If you look at Allocator<...>, the destructor will return the memory to the system as well.

Aug 16 2018, 5:57 PM
eizan added a comment to D50782: [XRay][compiler-rt] Avoid InternalAlloc(...) in Profiling Mode.

I'm trying to understand the memory allocation/deallocation dynamics of this module. It looks like all of the Array<...> objects only have their memory allocation increase because the XRay segmented array doesn't support having its allocation shrink. However, the memory buffers that each cell in ProfileBuffers point to do get deallocated inside serialize(). Is this correct? Why are these buffers special that they should be deallocated rather than kept around for reuse later like all the other memory?

Aug 16 2018, 5:25 AM
eizan accepted D50831: [XRay][compiler-rt] Remove MAP_NORESERVE from XRay allocations.
Aug 16 2018, 4:16 AM

Jul 30 2018

eizan accepted D50037: [XRay][compiler-rt] Profiling Mode: Include file header in buffers.
Jul 30 2018, 9:15 PM

Jul 29 2018

eizan accepted D49972: [XRay][compiler-rt] FDR Mode: Use mmap instead of internal allocator.
Jul 29 2018, 10:50 PM

Jul 15 2018

eizan accepted D49358: [XRay][compiler-rt] Use `SANITIZER_CXX_ABI_LIBRARY` for XRay unit tests.
Jul 15 2018, 6:11 PM

Jul 12 2018

eizan accepted D48879: [XRay][test-suite] Benchmarks for profiling mode implementation.
Jul 12 2018, 9:48 PM

Jun 5 2018

eizan accepted D47696: [XRay][compiler-rt] Refactor recursion guard for Basic and FDR Mode.
Jun 5 2018, 10:53 PM
eizan added a comment to D47696: [XRay][compiler-rt] Refactor recursion guard for Basic and FDR Mode.

Can you comment for posterity on why the change you're making to the RecursionGuard -> Guard variable is more correct?

Jun 5 2018, 7:56 PM

May 31 2018

eizan added inline comments to D46998: [XRay][compiler-rt] Remove reliance on C++ ABI features.
May 31 2018, 6:01 AM

Apr 12 2018

eizan accepted D45610: [XRay][clang] Make -fxray-modes= additive.
Apr 12 2018, 10:50 PM

Apr 5 2018

eizan accepted D45354: [XRay][clang] Add a flag to enable/disable linking XRay deps explicitly.
Apr 5 2018, 10:10 PM
eizan accepted D45243: [XRay][clang] Consolidate runtime and link-time flag processing (NFC).
Apr 5 2018, 8:49 PM

Dec 5 2017

eizan accepted D40828: [XRay][compiler-rt] Implement XRay Basic Mode Filtering.
Dec 5 2017, 4:15 AM
eizan added inline comments to D40828: [XRay][compiler-rt] Implement XRay Basic Mode Filtering.
Dec 5 2017, 3:24 AM
eizan accepted D40703: [XRay][compiler-rt] Implement logging implementation registration.
Dec 5 2017, 2:57 AM

Nov 16 2017

eizan committed rL318499: [XRay][test-suite] Update XRay microbenchmarks to use ranged for loops.
[XRay][test-suite] Update XRay microbenchmarks to use ranged for loops
Nov 16 2017, 5:55 PM
eizan closed D40162: [XRay][test-suite] Update XRay microbenchmarks to use ranged for loops by committing rL318499: [XRay][test-suite] Update XRay microbenchmarks to use ranged for loops.
Nov 16 2017, 5:55 PM
eizan created D40162: [XRay][test-suite] Update XRay microbenchmarks to use ranged for loops.
Nov 16 2017, 5:52 PM
eizan committed rL318476: [XRay][test-suite] Upgrade Google benchmark library.
[XRay][test-suite] Upgrade Google benchmark library
Nov 16 2017, 4:17 PM
eizan closed D40154: [XRay][test-suite] Upgrade Google benchmark library by committing rL318476: [XRay][test-suite] Upgrade Google benchmark library.
Nov 16 2017, 4:16 PM
eizan updated the summary of D40154: [XRay][test-suite] Upgrade Google benchmark library.
Nov 16 2017, 4:08 PM
eizan created D40154: [XRay][test-suite] Upgrade Google benchmark library.
Nov 16 2017, 3:53 PM
eizan committed rL318473: [XRay] [test-suite] Add FDR mode microbenchmark.
[XRay] [test-suite] Add FDR mode microbenchmark
Nov 16 2017, 3:38 PM
eizan closed D40010: [XRay] [test-suite] Add FDR mode microbenchmark by committing rL318473: [XRay] [test-suite] Add FDR mode microbenchmark.
Nov 16 2017, 3:38 PM
eizan closed D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks.

This has been submitted: https://reviews.llvm.org/rL317310

Nov 16 2017, 2:28 PM
eizan abandoned D37421: [XRay] [test-suite] Add LNT support to retref-bench benchmarks..

I'm going to abandon this change as there doesn't appear to be a pressing need for it right now.

Nov 16 2017, 2:26 PM

Nov 14 2017

eizan updated the diff for D40010: [XRay] [test-suite] Add FDR mode microbenchmark.
  • Add header with license and description to fdrmode-bench.cc
  • rename .test files to use less exotic character set
Nov 14 2017, 4:56 PM
eizan updated the diff for D40010: [XRay] [test-suite] Add FDR mode microbenchmark.
  • cleanup unused commented-out code
Nov 14 2017, 2:40 AM
eizan created D40010: [XRay] [test-suite] Add FDR mode microbenchmark.
Nov 14 2017, 2:38 AM

Nov 3 2017

eizan updated subscribers of rL317310: add microbenchmark litsupport plugin.
Nov 3 2017, 3:03 AM
eizan committed rL317310: add microbenchmark litsupport plugin.
add microbenchmark litsupport plugin
Nov 3 2017, 3:01 AM

Oct 4 2017

eizan retitled D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks from [XRay] [test-suite] Add litsupport for microbenchmarks to [XRay] [test-suite] Add litsupport module for microbenchmarks.
Oct 4 2017, 3:07 AM
eizan updated the diff for D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks.

add microbenchmark module after run and remove timeit from XRay/lit.local.cfg

Oct 4 2017, 3:05 AM

Oct 3 2017

eizan updated the summary of D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks.
Oct 3 2017, 5:25 AM
eizan updated the summary of D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks.
Oct 3 2017, 5:24 AM
eizan created D38496: [XRay] [test-suite] Add litsupport module for microbenchmarks.
Oct 3 2017, 5:22 AM

Sep 14 2017

eizan added a reviewer for D37421: [XRay] [test-suite] Add LNT support to retref-bench benchmarks.: MatzeB.
Sep 14 2017, 4:49 PM

Sep 11 2017

eizan accepted D37612: [XRay][compiler-rt] Use a single global volatile recursion guard for FDR handlers.
Sep 11 2017, 5:41 PM

Sep 10 2017

eizan updated the diff for D37421: [XRay] [test-suite] Add LNT support to retref-bench benchmarks..
  • move running of benchmark & parsing output into lib/microbenchmark.py
  • Move XRay dir into MicroBenchmarks and fix up paths
  • move building of XRay benchmarks into microbenchmark lib
  • pass ARCH to build_microbenchmark invocation of cmake
Sep 10 2017, 5:49 AM

Sep 3 2017

eizan created D37421: [XRay] [test-suite] Add LNT support to retref-bench benchmarks..
Sep 3 2017, 4:07 AM
eizan abandoned D35547: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Sep 3 2017, 3:39 AM

Aug 30 2017

eizan accepted D37290: [XRay][compiler-rt] Enable the XRay compiler-rt unit tests..
Aug 30 2017, 5:27 PM
eizan accepted D31870: [XRay][tools] Fix an accounting bug in llvm-xray account.
Aug 30 2017, 5:15 PM

Aug 29 2017

eizan accepted D37248: [XRay][compiler-rt][NFC] Refactor global TLS variables behind an accessor function..

Out of curiosity, why did you make bool Revision 'volatile'? Will it be modified elsewhere?

Aug 29 2017, 5:04 AM

Aug 27 2017

eizan accepted D37202: [XRay][compiler-rt] Return the pointer associated with the function instead of the sled.
Aug 27 2017, 8:42 PM

Aug 18 2017

eizan updated the summary of D36917: [XRay] [test-suite] Upgrade Google Benchmark library to 1.2.0.
Aug 18 2017, 9:10 PM
eizan created D36917: [XRay] [test-suite] Upgrade Google Benchmark library to 1.2.0.
Aug 18 2017, 9:05 PM

Aug 3 2017

eizan updated the diff for D35672: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
  • Replace add_executable() with llvm_test_run() in XRay CMakeLists.txt
Aug 3 2017, 6:06 AM

Jul 20 2017

eizan updated the summary of D35672: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 20 2017, 3:22 AM
eizan updated the summary of D35672: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 20 2017, 3:22 AM
eizan created D35672: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 20 2017, 3:22 AM

Jul 18 2017

eizan updated the summary of D35547: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 18 2017, 4:53 AM
eizan updated the summary of D35547: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 18 2017, 4:51 AM
eizan created D35547: [XRay] [test-suite] Don't use llvm_multisource macro for XRay tests and use .test files.
Jul 18 2017, 4:50 AM

Jul 1 2017

eizan updated the summary of D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
Jul 1 2017, 8:12 PM
eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • Remove TEST_SUITE_ENABLE_MICROBENCHMARKS
  • benchmark targets properly depend on test suite build deps
Jul 1 2017, 8:09 PM

Jun 29 2017

eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • Move libs/benchmark-1.0.0 into MicroBenchmarks
  • Guard building of all microbenchmarks based on ...ENABLE_XRAY_MICROBENCHMARKS
  • Rename ...ENABLE_XRAY_MICROBENCHMARKS -> ...ENABLE_MICROBENCHMARKS
Jun 29 2017, 5:52 AM

Jun 28 2017

eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • whitespace
Jun 28 2017, 9:24 PM
eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • whitespace
Jun 28 2017, 9:22 PM
eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.

Rebasing off of latest head...

Jun 28 2017, 9:20 PM
eizan updated the summary of D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
Jun 28 2017, 5:27 PM
eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • Remove stale commented out code from MicroBenchmarks/XRay/CMakeLists.txt
  • Add missing file(COPY...) command for XRay lit.local.cfg
  • Move XRay-related system introspection into XRay CMakeLists.txt
  • require ENABLE_XRAY_MICROBENCHMARKS=1 to run XRay Microbenchmarks
  • don't explicitly add MicroBenchmarks to test suite list
Jun 28 2017, 4:57 AM

Jun 23 2017

eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
  • comment fix in test-suite/CMakeLists.txt to correctly list excluded dirs
Jun 23 2017, 6:18 AM
eizan updated the diff for D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.

Hello, sorry for taking so long to make the suggested changes.

Jun 23 2017, 5:13 AM

Apr 19 2017

eizan created D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks.
Apr 19 2017, 11:48 PM