Limit remote batch size (#724)
When processing a remote batch, the system will process every single message that was available at the start of processing. This can lead to a long pause time if there have been a considerable number of frees to this thread. This commit introduces a new mechanism to only process messages up to a limit of 1MiB. The limit is configurable using CMake. Choosing too small a limit can cause freeing to never catch up with the incoming messages.
This commit is contained in:
committed by
GitHub
parent
35c5c6038c
commit
046c5ac766
@@ -206,6 +206,10 @@ else()
|
||||
target_compile_definitions(snmalloc INTERFACE SNMALLOC_USE_WAIT_ON_ADDRESS=0)
|
||||
endif()
|
||||
|
||||
if(SNMALLOC_REMOTE_BATCH_PROCESS_SIZE)
|
||||
target_compile_definitions(snmalloc INTERFACE SNMALLOC_REMOTE_BATCH_PROCESS_SIZE=${SNMALLOC_REMOTE_BATCH_PROCESS_SIZE})
|
||||
endif()
|
||||
|
||||
if(SNMALLOC_USE_SELF_VENDORED_STL)
|
||||
target_compile_definitions(snmalloc INTERFACE SNMALLOC_USE_SELF_VENDORED_STL=1)
|
||||
else()
|
||||
|
||||
Reference in New Issue
Block a user