aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/sched_sedf.c
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-06-01 18:10:00 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-06-01 18:10:00 +0100
commitd884b107781707cfa9a0120e410d97a4f6fed895 (patch)
tree581ed59fa6daaf2e1099a6e0f6f06fc8d570f9af /xen/common/sched_sedf.c
parentcf220cf03b417cd3b2cbfdf3db199acee5ebab0a (diff)
downloadxen-d884b107781707cfa9a0120e410d97a4f6fed895.tar.gz
xen-d884b107781707cfa9a0120e410d97a4f6fed895.tar.bz2
xen-d884b107781707cfa9a0120e410d97a4f6fed895.zip
Domain creation/destruction cleanups.
1. Move alloc/dealloc routines to domain.[ch] 2. Merge alloc_task/add_vcpu schedops -> init_vcpu 3. Merge free_task/remove_vcpu schedops -> destroy_domain Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/common/sched_sedf.c')
-rw-r--r--xen/common/sched_sedf.c33
1 files changed, 9 insertions, 24 deletions
diff --git a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c
index 71e6b9ba36..9f7701d12a 100644
--- a/xen/common/sched_sedf.c
+++ b/xen/common/sched_sedf.c
@@ -328,11 +328,9 @@ static inline void __add_to_runqueue_sort(struct vcpu *v)
}
-/* Allocates memory for per domain private scheduling data*/
-static int sedf_alloc_task(struct vcpu *v)
+static int sedf_init_vcpu(struct vcpu *v)
{
- PRINT(2, "sedf_alloc_task was called, domain-id %i.%i\n",
- v->domain->domain_id, v->vcpu_id);
+ struct sedf_vcpu_info *inf;
if ( v->domain->sched_priv == NULL )
{
@@ -344,23 +342,11 @@ static int sedf_alloc_task(struct vcpu *v)
if ( (v->sched_priv = xmalloc(struct sedf_vcpu_info)) == NULL )
return -1;
-
memset(v->sched_priv, 0, sizeof(struct sedf_vcpu_info));
- return 0;
-}
-
-
-/* Setup the sedf_dom_info */
-static void sedf_add_task(struct vcpu *v)
-{
- struct sedf_vcpu_info *inf = EDOM_INFO(v);
-
+ inf = EDOM_INFO(v);
inf->vcpu = v;
- PRINT(2,"sedf_add_task was called, domain-id %i.%i\n",
- v->domain->domain_id, v->vcpu_id);
-
/* Allocate per-CPU context if this is the first domain to be added. */
if ( unlikely(schedule_data[v->processor].sched_priv == NULL) )
{
@@ -408,15 +394,14 @@ static void sedf_add_task(struct vcpu *v)
EDOM_INFO(v)->deadl_abs = 0;
EDOM_INFO(v)->status &= ~SEDF_ASLEEP;
}
+
+ return 0;
}
-/* Frees memory used by domain info */
-static void sedf_free_task(struct domain *d)
+static void sedf_destroy_domain(struct domain *d)
{
int i;
- PRINT(2,"sedf_free_task was called, domain-id %i\n",d->domain_id);
-
xfree(d->sched_priv);
for ( i = 0; i < MAX_VIRT_CPUS; i++ )
@@ -1452,9 +1437,9 @@ struct scheduler sched_sedf_def = {
.opt_name = "sedf",
.sched_id = SCHED_SEDF,
- .alloc_task = sedf_alloc_task,
- .add_task = sedf_add_task,
- .free_task = sedf_free_task,
+ .init_vcpu = sedf_init_vcpu,
+ .destroy_domain = sedf_destroy_domain,
+
.do_schedule = sedf_do_schedule,
.dump_cpu_state = sedf_dump_cpu_state,
.sleep = sedf_sleep,