aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/cache/cachememorylayer.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-10-06 13:51:14 +0200
committerGitHub <[email protected]>2023-10-06 13:51:14 +0200
commiteda7a9151ca734f4689a3b5d054f597f633c0369 (patch)
tree3a87180b6a33c7ce1f7beb17ada6ff9786a6029a /src/zenserver/cache/cachememorylayer.cpp
parentfix gc infinite loop (#453) (diff)
downloadzen-eda7a9151ca734f4689a3b5d054f597f633c0369.tar.xz
zen-eda7a9151ca734f4689a3b5d054f597f633c0369.zip
fix memory usage in memlayer (#454)
* Bugfix: Remove double counting of memory usage in memcachelayer
Diffstat (limited to 'src/zenserver/cache/cachememorylayer.cpp')
-rw-r--r--src/zenserver/cache/cachememorylayer.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/zenserver/cache/cachememorylayer.cpp b/src/zenserver/cache/cachememorylayer.cpp
index cae3b457e..1651ad05a 100644
--- a/src/zenserver/cache/cachememorylayer.cpp
+++ b/src/zenserver/cache/cachememorylayer.cpp
@@ -96,15 +96,7 @@ ZenCacheMemoryLayer::Put(std::string_view InBucket, const IoHash& HashKey, const
Trim();
// Note that since the underlying IoBuffer is retained, the content type is also
- int64_t SizeDiff = Bucket->Put(HashKey, Value);
- if (SizeDiff > 0)
- {
- m_TotalSize.fetch_add(gsl::narrow<uint64_t>(SizeDiff));
- }
- else if (SizeDiff < 0)
- {
- m_TotalSize.fetch_sub(gsl::narrow<uint64_t>(-SizeDiff));
- }
+ Bucket->Put(HashKey, Value);
}
bool
@@ -384,7 +376,7 @@ ZenCacheMemoryLayer::CacheBucket::Get(const IoHash& HashKey, ZenCacheValue& OutV
return false;
}
-int64_t
+void
ZenCacheMemoryLayer::CacheBucket::Put(const IoHash& HashKey, const ZenCacheValue& Value)
{
ZEN_TRACE_CPU("Z$::Mem::Bucket::Put");
@@ -412,7 +404,7 @@ ZenCacheMemoryLayer::CacheBucket::Put(const IoHash& HashKey, const ZenCacheValue
else if (m_CacheMap.size() == std::numeric_limits<uint32_t>::max())
{
// No more space in our memory cache!
- return 0;
+ return;
}
else
{
@@ -430,14 +422,11 @@ ZenCacheMemoryLayer::CacheBucket::Put(const IoHash& HashKey, const ZenCacheValue
if (PayloadSize > OldPayloadSize)
{
m_TotalSize.fetch_add(PayloadSize - OldPayloadSize);
- return gsl::narrow<int64_t>(PayloadSize - OldPayloadSize);
}
else if (PayloadSize < OldPayloadSize)
{
m_TotalSize.fetch_sub(OldPayloadSize - PayloadSize);
- return -gsl::narrow<int64_t>(OldPayloadSize - PayloadSize);
}
- return 0;
}
void