From 8017a86c6b16acaf35bbf29e2dff005e712ab6ad Mon Sep 17 00:00:00 2001 From: Sandro Wenzel Date: Mon, 8 Apr 2019 13:37:35 +0200 Subject: [PATCH 1/2] O2-592: Increase shared memory buffer for hits We need larger memory buffers to the hits when transporting 10K primaries per sub-event. (The alternative would be to decrease tha max sub-event size). This should fix O2-592. --- Common/Utils/include/CommonUtils/ShmManager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/Utils/include/CommonUtils/ShmManager.h b/Common/Utils/include/CommonUtils/ShmManager.h index 67044b4db2ef7..b59998c36289f 100644 --- a/Common/Utils/include/CommonUtils/ShmManager.h +++ b/Common/Utils/include/CommonUtils/ShmManager.h @@ -32,7 +32,7 @@ namespace utils { // the size dedicated to each attached worker/process -constexpr size_t SHMPOOLSIZE = 1024 * 1024 * 200; // 200MB +constexpr size_t SHMPOOLSIZE = 1024 * 1024 * 1024; // 1 GB // some meta info stored at the beginning of the global shared mem segment struct ShmMetaInfo { From da2021d0b20f7a264cad88814cee3c1bab5cf2e7 Mon Sep 17 00:00:00 2001 From: Sandro Wenzel Date: Mon, 8 Apr 2019 15:03:29 +0200 Subject: [PATCH 2/2] o2sim: Increase timeouts to have more robust communication --- run/O2SimDevice.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/O2SimDevice.h b/run/O2SimDevice.h index d5b23dce07bda..4e074f60685bb 100644 --- a/run/O2SimDevice.h +++ b/run/O2SimDevice.h @@ -90,7 +90,7 @@ class O2SimDevice : public FairMQDevice std::unique_ptr reply(channel.NewMessage()); int timeoutinMS = 100000; // wait for 100s max - if (channel.Send(request, timeoutinMS) >= 0) { + if (channel.Send(request, timeoutinMS) > 0) { LOG(INFO) << "Waiting for configuration answer "; if (channel.Receive(reply, timeoutinMS) > 0) { LOG(INFO) << "Configuration answer received, containing " << reply->GetSize() << " bytes "; @@ -156,8 +156,8 @@ class O2SimDevice : public FairMQDevice mVMCApp->setSimDataChannel(&dataoutchannel); LOG(INFO) << "Requesting work "; - int timeoutinMS = 10000; // wait for 10s max -- we should have a more robust solution - if (requestchannel.Send(request, timeoutinMS) >= 0) { + int timeoutinMS = 100000; // wait for 100s max -- we should have a more robust solution + if (requestchannel.Send(request, timeoutinMS) > 0) { LOG(INFO) << "Waiting for answer "; // asking for primary generation