From 817061bc060265e4682f082eac760c390d378210 Mon Sep 17 00:00:00 2001 From: Bjoern Brandenburg Date: Wed, 16 May 2012 18:47:27 +0200 Subject: C++: Break out the C-OMLP code into own file Part of refactoring sharedres.cpp. --- native/src/sharedres.cpp | 69 ------------------------------------------------ 1 file changed, 69 deletions(-) (limited to 'native/src/sharedres.cpp') diff --git a/native/src/sharedres.cpp b/native/src/sharedres.cpp index 02815dc..976f94e 100644 --- a/native/src/sharedres.cpp +++ b/native/src/sharedres.cpp @@ -554,75 +554,6 @@ static Interference bound_blocking(const LimitedContentionSet &lcs, unsigned int } -BlockingBounds* clustered_omlp_bounds(const ResourceSharingInfo& info, - unsigned int procs_per_cluster, - int dedicated_irq) -{ - // split everything by partition - Clusters clusters; - - split_by_cluster(info, clusters); - - // split each partition by resource - ClusterResources resources; - - split_by_resource(clusters, resources); - - // sort each contention set by request length - sort_by_request_length(resources); - - // We need for each task the maximum request span. We also need the - // maximum direct blocking from remote partitions for each request. We - // can determine both in one pass. - - unsigned int i; - - // direct blocking results - BlockingBounds* _results = new BlockingBounds(info); - BlockingBounds& results = *_results; - - for (i = 0; i < info.get_tasks().size(); i++) - { - const TaskInfo& tsk = info.get_tasks()[i]; - - Interference bterm; - - foreach(tsk.get_requests(), jt) - { - const RequestBound& req = *jt; - Interference blocking; - - blocking = np_fifo_per_resource( - tsk, resources, procs_per_cluster, - req.get_resource_id(), - req.get_num_requests(), - dedicated_irq); - - // add in blocking term - bterm += blocking; - - // Keep track of maximum request span. - // Is this already a single-issue request? - if (req.get_num_requests() != 1) - blocking = np_fifo_per_resource( - tsk, resources, procs_per_cluster, - req.get_resource_id(), 1); - - // The span includes our own request. - blocking.total_length += req.get_request_length(); - blocking.count += 1; - // Update max. request span. - results.raise_request_span(i, blocking); - } - - results[i] = bterm; - } - - // This is the initial delay due to priority donation. - charge_arrival_blocking(info, results); - - return _results; -} BlockingBounds* clustered_kx_omlp_bounds(const ResourceSharingInfo& info, const ReplicaInfo& replicaInfo, -- cgit v1.2.2