From b0ae9ba266475d3eb555edaf1082ec9b8f14a9c3 Mon Sep 17 00:00:00 2001 From: Sean McBride Date: Mon, 16 Mar 2020 17:49:28 -0400 Subject: [PATCH] chore: cleanup sandbox_request --- runtime/include/sandbox_request.h | 51 +++++++++++++++---------------- runtime/src/runtime.c | 6 ++-- 2 files changed, 27 insertions(+), 30 deletions(-) diff --git a/runtime/include/sandbox_request.h b/runtime/include/sandbox_request.h index ef53191..55ab577 100644 --- a/runtime/include/sandbox_request.h +++ b/runtime/include/sandbox_request.h @@ -18,7 +18,25 @@ typedef struct sandbox_request sandbox_request_t; DEQUE_PROTOTYPE(sandbox, sandbox_request_t *); -static inline int add_sandbox_request_to_global_dequeue(sandbox_request_t *sandbox_request); +/** + * Pushes a sandbox request to the global deque + * @param sandbox_request + **/ +static inline int +sandbox_request__add_to_global_dequeue(sandbox_request_t *sandbox_request) +{ + int return_code; + +#if NCORES == 1 + pthread_mutex_lock(&global_deque_mutex); +#endif + return_code = deque_push_sandbox(global_deque, &sandbox_request); +#if NCORES == 1 + pthread_mutex_unlock(&global_deque_mutex); +#endif + + return return_code; +} /** * Allocates a new Sandbox Request and places it on the Global Deque @@ -30,7 +48,7 @@ static inline int add_sandbox_request_to_global_dequeue(sandbox_request_t *sandb * @return the new sandbox request **/ static inline sandbox_request_t * -allocate_sandbox_request(struct module *module, char *arguments, int socket_descriptor, const struct sockaddr *socket_address, u64 start_time) +sandbox_request__allocate(struct module *module, char *arguments, int socket_descriptor, const struct sockaddr *socket_address, u64 start_time) { sandbox_request_t *sandbox_request = (sandbox_request_t *)malloc(sizeof(sandbox_request_t)); assert(sandbox_request); @@ -41,36 +59,16 @@ allocate_sandbox_request(struct module *module, char *arguments, int socket_desc sandbox_request->start_time = start_time; debuglog("[%p: %s]\n", sandbox_request, sandbox_request->module->name); - add_sandbox_request_to_global_dequeue(sandbox_request); + sandbox_request__add_to_global_dequeue(sandbox_request); return sandbox_request; } -/** - * Pushes a sandbox request to the global deque - * @param sandbox_request - **/ -static inline int -add_sandbox_request_to_global_dequeue(sandbox_request_t *sandbox_request) -{ - int return_code; - -#if NCORES == 1 - pthread_mutex_lock(&global_deque_mutex); -#endif - return_code = deque_push_sandbox(global_deque, &sandbox_request); -#if NCORES == 1 - pthread_mutex_unlock(&global_deque_mutex); -#endif - - return return_code; -} - /** * Pops a sandbox request from the global deque * @param sandbox_request the pointer which we want to set to the sandbox request **/ static inline int -pop_sandbox_request_from_global_dequeue(sandbox_request_t **sandbox_request) +sandbox_request__pop_from_global_dequeue(sandbox_request_t **sandbox_request) { int return_code; @@ -84,18 +82,17 @@ pop_sandbox_request_from_global_dequeue(sandbox_request_t **sandbox_request) return return_code; } - /** * TODO: What does this do? * @returns A Sandbox Request or NULL **/ static inline sandbox_request_t * -steal_sandbox_request_from_global_dequeue(void) +sandbox_request__steal_from_global_dequeue(void) { sandbox_request_t *sandbox_request = NULL; #if NCORES == 1 - pop_sandbox_request_from_global_dequeue(&sandbox_request); + sandbox_request__pop_from_global_dequeue(&sandbox_request); #else int r = deque_steal_sandbox(global_deque, &sandbox_request); if (r) sandbox_request = NULL; diff --git a/runtime/src/runtime.c b/runtime/src/runtime.c index 9a98bfe..38ce033 100644 --- a/runtime/src/runtime.c +++ b/runtime/src/runtime.c @@ -94,7 +94,7 @@ listener_thread_main(void *dummy) total_requests++; printf("Received Request %d at %lu\n", total_requests, start_time); - sandbox_request_t *sandbox_request = allocate_sandbox_request( + sandbox_request_t *sandbox_request = sandbox_request__allocate( module, module->name, socket_descriptor, @@ -102,7 +102,7 @@ listener_thread_main(void *dummy) start_time); assert(sandbox_request); - // TODO: Refactor allocate_sandbox_request to not add to global request queue and do this here + // TODO: Refactor sandbox_request__allocate to not add to global request queue and do this here } } @@ -265,7 +265,7 @@ pull_sandbox_requests_from_global_runqueue(void) while (total_sandboxes_pulled < SBOX_PULL_MAX) { sandbox_request_t *sandbox_request; - if ((sandbox_request = steal_sandbox_request_from_global_dequeue()) == NULL) break; + if ((sandbox_request = sandbox_request__steal_from_global_dequeue()) == NULL) break; // Actually allocate the sandbox for the requests that we've pulled struct sandbox *sandbox = sandbox__allocate(sandbox_request->module, sandbox_request->arguments, sandbox_request->socket_descriptor, sandbox_request->socket_address,