MPS issues

Job Priority Title
job001676 nice AMC does not implement weakness in emergency fixing.
job004016 optional AMC pool may scan parts buffered segments many times
job003797 optional AMC space is lost to pinning
job003792 nice AMS and AWL don't update summaries of condemned segments
job000548 nice AMS grain colour doesn't agree with design doc
job004008 optional AMSSegMerge loses buffer on high segment
job003357 nice AWL is awkward to use
job003848 optional Access violation in gcbench on Windows
job003523 optional Accessing to weak tables on 64-bit causes them to be scanned.
job004024 nice Accounting overheads are too high on mark & sweep pools
job003963 optional Address-based hash table design is not stress-tested
job003847 nice Allocation clock inconsistency in handling of AMC segment padding
job003932 optional Allocation frame documentation is unclear
job003947 nice Allocation frame protocol not safe for general pools
job003944 optional Arena allocation policy may allocate in blacklisted zone
job003795 nice Arena extensions are not adaptive
job003859 nice Assertion failures in amcssth
job003805 nice Bit table scanning is unoptimized
job000549 optional Blackening an AMS segment can break
job003980 optional Branching tool does not distinguish between private and public Git mappings
job003832 optional CVM memory debugging may be redundant
job003984 optional Calling mps_clock frequently is bad for performance
job003905 nice Can't build the MPS in parallel
job003515 nice Can't collect diverse MPS messages in order
job004088 nice Can't destroy an allocation point with a reserve
job004002 optional Can't implement incremental condemn
job003976 optional Can't scan parts of segments allocated by buffers
job003791 nice Can't set the rank on an AMC/AMCZ allocation point
job003816 nice Can't specify generation per allocation point
job004009 nice Can't split a segment if buffer is above the split point
job003783 optional ChainCondemnAuto condemns too many generations
job003384 optional Collector goes mad when low on address space
job001357 nice Configura cannot use Win32 fibers
job003941 nice Configuration parameters are uncommented
job001659 optional Culprit analysis is too hard.
job003953 optional Definalization doesn't scale
job004005 nice Destroying an automatically managed pool does not check that the arena is parked
job003632 nice Difficult to integrate with application that has non-atomic updates
job004025 nice Duplicate code between pool classes
job004068 nice Duplicate thread-management code
job003945 nice Easy to mistakenly omit to enable finalization messages
job003987 optional Emergency collection is not documented
job003683 optional Epoch number can wrap around on 32-bit platforms
job003969 optional Event clock implementation may not be reliable
job001151 optional Format methods can't look at other data
job003979 optional Forwarding unnecessarily lowers the read barrier
job003815 optional Freeing a page never destroys a chunk
job003455 optional Frequent ramps can mess up the ramping algorithm and cause performance problems
job003803 nice Hard to discover roots
job003719 nice Hard to test and debug threading behaviour
job004100 optional Inconsistent linearization of event times
job003799 optional Incrementally collecting the nursery may waste time
job003894 nice Intrinsic functions not used on Windows
job003508 nice Little in manual about in-band headers
job004166 essential MPS Contributing agreement requires review and update
job001789 nice MPS auto_header format is not tested by main test files
job003981 optional MPS does not benefit from huge TLB entries
job003770 nice MPS does not compile from C++
job003789 nice MPS does not try collecting when out of memory
job004085 optional MPS doesn't cooperate well with other SEGV handlers
job003990 nice MPS doesn't notice if clients write scanners that don't check error codes
job003995 optional MPS doesn't support debugging APs
job001715 nice MPS fails to lower barrier when hit: multiple hits cause slowdown (CONJECTURE)
job003505 optional MPS incurs large overhead on barrier hits
job003477 optional MPS is hard to build and debug on Windows
job001092 optional MPS is not integrated with public cool projects.
job003439 optional MPS is too hard to use
job003532 optional MPS kit fails to install shared libraries
job001571 nice MPS multiple traces would not work
job004142 nice MPS sources contain links to private documents
job003838 nice MVT uses segments unnecessarily
job003324 nice Manual contains little about performance of interface
job003802 nice Manual unclear about exact collection
job003999 optional Manually managed address space is only returned to the operating system via a trace
job000537 optional Many design documents missing
job003842 nice Missing dependencies in nmake build system
job004099 optional Monitor not usable for long-running processes
job003387 optional Multiple arenas can corrupt telemetry stream
job004022 optional Mutator is suspended while the foundation is discovered
job000543 nice No MPS programmer's guide
job003781 nice No automated performance test
job003786 nice No automated test of the event subsystem
job003839 nice No benchmarks for space performance
job003943 nice No consistent way to discover arena configuration
job003988 optional No continuous integration test for 32-bit MPS on Linux and OS X
job003837 nice No control over which objects are "large"
job003374 nice No documentation about low memory situations
job003763 nice No easy way to automatically clear freed memory
job001666 optional No guarantee that all weak references to an object die together.
job003852 nice No heap consistency checker
job003919 nice No interface for getting bytes allocated
job003895 nice No interface to logging control
job004095 nice No need for two classes of MRG segment
job003493 nice No recovery mode after assertion failure
job003955 optional No regression test for job003898
job004103 nice No smoke test coverage of mapping failure in pagesMarkAllocated
job004091 nice No support for saving and restoring automatically managed memory
job003991 nice No validation tests for client formats.
job003671 nice Non-moving pools don't make best use of zones
job003989 optional On Windows, pause times are measured using clock(), which is wall-clock time
job003942 optional Possible hang in steptest
job003328 nice Possible improvement to reserve/commit protocol
job003325 nice Purpose of the "class" method of an object format is unclear
job004158 essential Register scanning approach is not reliable
job003962 optional Regular testing omits the MMQA test suite
job003644 optional Reserve/commit protocol does not cope with exceptions
job003881 nice SNC never returns memory to the arena
job003653 nice Scanner makes no use of __builtin_prefetch
job003764 optional Scanning rate is way too high
job003790 optional Segment descriptors could be more efficiently managed
job003841 optional Segs are not Exposed when AMSBlacken calls amsIterate
job003766 nice Splitting and merging complicates writing new seg classes
job003974 optional StackContext and MutatorContext could be unified
job004023 optional Summary-based write barrier invariant won't cope with pre-flip scanning
job004067 nice Telemetry interacts poorly with fork
job004080 nice Telemetry output not appropriate for interactive use
job003755 optional Telemetry tools not regularly tested
job003482 nice Test suite doesn't test error paths
job001152 optional The MPS can't be used to simulate a smaller machine
job003970 optional The MPS can't scan in parallel with the mutator
job003758 nice The MPS does not build with gcc -Wconversion
job003499 critical The MPS issues list looks scary
job004035 optional Thread roots not suitable for user-level threads
job004066 nice Thread-handling functions could do more checking
job004105 optional Time and space overheads are high
job003978 nice Too hard to experiment with different MPS parameters
job003798 optional Tract tables are inflexible
job003864 nice Uncollected finalization messages lead to retention
job003924 nice Unnecessary allocation during arena creation
job004098 optional Use of clock() is not fork-safe
job001707 optional VM Arena never shrinks a generation zone set preferences.
job001709 nice VM Arena uses up zones too quickly.
job001708 nice VM Arena's segment placement policy could be improved.
job003928 nice VM arena uses two VMs when one might do
job004057 nice Warning pragmas are not localised around the bad cases
job003977 optional We maintain redundant NMAKE files
job003796 optional White segment lookup is slow
job003921 optional Write barrier may be harmful to performance
job003902 nice commpre/commpost distinction is unnecessary
job004004 optional mps_arena_pause_time and mps_arena_pause_time_set are not covered
job003929 optional mps_arena_step uses poor estimate of collection time
job003448 nice mps_arena_vm_growth is not documented
job003388 optional telemetry system API can corrupt telemetry stream