diff options
Diffstat (limited to 'native/src/blocking/mpcp.cpp')
| -rw-r--r-- | native/src/blocking/mpcp.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/native/src/blocking/mpcp.cpp b/native/src/blocking/mpcp.cpp index 5d2b1ff..d210595 100644 --- a/native/src/blocking/mpcp.cpp +++ b/native/src/blocking/mpcp.cpp | |||
| @@ -181,7 +181,7 @@ static unsigned long mpcp_remote_blocking(unsigned int res_id, | |||
| 181 | // last bound | 181 | // last bound |
| 182 | interval = blocking; | 182 | interval = blocking; |
| 183 | // Bail out if it doesn't converge. | 183 | // Bail out if it doesn't converge. |
| 184 | if (interval > tsk->get_response()) | 184 | if (interval > std::max(tsk->get_response(), tsk->get_period())) |
| 185 | return UNLIMITED; | 185 | return UNLIMITED; |
| 186 | 186 | ||
| 187 | blocking = mpcp_remote_blocking(res_id, interval, | 187 | blocking = mpcp_remote_blocking(res_id, interval, |
| @@ -279,9 +279,8 @@ BlockingBounds* mpcp_bounds(const ResourceSharingInfo& info, | |||
| 279 | remote = mpcp_remote_blocking(&tsk, clusters, responses); | 279 | remote = mpcp_remote_blocking(&tsk, clusters, responses); |
| 280 | 280 | ||
| 281 | // 5) Determine arrival blocking for each task. | 281 | // 5) Determine arrival blocking for each task. |
| 282 | if (remote != UNLIMITED) | 282 | local = mpcp_arrival_blocking(&tsk, clusters[tsk.get_cluster()], |
| 283 | local = mpcp_arrival_blocking(&tsk, clusters[tsk.get_cluster()], | 283 | use_virtual_spinning); |
| 284 | use_virtual_spinning); | ||
| 285 | 284 | ||
| 286 | // 6) Sum up blocking: remote blocking + arrival blocking. | 285 | // 6) Sum up blocking: remote blocking + arrival blocking. |
| 287 | results[i].total_length = remote + local; | 286 | results[i].total_length = remote + local; |
