mdbx: add dp_reserve_limit with 1024 default.

More for  More for https://github.com/erthink/libmdbx/issues/128

Change-Id: Ia92b1aea58640f183202495e3f6e2d531057afd2
This commit is contained in:
Leonid Yuriev
2020-11-21 16:21:57 +03:00
parent 8f60050991
commit 42019e0b8d
2 changed files with 17 additions and 8 deletions

View File

@@ -975,7 +975,7 @@ struct MDBX_env {
uint16_t *me_dbflags; /* array of flags from MDBX_db.md_flags */
unsigned *me_dbiseqs; /* array of dbi sequence numbers */
volatile txnid_t *me_oldest; /* ID of oldest reader last time we looked */
MDBX_page *me_dpages; /* list of malloc'd blocks for re-use */
MDBX_page *me_dp_reserve; /* list of malloc'd blocks for re-use */
/* PNL of pages that became unused in a write txn */
MDBX_PNL me_retired_pages;
/* MDBX_DP of pages written during a write txn. */
@@ -992,6 +992,10 @@ struct MDBX_env {
volatile pgno_t *me_discarded_tail;
volatile uint32_t *me_meta_sync_txnid;
MDBX_hsr_func *me_hsr_callback; /* Callback for kicking laggard readers */
unsigned me_dp_reserve_len;
struct {
unsigned dp_reserve_limit;
} me_options;
struct {
#if MDBX_LOCKING > 0
mdbx_ipclock_t wlock;