Commit 9731fdc3 authored by Michael Quigley's avatar Michael Quigley
Browse files

Ran and updated tests. All passing.

parent 5c437b5d
Pipeline #545 skipped
...@@ -1072,6 +1072,7 @@ void ...@@ -1072,6 +1072,7 @@ void
LIBASYNC_FUNC_ATTR LIBASYNC_FUNC_ATTR
THCYieldToIdAndSave(uint32_t id_to, uint32_t id_from) { THCYieldToIdAndSave(uint32_t id_to, uint32_t id_from) {
awe_t *awe_ptr = (awe_t *)awe_mapper_get_awe_ptr(id_to); awe_t *awe_ptr = (awe_t *)awe_mapper_get_awe_ptr(id_to);
if (PTS() == awe_ptr->pts) { if (PTS() == awe_ptr->pts) {
CALL_CONT_LAZY_AND_SAVE((void*)&thc_yieldto_with_cont, id_from, (void*)awe_ptr); CALL_CONT_LAZY_AND_SAVE((void*)&thc_yieldto_with_cont, id_from, (void*)awe_ptr);
} }
......
...@@ -86,8 +86,13 @@ static inline int finish_response_check_fn_type_and_reg0( ...@@ -86,8 +86,13 @@ static inline int finish_response_check_fn_type_and_reg0(
enum fn_type actual_type = get_fn_type(response); enum fn_type actual_type = get_fn_type(response);
unsigned long actual_reg0 = fipc_get_reg0(response); unsigned long actual_reg0 = fipc_get_reg0(response);
ret = fipc_recv_msg_end(chnl, response);
if (actual_type != expected_type) { if (ret) {
pr_err("Error finishing receipt of response, ret = %d\n", ret);
return ret;
}
else if (actual_type != expected_type) {
pr_err("Unexpected fn type: actual = %d, expected = %d\n", pr_err("Unexpected fn type: actual = %d, expected = %d\n",
actual_type, expected_type); actual_type, expected_type);
return -EINVAL; return -EINVAL;
...@@ -109,7 +114,6 @@ static int noinline __used add_nums(struct fipc_ring_channel *chan, ...@@ -109,7 +114,6 @@ static int noinline __used add_nums(struct fipc_ring_channel *chan,
struct fipc_message *request; struct fipc_message *request;
struct fipc_message *response; struct fipc_message *response;
unsigned long start_time, stop_time; unsigned long start_time, stop_time;
uint32_t msg_id;
int ret; int ret;
/* /*
* Set up request * Set up request
......
...@@ -21,7 +21,7 @@ enum fn_type { ...@@ -21,7 +21,7 @@ enum fn_type {
}; };
/* must be divisible by 6... because I call 6 functions in the callee.c */ /* must be divisible by 6... because I call 6 functions in the callee.c */
#define TRANSACTIONS 60000 #define TRANSACTIONS 600
/* thread main functions */ /* thread main functions */
int callee(void *_callee_channel_header); int callee(void *_callee_channel_header);
......
...@@ -69,14 +69,7 @@ static inline int send_response(struct fipc_ring_channel *chnl, ...@@ -69,14 +69,7 @@ static inline int send_response(struct fipc_ring_channel *chnl,
{ {
int ret; int ret;
struct fipc_message *response; struct fipc_message *response;
/*
* Mark recvd msg slot as available
*/
ret = fipc_recv_msg_end(chnl, recvd_msg);
if (ret) {
pr_err("Error marking msg as recvd");
return ret;
}
/* /*
* Response * Response
*/ */
...@@ -95,6 +88,15 @@ static inline int send_response(struct fipc_ring_channel *chnl, ...@@ -95,6 +88,15 @@ static inline int send_response(struct fipc_ring_channel *chnl,
return ret; return ret;
} }
/*
* Mark recvd msg slot as available
*/
ret = fipc_recv_msg_end(chnl, recvd_msg);
if (ret) {
pr_err("Error marking msg as recvd");
return ret;
}
return 0; return 0;
} }
......
...@@ -22,7 +22,7 @@ enum fn_type { ...@@ -22,7 +22,7 @@ enum fn_type {
}; };
/* must be divisible by 6... because I call 6 functions in the callee.c */ /* must be divisible by 6... because I call 6 functions in the callee.c */
#define TRANSACTIONS 60 #define TRANSACTIONS 60000
/* thread main functions */ /* thread main functions */
int callee(void *_callee_channel_header); int callee(void *_callee_channel_header);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment