T284: reduce number of queue slots for receive capslots to 4 and remove magic constants
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Wed, 21 Sep 2016 09:47:56 +0000 (11:47 +0200)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Wed, 21 Sep 2016 09:49:21 +0000 (11:49 +0200)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

lib/barrelfish/include/threads_priv.h
lib/barrelfish/threads.c

index 41dfe27..123a8a7 100644 (file)
@@ -16,6 +16,9 @@
 /// Maximum number of thread-local storage keys
 #define MAX_TLS         16
 
+/// Maximum number of buffered capability receive slots
+#define MAX_RECV_SLOTS   4
+
 /** \brief TLS dynamic thread vector data structure
  *
  * See: ELF handling for thread-local storage. Ulrich Drepper, Dec 2005.
@@ -82,7 +85,7 @@ struct thread {
     errval_t    async_error;                ///< RPC async error
     uint32_t    outgoing_token;             ///< Token of outgoing message
     bool    mask_channels;
-    struct capref recv_slots[16];           ///< Queued cap recv slots
+    struct capref recv_slots[MAX_RECV_SLOTS];///< Queued cap recv slots
     int8_t recv_slot_count;                 ///< number of currently queued recv slots
 };
 
index b853f12..e52c26b 100644 (file)
@@ -701,7 +701,7 @@ void thread_store_recv_slot(struct capref recv_slot)
     struct thread *me = thread_self();
     assert(me);
 
-    assert(me->recv_slot_count < 16);
+    assert(me->recv_slot_count < MAX_RECV_SLOTS);
     assert(me->recv_slot_count >= 0);
 
     me->recv_slots[me->recv_slot_count++] = recv_slot;