Remove MAX_VCORES
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 7 Mar 2016 19:23:11 +0000 (14:23 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 7 Mar 2016 19:38:17 +0000 (14:38 -0500)
This was limiting us to 64 vcores.  Instead of cranking the number up, I
opted to just remove the #define completely.  We should be able to figure
these things out dynamically.

Right now MAX_NUM_CORES is 256 for x86.  That was due to the old xAPIC.
One of these days we'll actually want to run on a large-scale SMP machine
and will want to increase that.  And then we'll also start worrying about
the size of things that grow O(MAX_NUM_CORES) for every process, e.g.
procdata.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/parlib/include/parlib/vcore.h

index a965591..02bbab5 100644 (file)
@@ -21,9 +21,6 @@ extern void exit (int __status) __THROW __attribute__ ((__noreturn__));
 #define exit(status) _exit(status)
 /*****************************************************************************/
 
-#define LOG2_MAX_VCORES 6
-#define MAX_VCORES (1 << LOG2_MAX_VCORES)
-
 #define TRANSITION_STACK_PAGES 2
 #define TRANSITION_STACK_SIZE (TRANSITION_STACK_PAGES*PGSIZE)
 
@@ -78,7 +75,7 @@ void print_user_context(struct user_context *ctx);
 /* Static inlines */
 static inline uint32_t max_vcores(void)
 {
-       return MAX(1, MIN(__procinfo.max_vcores, MAX_VCORES));
+       return MAX(1, __procinfo.max_vcores);
 }
 
 static inline uint32_t num_vcores(void)