From 041b9a0c5b2615f70ca1b3eb99f137a44fe36af4 Mon Sep 17 00:00:00 2001 From: Petr Zejdl <petr.zejdl@cern.ch> Date: Fri, 5 Nov 2021 16:39:48 +0100 Subject: [PATCH] Remove obsolete file input --- src/Makefile | 6 ++--- src/file_input.cc | 63 ----------------------------------------------- src/file_input.h | 27 -------------------- src/scdaq.cc | 17 +------------ src/scdaq.conf | 3 +-- 5 files changed, 4 insertions(+), 112 deletions(-) delete mode 100644 src/file_input.cc delete mode 100644 src/file_input.h diff --git a/src/Makefile b/src/Makefile index 6e04e1d1..bee88c05 100644 --- a/src/Makefile +++ b/src/Makefile @@ -12,7 +12,7 @@ TARGET = scdaq # source files -SOURCES = config.cc DmaInputFilter.cc elastico.cc FileDmaInputFilter.cc file_input.cc InputFilter.cc output.cc processor.cc scdaq.cc session.cc slice.cc WZDmaInputFilter.cc +SOURCES = config.cc DmaInputFilter.cc elastico.cc FileDmaInputFilter.cc InputFilter.cc output.cc processor.cc scdaq.cc session.cc slice.cc WZDmaInputFilter.cc C_SOURCES = wz_dma.c # work out names of object files from sources @@ -57,13 +57,11 @@ ${TARGET}: ${OBJECTS} #test2.o : product.h test2.h -scdaq.o: file_input.h processor.h elastico.h output.h format.h server.h controls.h config.h session.h log.h +scdaq.o: processor.h elastico.h output.h format.h server.h controls.h config.h session.h log.h config.o: config.h log.h DmaInputFilter.o: DmaInputFilter.h slice.h elastico.o: elastico.h format.h slice.h controls.h log.h -file_dma_input.o: file_dma_input.h FileDmaInputFilter.o: FileDmaInputFilter.h InputFilter.h log.h -file_input.o: file_input.h slice.h utility.h InputFilter.o: InputFilter.h log.h output.o: output.h slice.h log.h processor.o: processor.h slice.h format.h log.h diff --git a/src/file_input.cc b/src/file_input.cc deleted file mode 100644 index 52d5e7b6..00000000 --- a/src/file_input.cc +++ /dev/null @@ -1,63 +0,0 @@ -#include <cstdio> -#include "file_input.h" -#include "slice.h" -#include "utility.h" - -FileInputFilter::FileInputFilter( const std::string& file_name_, size_t max_size_, - size_t nslices_) : - - filter(serial_in_order), - next_slice(Slice::preAllocate( max_size_,nslices_) ), - counts(0), - ncalls(0), - lastStartTime(tbb::tick_count::now()), - last_count(0) -{ - input_file = fopen( file_name_.c_str(), "r" ); - if ( !input_file ) { - throw std::invalid_argument( "Invalid input file name: " + file_name_ ); - } - fprintf(stderr,"Created input filter and allocated at 0x%llx \n",(unsigned long long)next_slice); -} - -FileInputFilter::~FileInputFilter() { - fprintf(stderr,"Destroy input filter and delete at 0x%llx \n",(unsigned long long)next_slice); - Slice::giveAllocated(next_slice); - fprintf(stderr,"input operator total %lu read \n",counts); - // fclose( output_file ); - fclose( input_file ); -} - -void* FileInputFilter::operator()(void*) { - - ncalls++; - size_t m = next_slice->avail(); - size_t n = fread( next_slice->begin(), 1, m, input_file ); - - if(n<m){ - // fprintf(stderr,"input operator read less %d \n",n); - - } - counts+=n/192; - - if(ncalls%100000==0){ - printf("input bandwidth %f\n",double((counts-last_count)*192/1024./1024.)/ - double((tbb::tick_count::now() - lastStartTime).seconds())); - lastStartTime=tbb::tick_count::now(); - last_count=counts; - } - if( n==0 ) { - fseek(input_file,0,SEEK_SET); - return this->operator()(nullptr); - } else { - // Have more data to process. - Slice& t = *next_slice; - next_slice = Slice::getAllocated(); - - char* p = t.end()+n; - t.set_end(p); - - return &t; - } - -} diff --git a/src/file_input.h b/src/file_input.h deleted file mode 100644 index 613b82de..00000000 --- a/src/file_input.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef FILE_INPUT_H -#define FILE_INPUT_H - -#include <memory> -#include <string> -#include "tbb/pipeline.h" -#include "tbb/tick_count.h" - -class Slice; - -class FileInputFilter: public tbb::filter { - public: - FileInputFilter( const std::string&, size_t, size_t); - ~FileInputFilter(); - private: - FILE* input_file; - Slice* next_slice; - void* operator()(void*) /*override*/; - uint64_t counts; - uint64_t ncalls; - tbb::tick_count lastStartTime; - uint64_t last_count; -}; - -typedef std::shared_ptr<FileInputFilter> FileInputFilterPtr; - -#endif diff --git a/src/scdaq.cc b/src/scdaq.cc index 766d1b82..b9fff5f8 100644 --- a/src/scdaq.cc +++ b/src/scdaq.cc @@ -19,7 +19,6 @@ #include "FileDmaInputFilter.h" #include "WZDmaInputFilter.h" #include "DmaInputFilter.h" -#include "file_input.h" #include "processor.h" #include "elastico.h" #include "output.h" @@ -32,11 +31,6 @@ using namespace std; - - - - - bool silent = false; int run_pipeline( int nbThreads, ctrl& control, config& conf ) @@ -51,15 +45,7 @@ int run_pipeline( int nbThreads, ctrl& control, config& conf ) // Create the pipeline tbb::pipeline pipeline; - if (input == config::InputType::FILE) { - // Create file-reading writing stage and add it to the pipeline - //MAX_BYTES_PER_INPUT_SLICE = 192*conf.getBlocksPerInputBuffer(); - //TOTAL_SLICES = conf.getNumInputBuffers(); - - //input_filter = std::make_shared<FileInputFilter>( conf.getInputFile(), MAX_BYTES_PER_INPUT_SLICE, TOTAL_SLICES ); - throw std::runtime_error("input type FILE is not supported"); - - } else if (input == config::InputType::DMA) { + if (input == config::InputType::DMA) { // Create DMA reader input_filter = std::make_shared<DmaInputFilter>( conf.getDmaDevice(), packetBufferSize, nbPacketBuffers, control ); @@ -118,7 +104,6 @@ int run_pipeline( int nbThreads, ctrl& control, config& conf ) } - int main( int argc, char* argv[] ) { (void)(argc); (void)(argv); diff --git a/src/scdaq.conf b/src/scdaq.conf index ed864089..2ce5e864 100644 --- a/src/scdaq.conf +++ b/src/scdaq.conf @@ -2,7 +2,6 @@ # "wzdma" for DMA driver from Wojciech M. Zabolotny # "dma" for XILINX DMA driver # "filedma" for reading from file and simulating DMA -# "file" for reading from file input:wzdma #input:filedma @@ -23,7 +22,7 @@ packets_per_report:200000 #packets_per_report:1 -## Settings for file input +## Settings for file(dma) input #input_file:/dev/shm/testdata.bin input_file:testdata.bin #input_file:../dumps/dump-empty-run.bin -- GitLab