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 <[email protected]>
> Tested-by: Jon Medhurst <[email protected]>
>
Thanks for reviewing and testing.
My comments to your patch in the previous reply would count as:
Reviewed-by: Morten Rasmussen <[email protected]>
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 <[email protected]>
> > > 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 <[email protected]>
> > > ---
> > > 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
[email protected]
http://lists.linaro.org/mailman/listinfo/linaro-dev