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

Reply via email to