Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel/startup.cfa

    rdd46fd3 r639e4fc  
    3939#include "limits.hfa"
    4040#include "math.hfa"
    41 #include "bits/random.hfa"                                                              // prng
    4241
    4342#define CFA_PROCESSOR_USE_MMAP 0
     
    108107extern void __wake_proc(processor *);
    109108extern int cfa_main_returned;                                                   // from interpose.cfa
    110 size_t __global_random_prime = 4_294_967_291u;
    111 bool __global_random_mask = false;
     109uint32_t __global_random_prime = 4_294_967_291u, __global_random_mask = false;
    112110
    113111//-----------------------------------------------------------------------------
     
    135133// Global state
    136134__thread struct KernelThreadData __cfaabi_tls __attribute__ ((tls_model ( "initial-exec" ))) @= {
    137         .this_thread : NULL,                                                            // cannot use 0p
    138         .this_processor : NULL,
    139         .sched_lock : false,
    140         .preemption_state : { .disable_count : 1, .enabled : false, .in_progress : false },
    141         // random_state uninitialized
    142         .ready_rng : { .fwd_seed : 0, .bck_seed : 0 },
    143         .this_stats : NULL,
     135        NULL,                                                                                           // cannot use 0p
     136        NULL,
     137        false,
     138        { 1, false, false },
     139        0,
     140        { 0, 0 },
     141        NULL,
    144142        #ifdef __CFA_WITH_VERIFY__
    145                 .in_sched_lock : false,
    146                 .sched_id : 0,
     143                false,
     144                0,
    147145        #endif
    148146};
     
    515513        rdy_link.next = 0p;
    516514        rdy_link.ts   = MAX;
    517         user_link.next = 0p;
    518         user_link.prev = 0p;
    519         cltr_link.next = 0p;
    520         cltr_link.prev = 0p;
    521515        preferred = ready_queue_new_preferred();
    522516        last_proc = 0p;
    523         PRNG_SET_SEED( random_state,  __global_random_mask ? __global_random_prime : __global_random_prime ^ rdtscl() );
     517        random_state = __global_random_mask ? __global_random_prime : __global_random_prime ^ rdtscl();
    524518        #if defined( __CFA_WITH_VERIFY__ )
    525519                executing = 0p;
Note: See TracChangeset for help on using the changeset viewer.