Age | Commit message (Collapse) | Author |
|
The implementation is still hidden behind ERTS_ENABLE_LOCK_COUNT, and
all categories are still enabled by default, but the actual counting can be
toggled at will.
OTP-13170
|
|
|
|
|
|
from process psd through all owned/fixed tables.
As meta_pid_to{_fixed}_tab maps to slot in meta_main_tab
which is planned for destruction.
In this commit we no longer seize table lock while
freeing the table (free_table_cont) as it's not needed
and makes the code a bit simpler. Any concurrent operation
on the table will only access lock, owner and status
and then bail out.
|
|
|
|
by simply asking for the size of struct ext_segtab
|
|
due to the grow/shrink hysteresis of the meta tables
|
|
* Keep it simple(r)
* To prepare for both dynamic sized segments and segtabs
|
|
in tables without write_concurrency
and remove it totally #ifndef ERTS_SMP
|
|
This reverts commit f4bdac18cb9dd45185e911308a5ebd95ff10d7fd.
|
|
in tables without write_concurrency
and remove it totally #ifndef ERTS_SMP
|
|
|
|
|
|
OTP-12376
|
|
Effects if sizeof(erts_smp_rwmtx_t) > 64:
+ Better performance due to less false sharing
- Increased memory footprint per table
|
|
Make it possible to change the number of write_concurrency locks to use. This
is usefull to change when you for some reason want to use more/less locks
per write_concurrency ets table. eg. OSs with a limit on how many mutexes
can exist at once.
|
|
|
|
|
|
|
|
Add an extra pointer to start of segment with the active segment table
to get rid of PossiblyLost errors without the need of a too general
suppression that may hide real memory leaks in ETS.
|
|
|