From 2f5aa20635c77af9421799a74ae4d2f10ea98cea Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Thu, 20 Jul 2017 10:09:12 +0000 Subject: [PATCH] Task #11059: Disable O_DIRECT as it provides abysmal performance on the current CEP4 settings --- RTCP/Cobalt/OutputProc/src/MSWriterFile.h | 27 ++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/RTCP/Cobalt/OutputProc/src/MSWriterFile.h b/RTCP/Cobalt/OutputProc/src/MSWriterFile.h index dd82e4125a0..4a1476bc7a4 100644 --- a/RTCP/Cobalt/OutputProc/src/MSWriterFile.h +++ b/RTCP/Cobalt/OutputProc/src/MSWriterFile.h @@ -21,11 +21,32 @@ #ifndef LOFAR_STORAGE_MSWRITERFILE_H #define LOFAR_STORAGE_MSWRITERFILE_H +// O_DIRECT gave us bad performance on CEP4. Compare: +/* + +root@cpu01 ~]# dd if=/dev/zero of=/data/test/throughput.dd bs=104857600 count=10 oflag=direct +10+0 records in +10+0 records out +1048576000 bytes (1.0 GB) copied, 60.8431 s, 17.2 MB/s + +[root@cpu01 ~]# dd if=/dev/zero of=/data/test/throughput.dd bs=104857600 count=10 +10+0 records in +10+0 records out +1048576000 bytes (1.0 GB) copied, 0.879391 s, 1.2 GB/s + +*/ +//#define USE_O_DIRECT + +#ifdef USE_O_DIRECT +#include "FastFileStream.h" +#else +#include <Stream/FileStream.h> +#endif + #include <string> #include <CoInterface/StreamableData.h> #include "MSWriter.h" -#include "FastFileStream.h" namespace LOFAR { @@ -49,7 +70,11 @@ namespace LOFAR virtual size_t getDataSize(); protected: +#ifdef USE_O_DIRECT FastFileStream itsFile; +#else + FileStream itsFile; +#endif }; -- GitLab