You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/releaseNotes.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -345,3 +345,12 @@ This file describes the main feature changes for each readout.exe released versi
345
345
- consumer-stats: publish/print the current timeframe Id sent to STFB.
346
346
- consumer-stats: ZMQ stats client cleanup timeout, to avoid blocking on exit.
347
347
- auto-mute RDH warnings: verbosity reduced if many successive logs done in a short time.
348
+
349
+
## v2.4.0 - 03/06/2021
350
+
- equipment-player: fixed bug in "autochunk" replay mode. There was a "last packet invalid" error wrongly reported (and aborting replay) in the rare case when a link change would occur exactly at the beginning of a page.
351
+
- Default value of equipment-rorc.rdhUseFirstInPageEnabled is now 1 for all RDH equipments (RORC, emu, player).
352
+
- FMQ stats not printed when consoleUpdate=1 unless there is a running consumerFMQchannel with disableSending=0.
353
+
- tfRateLimit is handled in the equipment directly and avoid potential issues with timeframe slicing at very slow rates.
354
+
- equipment-cruemulator: TF id extracted from trigger counters (single timer source for improved coherency).
355
+
- Memory allocation policy updated: all readout memory is locked (RAM only, can not be swapped). A warning is reported if not.
356
+
- consumer-FMQchannel: checks are done before FMQ shared memory region is created, to avoid going in a state with over-committed memory (no checks done in FMQ library about the validity of the region created, which can cause severe crash when trying to access it). Both /proc/meminfo (MemFree) and /dev/shm (if using shmem transport type) should report enough available memory before proceeding. Memory is also immediately locked and zeroed to avoid later crashes.
// configuration parameter: | consumer-FairMQChannel-* | enableRawFormat | int | 0 | If 0, data is pushed 1 STF header + 1 part per HBF. If 1, data is pushed in raw format without STF headers, 1 FMQ message per data page. If 2, format is 1 STF header + 1 part per data page.|
@@ -183,14 +185,47 @@ class ConsumerFMQchannel : public Consumer
// configuration parameter: | equipment-* | name | string| | Name used to identify this equipment (in logs). By default, it takes the name of the configuration section, equipment-xxx |
// configuration parameter: | equipment-* | rdhUseFirstInPageEnabled | int | 0 | If set, the first RDH in each data page is used to populate readout headers (e.g. linkId).|
119
+
// configuration parameter: | equipment-* | rdhUseFirstInPageEnabled | int | 0 or 1 | If set, the first RDH in each data page is used to populate readout headers (e.g. linkId). Default is 1 for equipments generating data with RDH, 0 otherwsise. |
AliceO2::Common::Timer timeframeClock; // timeframe id should be increased at each clock cycle
137
140
uint64_t currentTimeframe = 0; // id of current timeframe
138
141
bool usingSoftwareClock = false; // if set, using internal software clock to generate timeframe id
139
-
142
+
uint64_t lastTimeframe = 0; // id of last timeframe (in data)
143
+
140
144
//const unsigned int LHCBunches = 3564; // number of bunches in LHC
141
145
constunsignedint LHCOrbitRate = 11246; // LHC orbit rate, in Hz. 299792458 / 26659
142
146
uint32_t timeframePeriodOrbits = 256; // timeframe interval duration in number of LHC orbits
@@ -150,6 +154,9 @@ class ReadoutEquipment
150
154
int cfgRdhDumpWarningEnabled = 0; // flag to enable RDH warning log at runtime
151
155
int cfgRdhUseFirstInPageEnabled = 0; // flag to enable reading of first RDH in page to populate readout headers
152
156
//int cfgRdhCheckPacketCounterContiguous = 1; // flag to enable checking if RDH packetCounter value contiguous (done link-by-link)
157
+
double cfgTfRateLimit = 0; // TF rate limit, to throttle data readout
158
+
RateRegulator TFregulator; // clock counter for TF rate checks
159
+
DataBlockContainerReference throttlePendingBlock; // in case TF rate limit was reached, a block may be set aside for later (when it belongs to next TF)
153
160
154
161
bool isRdhEquipment = false; // to be set true for RDH equipments
0 commit comments