On Fri, Oct 12, 2012 at 04:33:19PM +0100, Jon Medhurst (Tixy) wrote: > On Fri, 2012-10-12 at 16:11 +0100, Morten Rasmussen wrote: > > Hi Tixy, > > > > Thanks for the patch. I think this patch is the right way to solve this > > issue. > > > > There is still a problem with the priority filter in > > hmp_down_migration() which Viresh pointed out earlier. There is no > > checking of whether the task is actually allowed to run on any of the > > slower cpus. Solving that would actually also fix the issue that you are > > observing as a side effect. I have attached a patch. > > The patch looks reasonable. I've just run it on TC2 and A9 with the > addition of a "pr_err("$");" before the "return 1;" and can see the > occosional '$' on TC2 and none on A9, as we would expect. So I guess > that counts as: > > Reviewed-by: Jon Medhurst <t...@linaro.org> > Tested-by: Jon Medhurst <t...@linaro.org> >
Thanks for reviewing and testing. My comments to your patch in the previous reply would count as: Reviewed-by: Morten Rasmussen <morten.rasmus...@arm.com> I have only tested it on TC2. Morten > -- > Tixy > > > > I think we should apply both. > > > > Thanks, > > Morten > > > > On Fri, Oct 12, 2012 at 02:33:40PM +0100, Jon Medhurst (Tixy) wrote: > > > On Fri, 2012-10-12 at 14:19 +0100, Jon Medhurst (Tixy) wrote: > > > > The attached patch fixes the immediate problem by avoiding the empty > > > > domain (which is probably a good thing anyway) > > > > > > Oops, my last patch included some extra junk, the one attached to this > > > mail fixes this... > > > > > From 7365076675b851355d48e9b1157e223d7719e3ac Mon Sep 17 00:00:00 2001 > > > From: Jon Medhurst <t...@linaro.org> > > > Date: Fri, 12 Oct 2012 13:45:35 +0100 > > > Subject: [PATCH] ARM: sched: Avoid empty 'slow' HMP domain > > > > > > On homogeneous (non-heterogeneous) systems all CPUs will be declared > > > 'fast' and the slow cpu list will be empty. In this situation we need to > > > avoid adding an empty slow HMP domain otherwise the scheduler code will > > > blow up when it attempts to move a task to the slow domain. > > > > > > Signed-off-by: Jon Medhurst <t...@linaro.org> > > > --- > > > arch/arm/kernel/topology.c | 10 ++++++---- > > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > > > diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c > > > index 58dac7a..0b51233 100644 > > > --- a/arch/arm/kernel/topology.c > > > +++ b/arch/arm/kernel/topology.c > > > @@ -396,10 +396,12 @@ void __init arch_get_hmp_domains(struct list_head > > > *hmp_domains_list) > > > * Must be ordered with respect to compute capacity. > > > * Fastest domain at head of list. > > > */ > > > - domain = (struct hmp_domain *) > > > - kmalloc(sizeof(struct hmp_domain), GFP_KERNEL); > > > - cpumask_copy(&domain->cpus, &hmp_slow_cpu_mask); > > > - list_add(&domain->hmp_domains, hmp_domains_list); > > > + if(!cpumask_empty(&hmp_slow_cpu_mask)) { > > > + domain = (struct hmp_domain *) > > > + kmalloc(sizeof(struct hmp_domain), GFP_KERNEL); > > > + cpumask_copy(&domain->cpus, &hmp_slow_cpu_mask); > > > + list_add(&domain->hmp_domains, hmp_domains_list); > > > + } > > > domain = (struct hmp_domain *) > > > kmalloc(sizeof(struct hmp_domain), GFP_KERNEL); > > > cpumask_copy(&domain->cpus, &hmp_fast_cpu_mask); > > > -- > > > 1.7.10.4 > > > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev