diff mbox

[1/3] xen: Some code motion to avoid having to do forward-declaration

Message ID 1468605722-24239-1-git-send-email-george.dunlap@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

George Dunlap July 15, 2016, 6:02 p.m. UTC
For sched_credit2, move the vcpu insert / remove / free functions near the domain
insert / remove / alloc / free functions (and after cpu_pick).

For sched_rt, move rt_cpu_pick() further up.

This is pure code motion; no functional change.

Signed-off-by: George Dunlap <george.dunlap@citrix.com>
---
CC: Dario Faggioli <dario.faggioli@citrix.com>
CC: Anshul Makkar <anshul.makkar@citrix.com>
CC: Meng Xu <mengxu@cis.upenn.edu>
---
 xen/common/sched_credit2.c | 118 ++++++++++++++++++++++-----------------------
 xen/common/sched_rt.c      |  46 +++++++++---------
 2 files changed, 82 insertions(+), 82 deletions(-)

Comments

Meng Xu July 16, 2016, 3:48 p.m. UTC | #1
On Fri, Jul 15, 2016 at 2:02 PM, George Dunlap <george.dunlap@citrix.com>
wrote:

> For sched_credit2, move the vcpu insert / remove / free functions near the
> domain
> insert / remove / alloc / free functions (and after cpu_pick).
>
> For sched_rt, move rt_cpu_pick() further up.
>
> This is pure code motion; no functional change.
>
> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
>

As to sched_rt.c,

Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>​

​Thanks,

Meng​

------------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
Dario Faggioli July 18, 2016, 9:58 a.m. UTC | #2
On Fri, 2016-07-15 at 19:02 +0100, George Dunlap wrote:
> For sched_credit2, move the vcpu insert / remove / free functions
> near the domain
> insert / remove / alloc / free functions (and after cpu_pick).
> 
> For sched_rt, move rt_cpu_pick() further up.
> 
> This is pure code motion; no functional change.
> 
> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
> ---
> CC: Dario Faggioli <dario.faggioli@citrix.com>
> CC: Anshul Makkar <anshul.makkar@citrix.com>
> CC: Meng Xu <mengxu@cis.upenn.edu>
>
Acked-by: Dario Faggioli <dario.faggioli@citrix.com>

If this goes in (and it should), I'll have to rebase my Credit2 series
and resend it.

I'm fine with that, but I'll wait to see if people has comments, so
I'll take cara of both (comments and rebasing) in v3.

If there won't be comment, I'd just resend/provide a git branch with
the rebased patches.

Regards,
Dario
George Dunlap July 18, 2016, 10:06 a.m. UTC | #3
On 18/07/16 10:58, Dario Faggioli wrote:
> On Fri, 2016-07-15 at 19:02 +0100, George Dunlap wrote:
>> For sched_credit2, move the vcpu insert / remove / free functions
>> near the domain
>> insert / remove / alloc / free functions (and after cpu_pick).
>>
>> For sched_rt, move rt_cpu_pick() further up.
>>
>> This is pure code motion; no functional change.
>>
>> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
>> ---
>> CC: Dario Faggioli <dario.faggioli@citrix.com>
>> CC: Anshul Makkar <anshul.makkar@citrix.com>
>> CC: Meng Xu <mengxu@cis.upenn.edu>
>>
> Acked-by: Dario Faggioli <dario.faggioli@citrix.com>
> 
> If this goes in (and it should), I'll have to rebase my Credit2 series
> and resend it.
> 
> I'm fine with that, but I'll wait to see if people has comments, so
> I'll take cara of both (comments and rebasing) in v3.
> 
> If there won't be comment, I'd just resend/provide a git branch with
> the rebased patches.

So for one, your series was sent first, so if it's in decent shape it
should get priority.  For two, just rebasing this series should be a lot
easier than rebasing your entire series; so unless your series gets held
up for some reason, I think this should probably be rebased on top of yours.

 -George
diff mbox

Patch

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 8b95a47..3b9aa27 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -971,65 +971,6 @@  runq_deassign(const struct scheduler *ops, struct vcpu *vc)
 }
 
 static void
