[Xen-devel] [PATCH v4 2/5] sched: credit2: respect per-vcpu hard affinity

2015-07-13 Thread Justin T. Weaver
by making sure that vcpus only run on the pcpu(s) they are allowed to run on based on their hard affinity cpu masks. Signed-off-by: Justin T. Weaver --- Changes in v4: * Renamed scratch_mask to _scratch_mask * Renamed csched2_cpumask to scratch_mask * Removed "else continue" i

[Xen-devel] [PATCH v4 0/5] sched: credit2: introduce per-vcpu hard and soft affinity

2015-07-13 Thread Justin T. Weaver
Hello, The credit2 vcpu scheduler currently ignores per-vcpu hard and soft affinity masks. In the v3 review I was asked by George Dunlap to split up the soft affinity patch into multiple patches by function and only resend the changes to two of them, get_fallback_cpu and runq_tickle, so this seri

[Xen-devel] [PATCH v4 3/5] sched: factor out per-vcpu affinity related code to common header file

2015-07-13 Thread Justin T. Weaver
Move affinity balancing related functions and defines from sched_credit.c to sched-if.h so other schedulers can use them. Change name prefixes from csched to sched since they are no longer specific to the credit scheduler. No functional changes intended. Signed-off-by: Justin T. Weaver Reviewed

[Xen-devel] [PATCH v4 5/5] sched: credit2: add soft affinity awareness to function runq_tickle

2015-07-13 Thread Justin T. Weaver
s soft affinity. If the vcpu on the found cpu has less credit than the given vcpu, then that cpu is chosen. Finally, if no cpu was picked yet, the second step looks for the non-idle, non-tickled cpu with the lowest credit in the vcpu's hard affinity. Signed-off-by: Justin T. Weaver --- Chang

[Xen-devel] [PATCH v4 1/5] sched: factor out VCPU2ONLINE to common header file

2015-07-13 Thread Justin T. Weaver
Move macro VCPU2ONLINE from schedule.c to sched.h so it can be used by other source files. Signed-off-by: Justin T. Weaver --- xen/common/schedule.c |1 - xen/include/xen/sched.h |2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/schedule.c b/xen/common

[Xen-devel] [PATCH v4 4/5] sched: credit2: add soft affinity awareness to function get_fallback_cpu

2015-07-13 Thread Justin T. Weaver
x27;s cpupool, and in the vcpu's soft affinity hard affinity step... 4) another pcpu from the vcpu's current runq in the vcpu's hard affinity 3) an online pcpu in the vcpu's domain's cpupool, and in the vcpu's hard affinity Signed-off-by: Justin T. Weaver --- C

[Xen-devel] [PATCH v3 3/4] sched: credit2: indent code sections to make review of patch 4/4 easier

2015-03-26 Thread Justin T. Weaver
-by: Justin T. Weaver --- Changes in v3: First introduced in patch series version 3 --- xen/common/sched_credit2.c | 152 ++-- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c index

[Xen-devel] [PATCH v3 0/4] sched: credit2: introduce per-vcpu hard and soft affinity

2015-03-26 Thread Justin T. Weaver
Hello, The credit2 vcpu scheduler currently ignores per-vcpu hard and soft affinity masks. The first patch updates the scheduler to ensure that vcpus only run on pcpus on which they are allowed to run (hard affinity). I tested it using xl vcpu-pin and xl vcpu-list. I changed the affinity in diffe

[Xen-devel] [PATCH v3 1/4] sched: credit2: respect per-vcpu hard affinity

2015-03-26 Thread Justin T. Weaver
by making sure that vcpus only run on the pcpu(s) they are allowed to run on based on their hard affinity cpu masks. Signed-off-by: Justin T. Weaver --- Changes in v3: (all v3 changes are based on v2 review comments) * Renamed cpumask to scratch_mask * Renamed function get_safe_pcpu to

[Xen-devel] [PATCH v3 4/4] sched: credit2: consider per-vcpu soft affinity

2015-03-26 Thread Justin T. Weaver
Signed-off-by: Justin T. Weaver --- Changes in v3: * get_fallback_cpu: added balance loop to try to find a soft affinity cpu * runq_tickle: replaced use of local var mask with csched2_cpumask * runq_tickle: added two balance loops, one for finding idle, but not tickled, and other for findin

[Xen-devel] [PATCH v3 2/4] sched: factor out per-vcpu affinity related code to common header file

2015-03-26 Thread Justin T. Weaver
Move affinity balancing related functions and defines from sched_credit.c to sched-if.h so other schedulers can use them. Change name prefixes from csched to sched since they are no longer specific to the credit scheduler. Signed-off-by: Justin T. Weaver --- Changes in v3: First introduced in

[Xen-devel] [PATCH v2] sched: credit2: respect per-vcpu hard affinity

2015-02-08 Thread Justin T. Weaver
From: "Justin T. Weaver" by making sure that vcpus only run on the pcpu(s) they are allowed to run on based on their hard affinity cpu masks. Signed-off-by: Justin T. Weaver --- Changes in v2: * Added dynamically allocated cpu masks to avoid putting them on the stack; replaced

[Xen-devel] [PATCH 1/2] sched: credit2: respect per-vcpu hard affinity

2014-11-29 Thread Justin T. Weaver
by making sure that vcpus only run on the pcpu(s) they are allowed to run on based on their hard affinity cpu masks. Signed-off-by: Justin T. Weaver --- xen/common/sched_credit2.c | 199 +--- 1 file changed, 171 insertions(+), 28 deletions(-) diff --git

[Xen-devel] [PATCH 0/2] Credit2: introduce per-vcpu hard and soft affinity

2014-11-29 Thread Justin T. Weaver
Hello, The credit2 scheduler currently ignores per-vcpu hard and soft affinity masks. The first patch updates the scheduler to ensure that vcpus only run on pcpus on which they are allowed to run (hard affinity). The second patch updates the scheduler to make more informed run queue assignment d

[Xen-devel] [PATCH 2/2] sched: credit2: consider per-vcpu soft affinity

2014-11-29 Thread Justin T. Weaver
that order. Second, in function balance_load, if moving a vcpu with soft affinity from one run queue to another means moving it away from its soft affinity to hard affinity only, then that move is not considered for load balancing. Signed-off-by: Justin T. Weaver --- xen/common/sched_credit2.c