On 6 December 2012 11:27, Liviu Dudau <liviu.du...@arm.com> wrote: > On Thu, Dec 06, 2012 at 09:32:11AM +0000, Viresh Kumar wrote: >> Hi Vincent, >> >> On 6 December 2012 14:50, Vincent Guittot <vincent.guit...@linaro.org> wrote: >> > It's look like you have disabled packing small task in your v13 with >> > 4a29297 >> >> It looks like you are referring to an older version of this branch as >> the commit id's >> don't match. Can you please check that again? >> >> > In addition, I don't fully understand why you absolutely want to >> > revert 39b0e77. In the worst case, it will not fully solve what it >> > should have solved but it doesn't add any regression. >> >> I don't want to, but Liviu and Morten do :) >> @Liviu/Morten: Your comments > > Hi Vincent, > > I was just a messenger here, but this is my understanding of where things are: > > - Morten has reviewed your patch and had provided comments, mainly pointing > towards the fact that the guarantees that the code is trying to provide are > not met. > - You have replied/promised to review and update the patch (is that correct?) > - Nothing has happened since in this area (is that true?)
both are true > > To us, looking at the code (mainly the while loop in the is_buddy_busy() > function), is seem that you are trying to guarantee that the runnable_avg_sum > and the runnable_avg_period that you read from the runqueue have not been > updated before deciding if that cpu is busy. But there is no reason* why > another thread could not update the runnable_avg_sum and then get preempted > before updating the runnable_avg_period, which means you will still use the > wrong values when doing the "greater than" check in the return statement. > No, I don't want to ensure that values have not been updated before I use them but that both values are coherent > The other point is that even if your code is "broken" (i.e. you read stale > values that still get you out of the while loop) the code works but > your estimate of a CPU being busy is off by .... 10% ? In other words, > having that while loop in is_buddy_busy() does not change the behaviour of > the rest of the code. So the objection is on having the while loop and > trying to claim guarantees that are not met. Why not removing the loop? So if it doesn't change the behavior why removing it ? It make the maintenance of patches series more complex. > > Hope I'm making sense. > > * my understanding of the scheduler code is rather incomplete, so I'm > expecting to be proven wrong here. > > > Best regards, > Liviu > > >> >> > According to my test, sched-pack-small-tasks-v1-arm is enough if you >> > want to use packing small task on tc2 >> >> I didn't get this one. This is what i have included in my tree. >> >> -- >> viresh >> > > -- > ==================== > | I would like to | > | fix the world, | > | but they're not | > | giving me the | > \ source code! / > --------------- > ¯\_(ツ)_/¯ > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev