perf: Fix buggy bitops
[akaros.git] / kern / include / env.h
index 4630787..255a5b9 100644 (file)
 TAILQ_HEAD(vcore_tailq, vcore);
 /* 'struct proc_list' declared in sched.h (not ideal...) */
 
+struct username {
+       char name[128];
+       spinlock_t name_lock;
+};
+void __set_username(struct username *u, char *name);
+void set_username(struct username *u, char *name);
+
 #define PROC_PROGNAME_SZ 20
 // TODO: clean this up.
 struct proc {
@@ -33,7 +40,7 @@ struct proc {
        TAILQ_ENTRY(proc) sibling_link;
        spinlock_t proc_lock;
        struct user_context scp_ctx;    /* context for an SCP.  TODO: move to vc0 */
-       char user[64]; /* user name */
+       struct username user;
 
        /* This is effectively a (potentially short) version of argv[0].
         */
@@ -64,15 +71,6 @@ struct proc {
        /* Scheduler mgmt (info, data, whatever) */
        struct sched_proc_data ksched_data;
 
-       /* Cache color map: bitmap of the cache colors currently allocated to this
-        * process */
-       uint8_t* cache_colors_map;
-       size_t next_cache_color;
-
-       /* Keeps track of this process's current memory allocation 
-     * (i.e. its heap pointer) */
-       void *heap_top;
-
        /* The args_base pointer is a user pointer which points to the base of
         * the executable boot block (where args, environment, aux vectors, ...)
         * are stored.
@@ -90,11 +88,11 @@ struct proc {
        // Per process info and data pages
        procinfo_t *procinfo;       // KVA of per-process shared info table (RO)
        procdata_t *procdata;       // KVA of per-process shared data table (RW)
-       
+
        // The backring pointers for processing asynchronous system calls from the user
        // Note this is the actual backring, not a pointer to it somewhere else
        syscall_back_ring_t syscallbackring;
-       
+
        // The front ring pointers for pushing asynchronous system events out to the user
        // Note this is the actual frontring, not a pointer to it somewhere else
        sysevent_front_ring_t syseventfrontring;
@@ -120,8 +118,6 @@ struct proc {
        struct vmm vmm;
 
        struct strace                           *strace;
-       bool                                            strace_on;
-       bool                                            strace_inherit;
 };
 
 /* Til we remove all Env references */