Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30dbaa20 authored by Sungtak Lee's avatar Sungtak Lee
Browse files

bufferpool@2.0 tune eviction params

bufferpool tries to manage memory consumption as low as 15MB usually.
Since it is too harsh for graphic input buffer use cases, if # of
buffers are under certain threshold make bufferpool ignore total memory
consumption.

Bug: 141605804
Change-Id: I20bd0438fede018e26984e0e3bc9a2007b0bc29b
parent 6112a9c6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ namespace {
    static constexpr int64_t kLogDurationUs = 5000000; // 5 secs

    static constexpr size_t kMinAllocBytesForEviction = 1024*1024*15;
    static constexpr size_t kMinBufferCountForEviction = 40;
    static constexpr size_t kMinBufferCountForEviction = 25;
}

// Buffer structure in bufferpool process
@@ -718,8 +718,8 @@ void Accessor::Impl::BufferPool::cleanUp(bool clearCache) {
                  mStats.mTotalFetches, mStats.mTotalTransfers);
        }
        for (auto freeIt = mFreeBuffers.begin(); freeIt != mFreeBuffers.end();) {
            if (!clearCache && mStats.mSizeCached < kMinAllocBytesForEviction
                    && mBuffers.size() < kMinBufferCountForEviction) {
            if (!clearCache && (mStats.mSizeCached < kMinAllocBytesForEviction
                    || mBuffers.size() < kMinBufferCountForEviction)) {
                break;
            }
            auto it = mBuffers.find(*freeIt);