Removes some old asserts from parlib/2LS init
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 10 Jul 2015 20:50:14 +0000 (16:50 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jul 2015 17:31:28 +0000 (13:31 -0400)
We know the constructors are running exactly once before any other code.

user/parlib/vcore.c
user/pthread/pthread.c

index 8ab4686..2678d0d 100644 (file)
@@ -20,7 +20,6 @@ static size_t _max_vcores_ever_wanted = 1;
 atomic_t nr_new_vcores_wanted;
 atomic_t vc_req_being_handled;
 
-bool vc_initialized = FALSE;
 __thread struct syscall __vcore_one_sysc = {.flags = (atomic_t)SC_DONE, 0};
 
 /* Per vcore entery function used when reentering at the top of a vcore's stack */
@@ -127,10 +126,6 @@ void __attribute__((constructor)) vcore_lib_init(void)
        atomic_init(&vc_req_being_handled, 0);
        assert(!in_vcore_context());
        vcore_libc_init();
-       /* no longer need to enable notifs on vcore 0, it is set like that by
-        * default (so you drop into vcore context immediately on transtioning to
-        * _M) */
-       vc_initialized = TRUE;
        return;
 vcore_lib_init_fail:
        assert(0);
@@ -219,7 +214,6 @@ int vcore_request(long nr_new_vcores)
 {
        long nr_to_prep_now, nr_vcores_wanted;
 
-       assert(vc_initialized);
        /* Early sanity checks */
        if ((nr_new_vcores < 0) || (nr_new_vcores + num_vcores() > max_vcores()))
                return -1;      /* consider ERRNO */
index 32fba9a..7292f7f 100644 (file)
@@ -597,10 +597,6 @@ void __attribute__((constructor)) pthread_lib_init(void)
        sched_ops = &pthread_sched_ops;
        signal_ops = &pthread_signal_ops;
 
-       /* Some testing code might call this more than once (once for a slimmed down
-        * pth 2LS, and another from pthread_create().  Also, this is racy, but the
-        * first time through we are an SCP. */
-       assert(!in_multi_mode());
        mcs_pdr_init(&queue_lock);
        /* Create a pthread_tcb for the main thread */
        ret = posix_memalign((void**)&t, __alignof__(struct pthread_tcb),