Skip to content

Proper prefetching in DCM

Reiner Hauser requested to merge (removed):prefetch into master

It looks as if the HLT requires proper prefetching on the DCM side, as it was originally agreed on in the design. This patch has a first go at an implementation.

The RosDataCollector::mayGetRobs() method separates the ROB list it is passed as argument by ROS and caches the result. When a real request happens, this cache is consulted for a posssible overlap in ROSes affected. The ROBs from the cache are then added to the respective ROS request.

Since the cache is per (global) event ID, it has to be cleared at some point. For this purpose the interface of the DataCollector class was extended by a clearEvent(id) method that is implemented in both RosDataCollector and the dummy ROS collector (as a noop).

Edited by Tommaso Colombo

Merge request reports