-csched2_vcpu_insert(const struct scheduler *ops, struct vcpu *vc)
-{
-    struct csched2_vcpu *svc = vc->sched_priv;
-    struct csched2_dom * const sdom = svc->sdom;
-    spinlock_t *lock;
-
-    printk("%s: Inserting %pv\n", __func__, vc);
-
-    BUG_ON(is_idle_vcpu(vc));
-
-    /* Add vcpu to runqueue of initial processor */
-    lock = vcpu_schedule_lock_irq(vc);
-
-    runq_assign(ops, vc);
-
-    vcpu_schedule_unlock_irq(lock, vc);
-
-    sdom->nr_vcpus++;
-
-    SCHED_STAT_CRANK(vcpu_insert);
-
-    CSCHED2_VCPU_CHECK(vc);
-}
-
-static void
-csched2_free_vdata(const struct scheduler *ops, void *priv)
-{
-    struct csched2_vcpu *svc = priv;
-
-    xfree(svc);
-}
-
-static void
-csched2_vcpu_remove(const struct scheduler *ops, struct vcpu *vc)
-{
-    struct csched2_vcpu * const svc = CSCHED2_VCPU(vc);
-    struct csched2_dom * const sdom = svc->sdom;
-
-    BUG_ON( sdom == NULL );
-    BUG_ON( !list_empty(&svc->runq_elem) );
-
-    if ( ! is_idle_vcpu(vc) )
-    {
-        spinlock_t *lock;
-
-        SCHED_STAT_CRANK(vcpu_remove);
-
-        /* Remove from runqueue */
-        lock = vcpu_schedule_lock_irq(vc);
-
-        runq_deassign(ops, vc);
-
-        vcpu_schedule_unlock_irq(lock, vc);
-
-        svc->sdom->nr_vcpus--;
-    }
-}
-
-static void
 csched2_vcpu_sleep(const struct scheduler *ops, struct vcpu *vc)
 {
     struct csched2_vcpu * const svc = CSCHED2_VCPU(vc);
@@ -1668,6 +1609,65 @@  csched2_dom_destroy(const struct scheduler *ops, struct domain *dom)
     csched2_free_domdata(ops, CSCHED2_DOM(dom));
 }
 
+static void
+csched2_vcpu_insert(const struct scheduler *ops, struct vcpu *vc)
+{
+    struct csched2_vcpu *svc = vc->sched_priv;
+    struct csched2_dom * const sdom = svc->sdom;
+    spinlock_t *lock;
+
+    printk("%s: Inserting %pv\n", __func__, vc);
+
+    BUG_ON(is_idle_vcpu(vc));
+
+    /* Add vcpu to runqueue of initial processor */
+    lock = vcpu_schedule_lock_irq(vc);
+
+    runq_assign(ops, vc);
+
+    vcpu_schedule_unlock_irq(lock, vc);
+
+    sdom->nr_vcpus++;
+
+    SCHED_STAT_CRANK(vcpu_insert);
+
+    CSCHED2_VCPU_CHECK(vc);
+}
+
+static void
+csched2_free_vdata(const struct scheduler *ops, void *priv)
+{
+    struct csched2_vcpu *svc = priv;
+
+    xfree(svc);
+}
+
+static void
+csched2_vcpu_remove(const struct scheduler *ops, struct vcpu *vc)
+{
+    struct csched2_vcpu * const svc = CSCHED2_VCPU(vc);
+    struct csched2_dom * const sdom = svc->sdom;
+
+    BUG_ON( sdom == NULL );
+    BUG_ON( !list_empty(&svc->runq_elem) );
+
+    if ( ! is_idle_vcpu(vc) )
+    {
+        spinlock_t *lock;
+
+        SCHED_STAT_CRANK(vcpu_remove);
+
+        /* Remove from runqueue */
+        lock = vcpu_schedule_lock_irq(vc);
+
+        runq_deassign(ops, vc);
+
+        vcpu_schedule_unlock_irq(lock, vc);
+
+        svc->sdom->nr_vcpus--;
+    }
+}
+
 /* How long should we let this vcpu run for? */
 static s_time_t
 csched2_runtime(const struct scheduler *ops, int cpu, struct csched2_vcpu *snext)
diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
index 98524a6..bd3a2a0 100644
--- a/xen/common/sched_rt.c
+++ b/xen/common/sched_rt.c
@@ -582,6 +582,29 @@  replq_reinsert(const struct scheduler *ops, struct rt_vcpu *svc)
 }
 
 /*
+ * Pick a valid CPU for the vcpu vc
+ * Valid CPU of a vcpu is intesection of vcpu's affinity
+ * and available cpus
+ */
+static int
+rt_cpu_pick(const struct scheduler *ops, struct vcpu *vc)
+{
+    cpumask_t cpus;
+    cpumask_t *online;
+    int cpu;
+
+    online = cpupool_domain_cpumask(vc->domain);
+    cpumask_and(&cpus, online, vc->cpu_hard_affinity);
+
+    cpu = cpumask_test_cpu(vc->processor, &cpus)
+            ? vc->processor
+            : cpumask_cycle(vc->processor, &cpus);
+    ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );
+
+    return cpu;
+}
+
+/*
  * Init/Free related code
  */
 static int
@@ -894,29 +917,6 @@  rt_vcpu_remove(const struct scheduler *ops, struct vcpu *vc)
 }
 
 /*
- * Pick a valid CPU for the vcpu vc
- * Valid CPU of a vcpu is intesection of vcpu's affinity
- * and available cpus
- */
-static int
-rt_cpu_pick(const struct scheduler *ops, struct vcpu *vc)
-{
-    cpumask_t cpus;
-    cpumask_t *online;
-    int cpu;
-
-    online = cpupool_domain_cpumask(vc->domain);
-    cpumask_and(&cpus, online, vc->cpu_hard_affinity);
-
-    cpu = cpumask_test_cpu(vc->processor, &cpus)
-            ? vc->processor
-            : cpumask_cycle(vc->processor, &cpus);
-    ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );
-
-    return cpu;
-}
-
-/*
  * Burn budget in nanosecond granularity
  */
 static void