-
unknown authored
storage/ndb/src/kernel/blocks/pgman.cpp: Under heavy insert PGMAN can run out of page entries even when set to 100 times page cache entries. In this use pattern the extra entries remain idle on LIRS stack. Only ONSTACK is set. There is not enough activity to free them the normal way. A study of PGMAN / DBTUP behaviour is needed. This patch adds new sublist SL_IDLE. When page entry pool is empty, an idle entry is released from SL_IDLE front if there is any. Otherwise, we still crash. The factor above is set from 100 to 10 (still high). storage/ndb/src/kernel/blocks/pgman.hpp: Under heavy insert PGMAN can run out of page entries even when set to 100 times page cache entries. In this use pattern the extra entries remain idle on LIRS stack. Only ONSTACK is set. There is not enough activity to free them the normal way. A study of PGMAN / DBTUP behaviour is needed. This patch adds new sublist SL_IDLE. When page entry pool is empty, an idle entry is released from SL_IDLE front if there is any. Otherwise, we still crash. The factor above is set from 100 to 10 (still high).
3608d311