On Tue, Mar 21, 2017 at 03:29:57PM +0900, Byungchul Park wrote:
> On Tue, Mar 21, 2017 at 10:38:20AM +0900, Byungchul Park wrote:
> > When cpudl_find() returns any among free_cpus, the cpu might not be
> > closer than others, considering sched domain. For example:
> > 
> >    this_cpu: 15
> >    free_cpus: 0, 1,..., 14 (== later_mask)
> >    best_cpu: 0
> > 
> >    topology:
> > 
> >    0 --+
> >        +--+
> >    1 --+  |
> >           +-- ... --+
> >    2 --+  |         |
> >        +--+         |
> >    3 --+            |
> > 
> >    ...             ...
> > 
> >    12 --+           |
> >         +--+        |
> >    13 --+  |        |
> >            +-- ... -+
> >    14 --+  |
> >         +--+
> >    15 --+
> > 
> > In this case, it would be best to select 14 since it's a free cpu and
> > closest to 15(this_cpu). However, currently the code select 0(best_cpu)
> > even though that's just any among free_cpus. Fix it.
> 
> Hello,
> 
> I think it would be better to split this into two patches:
> 
> 1. Clean up cpudl_find() at cpudeadline.c.
> 2. Make it choose a closer cpu in topology.
> 
> I will do it if you agree with my original purpose.

Hello,

I tried to take care of the case of later_mask = NULL, which was missed
in the 1st spin, but it seems to be not that meaningful. I will give up
clean-up patch.

I am sorry for making you confused.

Reply via email to