From 706187dfee4bdf6a4ef32462db25c9d30cce29ad Mon Sep 17 00:00:00 2001 From: yanghao Date: Tue, 24 Aug 2021 14:17:29 +0800 Subject: [PATCH] Invoke atomic add for dynamicTrackedMemChunks only when needChunk is not zero --- src/common/backend/utils/mmgr/memprot.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/backend/utils/mmgr/memprot.cpp b/src/common/backend/utils/mmgr/memprot.cpp index 04dea7372..8025eea71 100644 --- a/src/common/backend/utils/mmgr/memprot.cpp +++ b/src/common/backend/utils/mmgr/memprot.cpp @@ -688,7 +688,9 @@ bool memTracker_ReserveMem(int64 requestedBytes, bool needProtect) t_thrd.utils_cxt.trackedMemChunks = newszChunk; else u_sess->stat_cxt.trackedMemChunks = newszChunk; - gs_atomic_add_32(&dynmicTrackedMemChunks, needChunk); + if (needChunk != 0) { + gs_atomic_add_32(&dynmicTrackedMemChunks, needChunk); + } t_thrd.utils_cxt.basedBytesInQueryLifeCycle += requestedBytes; if(t_thrd.utils_cxt.basedBytesInQueryLifeCycle > t_thrd.utils_cxt.peakedBytesInQueryLifeCycle)