On 8/16/12, Peter Zijlstra <pet...@infradead.org> wrote: > On Thu, 2012-08-16 at 20:28 +0600, Rakib Mullick wrote: > >> nr_uninterruptible is coupled with tasks on the runqueue to calculate >> nr_active numbers. > > It is not.. nr_uninterruptible is incremented on the cpu the task goes > to sleep and decremented on the cpu doing the wakeup. > If nr_uninterruptible's life cycle is this simple then, while CPU goes down, nr_uninterruptible count will be decremented when all the tasks are moved to other CPUs and should be fine.
> This means that nr_uninterruptible is a complete mess and any per-cpu > value isn't meaningful at all. > Well, if nr_uninterruptible is a mess, then this patch has no meaning. And also I think migrate_nr_uninterruptible() is meaning less too. > It is quite possible to always have the inc on cpu0 and the decrement on > cpu1, yielding results like: > > {1000, -1000} for an effective nr_uninterruptible = 0. Taking either cpu > down will then migrate whatever delta it has to another cpu, but there > might only be a single task, yet the delta is +-1000. > >> In calc_load_fold_active(), this nr_active numbers are used to >> calculate delta. This is how I understand this part and seeing some >> impact. > > You understand wrong, please re-read the comment added in commit > 5167e8d5. > Yes, reading. Thanks, Rakib. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/