Commit 0b11c2f9 authored by Michael Quigley's avatar Michael Quigley
Browse files

added some notes about support for YieldTo

parent 2b856c62
......@@ -208,7 +208,7 @@ noinline struct ipc_message *async_recv(struct ttd_ring_channel *rx, unsigned lo
struct ipc_message *recv_msg;
printk(KERN_ERR "MESSAGE ID RECEIVED IS: %lx\n", msg_id);
while( true )
recv_msg = get_rx_rec(rx, sizeof(struct ipc_message));
......@@ -222,8 +222,12 @@ noinline struct ipc_message *async_recv(struct ttd_ring_channel *rx, unsigned lo
awe_t* other_awe = get_awe_from_msg_id(msg_id);
printk(KERN_ERR "other msg id yield\n");
THCYield(); //THCYieldTo(other_awe);
TODO: Add support for YieldTo
This involves adding a data structure that maps awes to id numbers. This is because the continuation needed is not available at the time the message is sent, so instead an ID can be created and assigned so that when an ASYNC yields, the ID can then be used to correspond to the correct awe.*/
......@@ -85,7 +85,7 @@ static unsigned long add_nums_async(unsigned long trans, unsigned long res1, awe
struct ipc_message *msg;
unsigned long result;
unsigned long msg_id = (unsigned long)awe;
printk(KERN_ERR "MESSAGE ID IS: %lx\n", msg_id);
msg = get_send_slot(channel);
msg->fn_type = ADD_NUMS;
msg->reg1 = trans;
......@@ -6,7 +6,7 @@ typedef enum {NULL_INVOCATION, ADD_CONSTANT, ADD_NUMS, ADD_3_NUMS,
ADD_4_NUMS, ADD_5_NUMS, ADD_6_NUMS} fn_types;
/* must be divisible by 6... because I call 6 functions in the Callee.c */
#define TRANSACTIONS 6000
int callee(void *chan);
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