Move coreprov_proc_init() to corealloc_proc_init()
authorKevin Klues <klueska@cs.berkeley.edu>
Tue, 6 Oct 2015 02:16:08 +0000 (19:16 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 24 Nov 2015 19:48:50 +0000 (14:48 -0500)
Initially we were initializing the fields of the core_reuqest_data
struct in coreprov.c, but now that we have allocator specific
definitions for this struct, it makes more sense to have them
initialized in the core allocator they are associated with. Moreover,
it was unclear when we first introduced the coreprov_proc_init()
function that the initialization of the core request data should have
been associated with this file in the first place (the fields it
contains are really more about allocation anyway, even though they work
with a list of provisioned cores).

Signed-off-by: Kevin Klues <klueska@cs.berkeley.edu>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/corerequest.h
kern/src/corealloc_fcfs.c
kern/src/coreprov.c
kern/src/schedule.c

index 9e14cab..bc059c6 100644 (file)
@@ -16,8 +16,8 @@
 /* Initialize any data assocaited with doing core allocation. */
 void corealloc_init(void);
 
-/* Initialize any data associated with provisiong cores to a process. */
-void coreprov_proc_init(struct proc *p);
+/* Initialize any data associated with allocating cores to a process. */
+void corealloc_proc_init(struct proc *p);
 
 /* Find the best core to allocate to a process as dictated by the core
  * allocation algorithm. This code assumes that the scheduler that uses it
index 092e435..e574bb4 100644 (file)
@@ -39,6 +39,13 @@ void corealloc_init(void)
 #endif /* CONFIG_DISABLE_SMT */
 }
 
+/* Initialize any data associated with allocating cores to a process. */
+void corealloc_proc_init(struct proc *p)
+{
+       TAILQ_INIT(&p->ksched_data.crd.prov_alloc_me);
+       TAILQ_INIT(&p->ksched_data.crd.prov_not_alloc_me);
+}
+
 /* Find the best core to allocate to a process as dictated by the core
  * allocation algorithm. This code assumes that the scheduler that uses it
  * holds a lock for the duration of the call. */
index 6134a1a..7f7c8db 100644 (file)
@@ -8,13 +8,6 @@
 #include <env.h>
 #include <schedule.h>
 
-/* Initialize any data associated with provisiong cores to a process. */
-void coreprov_proc_init(struct proc *p)
-{
-       TAILQ_INIT(&p->ksched_data.crd.prov_alloc_me);
-       TAILQ_INIT(&p->ksched_data.crd.prov_not_alloc_me);
-}
-
 /* Provision a core to proc p. This code assumes that the scheduler that uses
  * it holds a lock for the duration of the call. */
 void __provision_core(struct proc *p, struct sched_pcore *spc)
index 6863235..7e7181b 100644 (file)
@@ -169,7 +169,7 @@ void __sched_proc_register(struct proc *p)
        /* one ref for the proc's existence, cradle-to-grave */
        proc_incref(p, 1);      /* need at least this OR the 'one for existing' */
        spin_lock(&sched_lock);
-       coreprov_proc_init(p);
+       corealloc_proc_init(p);
        add_to_list(p, &unrunnable_scps);
        spin_unlock(&sched_lock);
 }