linux/kernel/sched/fair.c
<<
>>
Prefs
   1/*
   2 * Completely Fair Scheduling (CFS) Class (SCHED_NORMAL/SCHED_BATCH)
   3 *
   4 *  Copyright (C) 2007 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
   5 *
   6 *  Interactivity improvements by Mike Galbraith
   7 *  (C) 2007 Mike Galbraith <efault@gmx.de>
   8 *
   9 *  Various enhancements by Dmitry Adamushko.
  10 *  (C) 2007 Dmitry Adamushko <dmitry.adamushko@gmail.com>
  11 *
  12 *  Group scheduling enhancements by Srivatsa Vaddagiri
  13 *  Copyright IBM Corporation, 2007
  14 *  Author: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>
  15 *
  16 *  Scaled math optimizations by Thomas Gleixner
  17 *  Copyright (C) 2007, Thomas Gleixner <tglx@linutronix.de>
  18 *
  19 *  Adaptive scheduling granularity, math enhancements by Peter Zijlstra
  20 *  Copyright (C) 2007 Red Hat, Inc., Peter Zijlstra <pzijlstr@redhat.com>
  21 */
  22
  23#include <linux/latencytop.h>
  24#include <linux/sched.h>
  25#include <linux/cpumask.h>
  26#include <linux/slab.h>
  27#include <linux/profile.h>
  28#include <linux/interrupt.h>
  29
  30#include <trace/events/sched.h>
  31
  32#include "sched.h"
  33
  34/*
  35 * Targeted preemption latency for CPU-bound tasks:
  36 * (default: 6ms * (1 + ilog(ncpus)), units: nanoseconds)
  37 *
  38 * NOTE: this latency value is not the same as the concept of
  39 * 'timeslice length' - timeslices in CFS are of variable length
  40 * and have no persistent notion like in traditional, time-slice
  41 * based scheduling concepts.
  42 *
  43 * (to see the precise effective timeslice length of your workload,
  44 *  run vmstat and monitor the context-switches (cs) field)
  45 */
  46unsigned int sysctl_sched_latency = 6000000ULL;
  47unsigned int normalized_sysctl_sched_latency = 6000000ULL;
  48
  49/*
  50 * The initial- and re-scaling of tunables is configurable
  51 * (default SCHED_TUNABLESCALING_LOG = *(1+ilog(ncpus))
  52 *
  53 * Options are:
  54 * SCHED_TUNABLESCALING_NONE - unscaled, always *1
  55 * SCHED_TUNABLESCALING_LOG - scaled logarithmical, *1+ilog(ncpus)
  56 * SCHED_TUNABLESCALING_LINEAR - scaled linear, *ncpus
  57 */
  58enum sched_tunable_scaling sysctl_sched_tunable_scaling
  59        = SCHED_TUNABLESCALING_LOG;
  60
  61/*
  62 * Minimal preemption granularity for CPU-bound tasks:
  63 * (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds)
  64 */
  65unsigned int sysctl_sched_min_granularity = 750000ULL;
  66unsigned int normalized_sysctl_sched_min_granularity = 750000ULL;
  67
  68/*
  69 * is kept at sysctl_sched_latency / sysctl_sched_min_granularity
  70 */
  71static unsigned int sched_nr_latency = 8;
  72
  73/*
  74 * After fork, child runs first. If set to 0 (default) then
  75 * parent will (try to) run first.
  76 */
  77unsigned int sysctl_sched_child_runs_first __read_mostly;
  78
  79/*
  80 * SCHED_OTHER wake-up granularity.
  81 * (default: 1 msec * (1 + ilog(ncpus)), units: nanoseconds)
  82 *
  83 * This option delays the preemption effects of decoupled workloads
  84 * and reduces their over-scheduling. Synchronous workloads will still
  85 * have immediate wakeup/sleep latencies.
  86 */
  87unsigned int sysctl_sched_wakeup_granularity = 1000000UL;
  88unsigned int normalized_sysctl_sched_wakeup_granularity = 1000000UL;
  89
  90const_debug unsigned int sysctl_sched_migration_cost = 500000UL;
  91
  92/*
  93 * The exponential sliding  window over which load is averaged for shares
  94 * distribution.
  95 * (default: 10msec)
  96 */
  97unsigned int __read_mostly sysctl_sched_shares_window = 10000000UL;
  98
  99#ifdef CONFIG_CFS_BANDWIDTH
 100/*
 101 * Amount of runtime to allocate from global (tg) to local (per-cfs_rq) pool
 102 * each time a cfs_rq requests quota.
 103 *
 104 * Note: in the case that the slice exceeds the runtime remaining (either due
 105 * to consumption or the quota being specified to be smaller than the slice)
 106 * we will always only issue the remaining available time.
 107 *
 108 * default: 5 msec, units: microseconds
 109  */
 110unsigned int sysctl_sched_cfs_bandwidth_slice = 5000UL;
 111#endif
 112
 113/*
 114 * Increase the granularity value when there are more CPUs,
 115 * because with more CPUs the 'effective latency' as visible
 116 * to users decreases. But the relationship is not linear,
 117 * so pick a second-best guess by going with the log2 of the
 118 * number of CPUs.
 119 *
 120 * This idea comes from the SD scheduler of Con Kolivas:
 121 */
 122static int get_update_sysctl_factor(void)
 123{
 124        unsigned int cpus = min_t(int, num_online_cpus(), 8);
 125        unsigned int factor;
 126
 127        switch (sysctl_sched_tunable_scaling) {
 128        case SCHED_TUNABLESCALING_NONE:
 129                factor = 1;
 130                break;
 131        case SCHED_TUNABLESCALING_LINEAR:
 132                factor = cpus;
 133                break;
 134        case SCHED_TUNABLESCALING_LOG:
 135        default:
 136                factor = 1 + ilog2(cpus);
 137                break;
 138        }
 139
 140        return factor;
 141}
 142
 143static void update_sysctl(void)
 144{
 145        unsigned int factor = get_update_sysctl_factor();
 146
 147#define SET_SYSCTL(name) \
 148        (sysctl_##name = (factor) * normalized_sysctl_##name)
 149        SET_SYSCTL(sched_min_granularity);
 150        SET_SYSCTL(sched_latency);
 151        SET_SYSCTL(sched_wakeup_granularity);
 152#undef SET_SYSCTL
 153}
 154
 155void sched_init_granularity(void)
 156{
 157        update_sysctl();
 158}
 159
 160#if BITS_PER_LONG == 32
 161# define WMULT_CONST    (~0UL)
 162#else
 163# define WMULT_CONST    (1UL << 32)
 164#endif
 165
 166#define WMULT_SHIFT     32
 167
 168/*
 169 * Shift right and round:
 170 */
 171#define SRR(x, y) (((x) + (1UL << ((y) - 1))) >> (y))
 172
 173/*
 174 * delta *= weight / lw
 175 */
 176static unsigned long
 177calc_delta_mine(unsigned long delta_exec, unsigned long weight,
 178                struct load_weight *lw)
 179{
 180        u64 tmp;
 181
 182        /*
 183         * weight can be less than 2^SCHED_LOAD_RESOLUTION for task group sched
 184         * entities since MIN_SHARES = 2. Treat weight as 1 if less than
 185         * 2^SCHED_LOAD_RESOLUTION.
 186         */
 187        if (likely(weight > (1UL << SCHED_LOAD_RESOLUTION)))
 188                tmp = (u64)delta_exec * scale_load_down(weight);
 189        else
 190                tmp = (u64)delta_exec;
 191
 192        if (!lw->inv_weight) {
 193                unsigned long w = scale_load_down(lw->weight);
 194
 195                if (BITS_PER_LONG > 32 && unlikely(w >= WMULT_CONST))
 196                        lw->inv_weight = 1;
 197                else if (unlikely(!w))
 198                        lw->inv_weight = WMULT_CONST;
 199                else
 200                        lw->inv_weight = WMULT_CONST / w;
 201        }
 202
 203        /*
 204         * Check whether we'd overflow the 64-bit multiplication:
 205         */
 206        if (unlikely(tmp > WMULT_CONST))
 207                tmp = SRR(SRR(tmp, WMULT_SHIFT/2) * lw->inv_weight,
 208                        WMULT_SHIFT/2);
 209        else
 210                tmp = SRR(tmp * lw->inv_weight, WMULT_SHIFT);
 211
 212        return (unsigned long)min(tmp, (u64)(unsigned long)LONG_MAX);
 213}
 214
 215
 216const struct sched_class fair_sched_class;
 217
 218/**************************************************************
 219 * CFS operations on generic schedulable entities:
 220 */
 221
 222#ifdef CONFIG_FAIR_GROUP_SCHED
 223
 224/* cpu runqueue to which this cfs_rq is attached */
 225static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
 226{
 227        return cfs_rq->rq;
 228}
 229
 230/* An entity is a task if it doesn't "own" a runqueue */
 231#define entity_is_task(se)      (!se->my_q)
 232
 233static inline struct task_struct *task_of(struct sched_entity *se)
 234{
 235#ifdef CONFIG_SCHED_DEBUG
 236        WARN_ON_ONCE(!entity_is_task(se));
 237#endif
 238        return container_of(se, struct task_struct, se);
 239}
 240
 241/* Walk up scheduling entities hierarchy */
 242#define for_each_sched_entity(se) \
 243                for (; se; se = se->parent)
 244
 245static inline struct cfs_rq *task_cfs_rq(struct task_struct *p)
 246{
 247        return p->se.cfs_rq;
 248}
 249
 250/* runqueue on which this entity is (to be) queued */
 251static inline struct cfs_rq *cfs_rq_of(struct sched_entity *se)
 252{
 253        return se->cfs_rq;
 254}
 255
 256/* runqueue "owned" by this group */
 257static inline struct cfs_rq *group_cfs_rq(struct sched_entity *grp)
 258{
 259        return grp->my_q;
 260}
 261
 262static inline void list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 263{
 264        if (!cfs_rq->on_list) {
 265                /*
 266                 * Ensure we either appear before our parent (if already
 267                 * enqueued) or force our parent to appear after us when it is
 268                 * enqueued.  The fact that we always enqueue bottom-up
 269                 * reduces this to two cases.
 270                 */
 271                if (cfs_rq->tg->parent &&
 272                    cfs_rq->tg->parent->cfs_rq[cpu_of(rq_of(cfs_rq))]->on_list) {
 273                        list_add_rcu(&cfs_rq->leaf_cfs_rq_list,
 274                                &rq_of(cfs_rq)->leaf_cfs_rq_list);
 275                } else {
 276                        list_add_tail_rcu(&cfs_rq->leaf_cfs_rq_list,
 277                                &rq_of(cfs_rq)->leaf_cfs_rq_list);
 278                }
 279
 280                cfs_rq->on_list = 1;
 281        }
 282}
 283
 284static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 285{
 286        if (cfs_rq->on_list) {
 287                list_del_rcu(&cfs_rq->leaf_cfs_rq_list);
 288                cfs_rq->on_list = 0;
 289        }
 290}
 291
 292/* Iterate thr' all leaf cfs_rq's on a runqueue */
 293#define for_each_leaf_cfs_rq(rq, cfs_rq) \
 294        list_for_each_entry_rcu(cfs_rq, &rq->leaf_cfs_rq_list, leaf_cfs_rq_list)
 295
 296/* Do the two (enqueued) entities belong to the same group ? */
 297static inline int
 298is_same_group(struct sched_entity *se, struct sched_entity *pse)
 299{
 300        if (se->cfs_rq == pse->cfs_rq)
 301                return 1;
 302
 303        return 0;
 304}
 305
 306static inline struct sched_entity *parent_entity(struct sched_entity *se)
 307{
 308        return se->parent;
 309}
 310
 311/* return depth at which a sched entity is present in the hierarchy */
 312static inline int depth_se(struct sched_entity *se)
 313{
 314        int depth = 0;
 315
 316        for_each_sched_entity(se)
 317                depth++;
 318
 319        return depth;
 320}
 321
 322static void
 323find_matching_se(struct sched_entity **se, struct sched_entity **pse)
 324{
 325        int se_depth, pse_depth;
 326
 327        /*
 328         * preemption test can be made between sibling entities who are in the
 329         * same cfs_rq i.e who have a common parent. Walk up the hierarchy of
 330         * both tasks until we find their ancestors who are siblings of common
 331         * parent.
 332         */
 333
 334        /* First walk up until both entities are at same depth */
 335        se_depth = depth_se(*se);
 336        pse_depth = depth_se(*pse);
 337
 338        while (se_depth > pse_depth) {
 339                se_depth--;
 340                *se = parent_entity(*se);
 341        }
 342
 343        while (pse_depth > se_depth) {
 344                pse_depth--;
 345                *pse = parent_entity(*pse);
 346        }
 347
 348        while (!is_same_group(*se, *pse)) {
 349                *se = parent_entity(*se);
 350                *pse = parent_entity(*pse);
 351        }
 352}
 353
 354#else   /* !CONFIG_FAIR_GROUP_SCHED */
 355
 356static inline struct task_struct *task_of(struct sched_entity *se)
 357{
 358        return container_of(se, struct task_struct, se);
 359}
 360
 361static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
 362{
 363        return container_of(cfs_rq, struct rq, cfs);
 364}
 365
 366#define entity_is_task(se)      1
 367
 368#define for_each_sched_entity(se) \
 369                for (; se; se = NULL)
 370
 371static inline struct cfs_rq *task_cfs_rq(struct task_struct *p)
 372{
 373        return &task_rq(p)->cfs;
 374}
 375
 376static inline struct cfs_rq *cfs_rq_of(struct sched_entity *se)
 377{
 378        struct task_struct *p = task_of(se);
 379        struct rq *rq = task_rq(p);
 380
 381        return &rq->cfs;
 382}
 383
 384/* runqueue "owned" by this group */
 385static inline struct cfs_rq *group_cfs_rq(struct sched_entity *grp)
 386{
 387        return NULL;
 388}
 389
 390static inline void list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 391{
 392}
 393
 394static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 395{
 396}
 397
 398#define for_each_leaf_cfs_rq(rq, cfs_rq) \
 399                for (cfs_rq = &rq->cfs; cfs_rq; cfs_rq = NULL)
 400
 401static inline int
 402is_same_group(struct sched_entity *se, struct sched_entity *pse)
 403{
 404        return 1;
 405}
 406
 407static inline struct sched_entity *parent_entity(struct sched_entity *se)
 408{
 409        return NULL;
 410}
 411
 412static inline void
 413find_matching_se(struct sched_entity **se, struct sched_entity **pse)
 414{
 415}
 416
 417#endif  /* CONFIG_FAIR_GROUP_SCHED */
 418
 419static __always_inline
 420void account_cfs_rq_runtime(struct cfs_rq *cfs_rq, unsigned long delta_exec);
 421
 422/**************************************************************
 423 * Scheduling class tree data structure manipulation methods:
 424 */
 425
 426static inline u64 max_vruntime(u64 min_vruntime, u64 vruntime)
 427{
 428        s64 delta = (s64)(vruntime - min_vruntime);
 429        if (delta > 0)
 430                min_vruntime = vruntime;
 431
 432        return min_vruntime;
 433}
 434
 435static inline u64 min_vruntime(u64 min_vruntime, u64 vruntime)
 436{
 437        s64 delta = (s64)(vruntime - min_vruntime);
 438        if (delta < 0)
 439                min_vruntime = vruntime;
 440
 441        return min_vruntime;
 442}
 443
 444static inline int entity_before(struct sched_entity *a,
 445                                struct sched_entity *b)
 446{
 447        return (s64)(a->vruntime - b->vruntime) < 0;
 448}
 449
 450static void update_min_vruntime(struct cfs_rq *cfs_rq)
 451{
 452        u64 vruntime = cfs_rq->min_vruntime;
 453
 454        if (cfs_rq->clastime" cl3=pse" clas5A/sche45fair.c#L265" id="L265">        u64 vruntime = cfs_rqvruntime - b->="+code=min_vruntime" class="sref"lass="sre> 355
se)
 454        if ( 357{
parent_entity(struct sched  454        if (parent_entity(struct  *}
c4s_rq)
 454        if (cfs_rq->{
u64  308        return b->="+code=min_vruntime" class="srefss="sref"4cfs);
 364}
u64 u64 u64ef="+code=task_struct" class="sref">taskvruntime - b->="+code=min_vruntime" class="srefslass="sre> 365
se)      1
vruntime = cfs_rq->u64 vruntime = cfs_rq->b->="+code=min_vruntime" class="srefsss="sref4se) \
)
 370
vruntime =  vruntime = cfs_rq->p)
{
}
 327         42ling class tree data structure manipulatlass="sre4">se)
 424{
 sref">parent_entity sref">pdate_min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *p);
 366#a h" list_del_rcu(&_;330">_;(.9" class="line" b_nodeaf_cfs_rq_list 380
se/a>; cfs_="+code=min_vruntime" class="srefalass="sr4>cfs;
se, struct }
 404 383

 327         42ling class tree data structure manipulatme="L386"4 386{
 424;
 366#a h";}
se/a>+code=sched_entia h"L366"> 366#a h"" class="line" name="L404"> 404 389
se_entity *se, struct c4s_rq)
 327        {
ss="bou 327        }
/*keyentay togemmer31"> 331     4ame="L3934> 393
 424c4s_rq)
inline int schedef="+code=task_stest_faf_cfs_rq_listse, *{
 366#a h" se if ( 404}
 397
 366#a h" se if ( 404) \
f="+code=vruntime" class="sref">v5ss="sref"5NULL)
inli5e int
 327        {
 423est_n cl(its="cfrequestlyame="L327"> 327        )
}
 424 406
se)
 454        if (taskvruntime - v5s9ss="sre5"q) \
;
taskvruntime - se_ecode=sched_entia h"L366"> 366#a h";="+code=vruntime" class="sref">v5me="L410"5 410}
taskvruntime - list_del_rcu(&_;330">_;(;="+code=vruntime" class="sref">v5mef">inli5> 411
inlin5 void
 sref">parent_entity sref">pdate_min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *{
}
 454        if (taskvruntime - se, *v5OUP_SCHED5*/
taskvruntime - v5__always_5nline
 454        if (v5f">delta_5xec);
 421

taskvruntime - list_del_rcu(&_;330">_;(;="+code=vruntime" class="sref">v5ion metho5s:
5*/
 *se, struct parent_entitypdate_min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *vru5time)
{
 vruntime = v5ime="L4185ime);
delta > 0)
_entity *vru5time;
 409        return min_vru5time;
se, struct }
vru5time)
 *se, struct parent_entitypdate_min_vruntime" class="sode=se" class="sref">se, struct sched_entity *{
min_vrun5ime);
taskvruntime - v5">delta < 0)
vru5time;
 409        return min_vru5time;
}
 *se, struct  443
a,
b)
{
se, struct parent_entitypdate_min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *}
list_del_rcu(&_;330">_;(;="+code=vruntime" class="sref">v5ame="L4495> 449
c5s_rq)
 *{
 409        return min_vru5time;
se, struct se)
 422/*************************************************5mntime{
 424}
)
lennhref,c#L440" id="L440" class="line" 5a>min_vru5 362{
 *);
}
lennhref,a9" class="line"ppo+code=rq" class=ppo+->_"+code=min_vruntime" class="sref5slass="sr5> 365
)      1
 *)
se, strunr_latencs-> seDIV_ROUND_UPhref="+code=min_vrunsysrtl_, strulatencss="sref">se,ysrtl_, strulatencshref,c#L440" id="L440" class="line" 5class="sr5f">p)
granularlass="sref">se,ysrtl_, strugranularlas->_"+code=min_vruntime" class="sref5ce="L362"5 372{
 409cfs_rqnaas->_a>, }
cfs_rqnormalizedrsysrtl_air.c#="ke cfs_rqsysrtl_air.c#="ke / ="+code=min_vrunfacto_rq" class="sreffacto_->)_entity * 409granularlass="sref">se, strugranularlas->_"+code=min_vruntime" class="sref5cass="sre5">se)
 409se, strulatencshref_"+code=min_vruntime" class="sref5cme="L3675 377{
 409granularlass="sref">se, struwakeup>granularlashref_"+code=min_vruntime" class="sref5css="sref5>se);
 409p);
v5alass="sr5>cfs;
}
 383

 327          /= wame="L327"> 327         424;
 444sta> * 424}
se, struct sched_entity *c5s_rq)
seu444kelshref="+code=min_vrun,uct" class="sref">taskvruntime - ;  409 *{
ualc_dgned mlinhref="+code=min_vrunss="saf_cfs_rq_list<     _e;  409taskvruntime - }
{
}
 424 397
 * once31"> 331     5ae="L388"5rq) \
 331     6ss="sref"6NULL)
 327         331     6ref">inli6e int
 331     6s3f">inli6e392}
 331     6s4f">inli6e 393
 424)
 452         nings="sref">cfs_rqnr_r> ningched_entity *}
 452        se,ysrtl_, strulatencshref"+code=min_vruntime" class="sref6lass="sre6">se)
 *senr_latencs-> se, strunr_latencs->"+code=min_vruntime" class="sref6l9ss="sre6"q) \
;
seu444kelshref="+code=min_vrunnr_r> nings="sref">cfs_rqnr_r> ningched   if ode=cfs_rq" clanr_latencss="sref">senr_latencs->">se, *}
granularlass="sref">se,ysrtl_, strugranularlas->"+code=min_vruntime" class="sref6mef">inli6> 411
 nings="sref">cfs_rqnr_r> ningched"+code=min_vruntime" class="sref6m3f">inli6 void
{
}

 424 418
 424
 331     6f">delta_6xec);
 331     6fef">inli6> 421
 331     6f3f">inli6**
 424
 452        se, strutlicehref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *6*/
 452        se,licehref cfs_rq -  nings="sref">cfs_rqnr_r> ningched + 8" class="line" ,uct" class="sref">taskvruntime - vru6time)
{
sefor_each_ode=se" clashref="+code=min_vrun,uct" class="sref">task>se, *delta > 0)
 *delta_6time;
update_min_vruntime(strtask>"+code=min_vruntime" class="sref6"3f">inli6time;
list_del_rcu(&}
seu444kelshref=8" class="line" ,uct" class="sref">taskvruntime - vru6time)
vruntime = vru6 436{
min_vrun6ime);
taskvruntime - "+code=min_vruntime" class="sref6"me="L4186> < 0)
vru6time;
se,licehref ualc_dgned mlinhref="+code=min_vrun,lices="sref">se,licehrefef="+code=task_struct" class="sref">taskvruntime - min_vru6time;
inli6 442}
se,licehref"+code=min_vruntime" class="sref6"on metho6> 443
a,
b)
 424{
 424 424}
 327         424c6s_rq)
 452        se, struvtlicehref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *{
min_vru6time;
        se, strutlicehref=ct cfs_rq<_e+code=sched_entity" class="sref">sched__e+code=sched_entity" class="sref">sched_"+code=min_vruntime" class="sref6ame="L4536> 453
cloadaf_cfs_rq_listcloadhref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_etic se)
cshare+code=rq" class=d cshare+href=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_"+code=min_vruntime" class="sref6amin_vrun6 357{
 424}
se 330"'s >se 330"s mmatline" name="L424"> 424 360
 331     6ae="L451"6s_rq)
 424min_vru6 362{
 444sta id=ame="L424"> 424);
update_min_vruntime(struct cfs_rq<_entity *se, struct }
 * * 367
 * - )
 * 452<)ode=cfs_rq" class="s_execrq" class="srefss="s_execched_e+code=sched_entdur"rq" class="sreffur"hrefvruntime -  370
p)
 - cfs_rq<_e+code=sched_entexec_cloc"L366"> 366#exec_cloc"_rq<_e+code=sched_entss="s_execrq" class="srefss="s_execched_"+code=min_vruntime" class="sref6ame="L4536>cfs;
        }
 - se)
v>v>cfs_rq<_"+code=min_vruntime" class="sref6ame="L3676 377{
        seme="L41#MP452        seme="L41FAIR_GROUP1#endiair.c#L418" id="L418" class="line" 6lass="sre6">p);
vruntime =  380
cfs;
}
update_min_vruntime(struct cfs_rq<_entity *
 *se, struct vruntime = {
 452        cfs_rq<_a> = ;
 *}
seu444kelshref=8" class="line" dur"rq" class="sreffur"href__entity *c6s_rq)
{
}
 424 393
se 330" was >ningchne" name="L424"> 424)
 424{
}
 424 397
 * - ) \
 *)
 400
inli7e int
cfs_rq<_e+code=sched_entfur"rq" class="sreffur"href,e+code=sched_entss="s_execrq" class="srefss="s_execched_"+code=min_vruntime" class="sref7s3f">inli7e392}
 - inli7e 393
)
se, *}
}
se)
 - ) \
upuacct_chargnhref=ct ;
}
inli7> 411
inli7 void
cfs_rq<_e+code=sched_entss="s_execrq" class="srefss="s_execched_"+code=min_vruntime" class="sref7s4f">inli7>pse)
{
}
 444sta id=ame="L424"> 424 416
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *
 *taskvruntime - cfs_rq<_a> = delta_7xec);
inli7> 421
 424inli7**

 4247*/
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *vru7time)
 424{
se 330"sline" name="L424"> 424);
se is a NOP)line" name="L424"> 424delta > 0)
 424delta_7time;
schedc!a>; vruntime =  *cfs_rq<_e+code=sched_entity" class="sref">sched_"+code=min_vruntime" class="sref7"3f">inli7time;
}
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *vru7 436{
min_vrun7ime);
taskvruntime - taskvruntime - me="L4187> < 0)
cfs_rq<_a> = taskvruntime - vru7time;
taskvruntime - schedvruntime - delta_7> 440
taskvruntime - schedvruntime - ;
cfs_rq<_a> = taskvruntime - inli7 442}
 443
sched_>se, *a,
sched__, *b)
cfs_rq<_a> = taskvruntime - vru7 446{
}
 *taskvruntime -  449
c7s_rq)
{
 444sta id=ame="L424"> 424min_vru7time;
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *, * 424 355
 424vru7">se)
{
 424se);
schedc!a>; vruntime =  *}
cfs_rq<_e+code=sched_entity" class="sref">sched_"+code=min_vruntime" class="sref7ame="L3607> 360
)
min_vru7 362{
 424);
se 330" - d }
 424 365
 444sta id=ame="L424"> 424)      1
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity * 424)
 424p)
taskvruntime - cfs_rq<_a> = }
 424 375
se)
 424{
p);
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *vruntime = taskvruntime - }
see" class="sref">sepa">see" clashref=ct sched_>+code=min_vruntime" class="sref7ame="L4537> 383
cfs_rq<_a> = taskvruntime - 
seme="L41#MP452<+code=min_vruntime" class="sref7alass="sr7>grp)
sched_>+code=min_vruntime" class="sref7aass="sre7 386{
taskvruntime - cfs_rq<_a> = c330"s_rq" class="sref">c330"slir._"+code=min_vruntime" class="sref7ame="L3677NULL;
}
 *cfs_rq -  nings="sref">cfs_rqnr_r> ningched++"+code=min_vruntime" class="sref7ame="L3897> 389
c7s_rq)
{
}
update_min_vruntime(struct cfs_rq<_entity *se, struct sched_entity *, *)
 *vruntime = taskvruntime - see" class="sref">sepa">see" clashref=ct sched_>+code=min_vruntime" class="sref7ae="L386"7 396}
cfs_rq<_a> = taskvruntime - sched_>+code=min_vruntime" class="sref7ae="L388"7rq) \
taskvruntime - )
vruntime = cfs_rqnr_r> ningched--"+code=min_vruntime"de=pse" clas8s1="sref"8N_rq)
inli8e int
inli8e392}
seme="L41FAIR_GROUP1#endiair.c#L418" id="L418" class="line" 8s4f">inli8e 393
cload anref=ad-balanc nfunctions below ="line" name="L424"> 424)
 444static sethrottltruhierarchshref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_"+code=min_vruntime"de=pse" clas8s6="L403"8 395{
seme="L41#MP452<+code=min_vruntime" class="sref8s7="L405"8 396}
c/a_load_contributionaf_cfs_rq_listc/a_load_contributionhref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_+code=min_vruntime" class="sref8s8="L405"8  397
) \
;
 *set30"_group>(struct cfs_rqtg_rq< vruntime = cfs_rqtg_rq<"+code=min_vruntime"de=pse" clas8sme="L4008 410}
cfs_rqload_avg_rq<"+code=min_vruntime"de=pse" clas8sef">inli8> 411
inli8 void
cfs_rqload_avg_rq< cfs_rq = cfs_rqload_avg_rq<_e+code=sched_entde=cfs_rq" class="sref">cfs_rq = cfs_rqload_periodched+1_"+code=min_vruntime" class="sref8s4f">inli8>pse)
cfs_rqload_avg_rq< -vruntime = {
}
cfs_rqload_avg_rq<) > = a9" class="line"untime" class="sref">vruntime = cfs_rqload_avg_rqcfs_rqtg_rq = 
vruntime = cfs_rqload_avg_rq<"+code=min_vruntime"de=pse" clas8s9="L405"8> 418

delta_8xec);
inli8> 421
cloadaf_cfs_rq_listcloadhref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_etic inli8**

 452        cfs_rqperiodched 8*/
 * 452         425
 *vruntime = {
vruntime = cfs_rqtg_rq< ==f"+code=list_del_rcu"moot_330"_groups="sref">semoot_330"_groupched || ihref="+code=vrthrottltruhierarchss="sref">sethrottltruhierarchshref=ct cfs_rq<__c#L431" id="L431" class="line" 8f9="L405"8ime);
delta > 0)
delta_8time;
        cfs_rq<_a> =  431
vruntime = seload_c#Lmphref"+code=min_vruntime" class="sref8a3f">inli8time;
}
 424 434
vruntime = seload_c#Lmphref > = a9" class="line"untime" class="sref">vruntime =  424)
vruntime = cfs_rqperiodched>se, *vru8 436{
cfs_rq = cfs_rqload_periodched  424);
vruntime = cfs_rqload_avg_rq<  424 < 0)
cfs_rqperiodched - 1dame="L424"> 424vru8time;
delta_8> 440
vruntime = seload_c#Lmphref inli8 442}
vruntime =  424 443
cfs_rq = cfs_rqload_periodched +a,
b)
vruntime = vru8 446{
cfs_rq = cfs_rqload_avg_rq< +        }
 424c8s_rq)
cfs_rq = cfs_rqload_periodched > = a9" class="line"periods="sref">cfs_rqperiodchedame="L424"> 424{
cfs_rq = cfs_rqload_periodched_c#L431" id="L431" class="line" 8">min_vru8time;
c/a_load_contributionaf_cfs_rq_listc/a_load_contributionhref=ct cfs_rq<_e 453
vruntime = cfs_rqload_periodched > = a9" class="line"periods="sref">cfs_rqperiodched>se, * 424vru8">se)
se mmencompilerline" name="L424"> 424{
 424se);
 424}
 424 360
""line" n : c#L423" id="Lstring">"+rm"line" n "+code=sched_entdntime" class="sref">vruntime = cfs_rqload_periodched)_"+code=min_vruntime" class="sref8ae="L451"8s_rq)
vruntime = cfs_rqload_periodched /= 2"+code=min_vruntime" class="sref8a>min_vru8 362{
cfs_rq = cfs_rqload_avg_rq< /= 2"+code=min_vruntime" class="sref8ame="L4538cfs);
}
vruntime = +cod"+cod 8" class="line" de=cfs_rq" class="sref">cfs_rq = cfs_rqnr_r> ningched >+cod"+cod 8" class="line" de=cfs_rq" class="sref">cfs_rq = cfs_rqload_avg_rq<)c#L425" id="L425" class="line" 8sref">vru8>)      1
cfs_rq<_"+code=min_vruntime" class="sref8aUP_SCHED8> 367
) \
)
 444staf="+code=cfs_rq" clacalc_tg_weightaf_cfs_rq_list *set30"_group>(struct cfs_rqtg_rq<_entity *update_min_vruntime(struct cfs_rq<_c#L449" id="L449" class="line" 8sme="L3608> 370
p)
 424}
 424 375
se 3otal weight. Seehrne" name="L424"> 424vru8">se)
c/a_load_contribution().line" name="L424"> 424{
 424se);
 *cfs_rqtg_rq = p);
vruntime =  380
        vruntime = }
 383

 *update_min_vruntime(struct cfs_rq<_entity *set30"_group>(struct cfs_rqtg_rq<_c#L449" id="L449" class="line" 8aass="sre8 386{
}
cfs_rqtg_rq<_e"+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref8="sref">c8s_rq)
        vruntime = {
}
cfs_rqtg_rq -          393
)
{
}
) \
cfs_rqtg_rq - )
cfs_rqtg_rq - )
inli9e int
inli9e392}
inli9e 393
)
 *update_min_vruntime(struct cfs_rq<_c#L449" id="L449" class="line" 9s6="L403"9 395{
}
vruntime = se, *
cloadaf_cfs_rq_listcloadhref=ct cfs_rq<_e0)"+code=min_vruntime" class="sref9s9="L405"9 q) \
cthare+af_cfs_rq_listcthare+href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref9ss="sref"9NULL;
inli9> 411
 424inli9 void
cloadaf_cfs_rq_listcloadhref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_etic inli9>pse)
{
}
 416
 444staf="+code=cfs_rq" clacalc_vrunchare+af_cfs_rq_list *update_min_vruntime(struct cfs_rq<_entity *set30"_group>(struct cfs_rqtg_rq<_c#L449" n_vruntime" class="sref9a8="L405"9*/
 418
cfs_rqtg_rq - delta_9xec);
inli9> 421
 444sta id="L450" class="lid  *update_min_vruntime(struct cfs_rq<_c#L449" id="L449" class="line" 9f3f">inli9**

9*/
 424 425
sereweighte" clashref=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_+code=min_vruntime" class="sref9cme="L4069time)
 *{
);
schedvruntime - delta > 0)
 424delta_9time;
vruntime = sched_+code=min_vruntime" class="sref9ame="L4319> 431
cfs_rq<_"+code=min_vruntime" class="sref9a3f">inli9time;
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref9aon metho9 433}
)
taskvruntime - vru9 436{
);
schedvruntime -  < 0)
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref9sref">vru9time;
delta_9> 440
cthare+af_cfs_rq_listcthare+href=ntity *update_min_vruntime(struct cfs_rq<_c#L449" id="L449" class="line" 9s3f">inli9 442}
 443
 *set30"_group>(struct cfs_rqtg_rq<"+code=min_vruntime" class="sref9sme="L4349f">a,
 *se, struct sched"+code=min_vruntime" class="sref9se="L405"9f">b)
vru9 446{
cfs_rqtg_rq< vruntime = cfs_rqtg_rq<"+code=min_vruntime"de=pse" clas9s9="L405"9 448}
 *sched cfs_rqtg_rq - sched[9" class="line"upu_ofpdate_min_vruntupu_ofhref=ct cfs_rq<_)]"+code=min_vruntime"de=pse" clas9ame="L4499> 449
sched || ihref="+code=vrthrottltruhierarchss="sref">sethrottltruhierarchshref=ct cfs_rq<__c#L431" id="L431" class="line" 9="sref">c9s_rq)
{
seme="L41#MP452<+code=min_vruntime" class="sref9">min_vru9time;
selikelshref=ct taskvruntime - cfs_rqtg_rq -  453
cfs_rq<_e9" class="line"tgs="sref">cfs_rqtg_rq<_"+code=min_vruntime" class="sref9=ref">vru9">se)
{
sereweighte" clashref=ct task)_e9" class="line"sty" class="sref">schedef="+code=task_strhare+af_cfs_rq_listse);
}
 424 360
cloadaf_cfs_rq_listcloadhref=min_vruntime" class="sref">update_min_vruntime(struct cfs_rq<_etic )
min_vru9 362{
}
 444sta id="L450" class="lid cthare+af_cfs_rq_listcthare+href=ntity *update_min_vruntime(struct cfs_rq<_c#L449" id="L449" class="line" 9slass="sr9> 365
vru9>)      1
 367
) \
 444sta id="L450" class="lid  *update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n9ss="sref"9NULL)
p)
 424min_vru9 372{
 *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_c#L449" id="374" class="line" n9ss="sref"9 374}
vru9">se)
 *set30"_ntity<>(struct sched_>+code=min_vruntime" class="sref9lass="sre9">p);
sched_"+code=min_vruntime"de=pse" clas9ame="L3809> 380
taskvruntime - sesleep_c#Lr, *}
 452        cfs_rq<_a> = taskvruntime - sesleep_c#Lr
+code=min_vruntime" class="sref9llass="sr9>grp)
 424{
seunlikelshref="+code=min_vrunss="sine" name="L452ds="s_rq< & = a9" class="line"suct" class="sref">taskvruntime - sesleep_maxched_>+code=min_vruntime" class="sref9lss="sref9 388}
taskvruntime - sesleep_maxched c9s_rq)
taskvruntime - sesleep_c#Lr 424{
taskvruntime -  ; ;}
 393
, *)
seaccogt;_code=uler_latencshref="+code=min_vrunt0"_rq" class="sret0"href_e+code=sched_entss="sine" name="L452ds="s_rq< & = & = a10, 1_"+code=min_vruntime"de=pse" clas9alass="sr9 395{
taskvruntime - sebloc"_c#Lr, *10ssair.c#L437" c#L272" +code=sched_entd"line" name="L452"> 452        cfs_rq<_a> = taskvruntime - sebloc"_c#Lrdohrefsref11/b1/40d8ee91c6456ea978f5e403a3b7bf86c2d5_3/10ss=>/a>, *)
{
+code=min_vruntime" class="sref10s3="sref"10s392}
 424
)
seunlikelshref="+code=min_vrunss="sine" name="L452ds="s_rq< & = a9" class="line"suct" class="sref">taskvruntime - sebloc"_maxched_>+code=min_vruntime" class="sref10s6="sref"10s395{
taskvruntime - sebloc"_maxched }

taskvruntime - sebloc"_c#Lr 424) \
taskvruntime -  ; ;;
}
, * 411
 - sein_iowai, * void
taskvruntime - seiowai<_sumair.c+pse)
taskvruntime - seiowai<_cogt;task++"+code=min_vruntime"de=pse" clas1015="sref"10 414{
setrace_ode=sec#L4_iowai}
 416

 418

 424);
 424 421
 424
se sleepame:line" name="L424"> 424
 424
seunlikelshref="+code=min_vrunprof_onaf_cfs_rq_list 425
)
{
);
 > 0)
seaccogt;_code=uler_latencshref="+code=min_vrunt0"_rq" class="sret0"href_e+code=sched_entss="sine" name="L452ds="s_rq< & = & = a10, 0)"+code=min_vruntime" class="sref1031="sref"10time;
 431
;
}
5="sref"10> 434
6="sref"10time)
 *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_c#L449" id="374" class="line" n10>7="sref"10 436{
8="sref"10ime);
9="sref"10> < 0)
 *taskvruntime -  ; ;vruntime = ;
 440
;
}
 443
seiysctl_ode=selatencsched_c#L449" id="374" class="line" n1045="sref"10f">a,
>10t5air.c#L439" c#L303" ihref="+code=vrrlassc#L4_incs="sref">se, strc#L4_inchref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e+code=sched_entnr_cpread_ove"rq" class="srefnr_cpread_ove"_rq<_"+code=min_vruntime"de=pse" clas1046="sref"10f">b)
>10t6air.c#L417"+code=min_vruntime" class="sre1047="sref"10 446{
}
 449
seplace_" clashref=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_etic seinitialched_c#L449" id="374" class="line" n1051="sref"10s_rq)
2="sref"10 451{
 452         ; ;vruntime = ;
 453
 4245="sref"10clastime" cl3=pse" clas510cla>10>fair.id="L327" class="line"sssssssss* The 'cur">se' periodsis already promised co mmencur">se 3asks,line" name="L424"> 4246="sref"10> 355
 4247="sref"10">se)
s>10>fair.c#L424" id="L424" classssssssss* littlt, place ;mennewnt30" sosthae it fits in ;menslotsthaeline" name="L424"> 4248="sref"10 357{
 4249="sref"10>se);
 424}
seinitialched "+cod"+cod/a> *sesde=sefea+code=min_vruntime" class="sref1061="sref"10> 360
 ; ;de=sevslicthref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e+code=sched_entity" class="sref">sched_"+code=min_vruntime"de=pse" clas10 2="sref"10s_rq)
{
 424);
seinitialched_se, *}
 *seiysctl_ode=selatencsched"+code=min_vruntime"de=pse" clas10 6="sref"10> 365
)      1
 424 367
 424) \
 424)
 424 370
sesde=sefea+code=min_vruntime" class="sref1072="sref"10f">p)
>10Nfair.c#L272" id="L272id="L399+code=sched_entt=cfsh_rq" class="sret=cfshched & = & = = 1"+code=min_vruntime"de=pse" clas1073="sref"10 372{
cfs;
 -  ; ;}
 375
se)
s>10N7air.c#L303" i#L424" id="L424" clas/* ensure wenneve" gain ; 424{
 ; ;taskvruntime -  ; ; ; ;se);
p);
p>10">air.c#L439" a> *taskvruntime -  ; ; ; ; 380
cfs;
}
 *update_min_vruntime(struct cfs_rq<_"+code=min_vruntime"de=pse" clas1084="sref"10> 383

grp)
seenqueue_" clashref=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_etic {
;
 424}
 ; ; 424 389
 424)
 424{
 *seENQUEUE_WAKEUPched_s||="+code=sched_entflagsaf_cfs_rq_list *}
taskvruntime -  ; ;vruntime =  393
)
 424{
 -;se'.line" name="L424"> 424}
 424 397
cfs_rq<_"+code=min_vruntime" class="sref10>9="sref"10rq) \
 *cloadaf_cfs_rq_listcloadhref=ct cfs_rq<_e0)"+code=min_vruntime" class="sref11ss="sref"11ss="a>) \
 *cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1101="sref"11s_rq)
 *cthare+af_cfs_rq_listcthare+href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref11s2="sref"11s391{
}
 *seENQUEUE_WAKEUPched_sc#L446" id="L446" class="line" n11s4="sref"11s 393
 - seplace_" clashref=ct cfs_rq<_e9" class="line"sty" class="sref">sched_e0)"+code=min_vruntime" class="sref11s5="sref"11s_rq)
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1106="sref"11s395{
}

cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1109="sref"11sq) \
 *cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref111s="sref"11NULL;
sched !vruntime = +code=min_vruntime" class="sref1111="sref"11 410}
se__enqueue_" clashref=ct cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1112="sref"11> 411
schedvruntime -  void
pse)
vruntime = cfs_rqnr_r> ning_rq< == 1_sc#L446" id="L446" class="line" n1115="sref"11 414{
l2s4_add_leaf_untimehref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref11N6="sref"11 415}
cfs_rq<_"+code=min_vruntime" class="sref11N7="sref"11> 416

 418

se__clear_buddie>clas *se, struct sched_c#L449" id="374" class="line" n11n1="sref"11xec);
 421
sefor_each_ode=se" clashref="+code=min_vrunruct" class="sref">task_sc#L446" id="L446" class="line" n11n3="sref"11**
 *update_min_vruntime(struct cfs_rqtask)"+code=min_vruntime" class="sref11n4="sref"11s:
vruntime = selassched_c#L449" id="374" class="line" n11n5="sref"11*/
vruntime = selas 425
)
{
);
 > 0)
;
se__clear_buddie>cnex *se, struct sched_c#L449" id="374" class="line" n1132="sref"11> 431
;
sefor_each_ode=se" clashref="+code=min_vrunruct" class="sref">task_sc#L446" id="L446" class="line" n11>4="sref"11 433}
 *update_min_vruntime(struct cfs_rqtask)"+code=min_vruntime" class="sref11>5="sref"11> 434
vruntime = senexsched_c#L449" id="374" class="line" n11>6="sref"11time)
vruntime = senex7="sref"11 436{
8="sref"11ime);
9="sref"11> < 0)
;
 440
;
se, struct sched_c#L449" id="374" class="line" n1143="sref"11 442}
 443
sefor_each_ode=se" clashref="+code=min_vrunruct" class="sref">task_sc#L446" id="L446" class="line" n1145="sref"11f">a,
>11t5air.c#L439" c#L303" ntity *update_min_vruntime(struct cfs_rqtask)"+code=min_vruntime" class="sref1146="sref"11f">b)
>1146air.c#L445" id="L445id="+code=sched_entuntime" class="sref">vruntime = sched_c#L449" id="374" class="line" n1147="sref"11 446{
vruntime = }
 449
)
2="sref"11 451{
;
vlear_buddie>href=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_c#L449" id="374" class="line" n1154="sref"11> 453
5="sref"11clastime" cl3=pse" clas511cla>1155air.c#L439" id="+code=sched_entuntime" class="sref">vruntime = selassched_c#L449" id="374" class="line" n11>6="sref"11> 355
se__clear_buddie>clastask)"+code=min_vruntime" class="sref11>7="sref"11">se)
s>115fair.c#L367" id="L367" class="line" 11>8="sref"11 357{
vruntime = senexsched_c#L449" id="374" class="line" n11>9="sref"11>se);
se__clear_buddie>cnextask)"+code=min_vruntime" class="sref116s="sref"11 359}
 360
vruntime = sched_c#L449" id="374" class="line" n11 2="sref"11s_rq)
cskip_rq" class="sre__clear_buddie>cskiphref=ct task)"+code=min_vruntime" class="sref1163="sref"11 362{
);
}
update_min_vruntime(struct cfs_rq<)"+code=min_vruntime" class="sref1166="sref"11> 365
)      1
 367
sedequeue_" clashref=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_etic ) \
)
 424 370
 -;se'.line" name="L424"> 424p)
>1172air.c#L423" id="L423" classssssssss*"line" name="L424"> 424{
cfs_rq<_"+code=min_vruntime" class="sref1174="sref"11>cfs;
}
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1176="sref"11> 375
 *se)
s>11N7air.#ifdeff="+code=task_stme="L41#endiSTATSaf_cfs_rq_list{
task)_sc#L446" id="L446" class="line" n1179="sref"11>se);
 *task)"+code=min_vruntime" class="sref118s="sref"11">p);
p>118iair.c#L425" id="L425" class="line" 1181="sref"11> 380
 -  *cfs;
taskvruntime - sesleep_c#Lrcfs_rq<_a> = }
 -  * 383
taskvruntime - sebloc"_c#Lrcfs_rq<_a> = 
grp)
{
;
}
 *vlear_buddie>href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref119s="sref"11> 389
)
sched !vruntime = +code=min_vruntime" class="sref1192="sref"11 391{
se__dequeue_" clashref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1193="sref"11 392}
schedvruntime -  424 393
cloadaf_cfs_rq_listcloadhref=ct cfs_rq<_e0)"+code=min_vruntime" class="sref1195="sref"11s_rq)
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1196="sref"11 395{
}
 424 397
 ; 4249="sref"11rq) \
 424) \
 424)
 424{
 *}
taskvruntime -  ; ;vruntime = 
)
 ; 424{
cfs_rq<_"+code=min_vruntime" class="sref12s7="sref"12s396}

cfs_rq<_"+code=min_vruntime" class="sref12s9="sref"12sq) \
 *cthare+af_cfs_rq_listcthare+href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref121s="sref"12NULL;
}
 411
 424 void
se 3ask with annewly woken 3ask id=needed:line" name="L424"> 424pse)
 424{
}
 *update_min_vruntime(struct cfs_rq<_entity *se, struct +code=min_vruntime" class="sref12N7="sref"12> 416

 * ; ;seds="s_exec_rq<"+code=min_vruntime"de=pse" clas1219="sref"12> 418
 *se, struct sched"+code=min_vruntime"de=pse" clas122s="sref"12nline
 *seds="sched"+code=min_vruntime"de=pse" clas1221="sref"12xec);
 421
 ; ;de=seslicthref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e+code=sched_entfur"rq" class="sreffur"href>"+code=min_vruntime"de=pse" clas1223="sref"12**
seds="s_exec_rq -  ; ; -  ; ;
seds="s_exec_rq ; ;
de=set30"href="+code=min_vrunme_ofpdate_min_vrunt/a_ofhref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_a> = "+code=min_vruntime"de=pse" clas1226="sref"12> 425
 424)
se 3ask r424f="+cenough, ensure it doesn't geeline" name="L424"> 424{
 424);
 424 > 0)
vlear_buddie>href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"fur"rq" class="sreffur"href>"+code=min_vruntime"de=pse" clas1231="sref"12time;
 431
;
4="sref"12 433}
 4245="sref"12> 434
 4246="sref"12time)
 4247="sref"12 436{
 > der load.line" name="L424"> 4248="sref"12ime);
 424 < 0)
seds="s_exec_rqse,ysctl_ode=semin_gr42ularlashref>+code=min_vruntime" class="sref124s="sref"12time;
 440
;
schedcse__pick_first_" clashref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref1243="sref"12 442}
seds="schedc -  ; ;taskvruntime -  ; ; 443
a,
>12t5air.c#L439" id="+code=sched_entds="ss="sref">seds="schedc&l= a0>+code=min_vruntime" class="sref1246="sref"12f">b)
>1246air.c#L445" id="L445return"+code=min_vruntime"de=pse" clas1247="sref"12 446{
seds="schedc& = a+code=sched_entideal_r> ; ;}
de=set30"href="+code=min_vrunme_ofpdate_min_vrunt/a_ofhref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_a> = "+code=min_vruntime"de=pse" clas125s="sref"12> 449
)
2="sref"12 451{
3="sref"12time;
se,utcnex *update_min_vruntime(struct cfs_rq<_entity *se, struct sched_c#L449" id="374" class="line" n1254="sref"12> 453
5="sref"12clastime" cl3=pse" clas512cla>1255air.c#L439" i#L424" id="L424" clas/* 'cur">se' is not kept within ;he cree.s*"line" name="L424"> 4246="sref"12> 355
schedvruntime - 7="sref"12">se)
s>125fair.c#L437" c#L272" c#L423" id="L423" clas/*line" name="L424"> 4248="sref"12 357{
 4249="sref"12>se);
se waitame=on ;meline" name="L424"> 424}
 queue.line" name="L424"> 424 360
 424)
cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1263="sref"12 362{
se__dequeue_" clashref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1264="sref"12cfs);
}
 365
sed cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref1267="sref"12>)      1
vruntime = sched"+code=min_vruntime"de=pse" clas1268="sref"12> 367
) \
 424)
 424 370
 424p)
>1272air.c#L423" id="L423" classssssssss* when ;mere ar  only lesser-weight 3asks arogtd):line" name="L424"> 424{
 424cfs;
cfs_rq<_a> = scheda> = }
taskvruntime - schedvruntime -  375
schedvruntime -  ; ;schedvruntime -  ; ;se)
s>1277air.c#L445" c#L374" id="L374" class="line" n1278="sref"12 377{
se);
 *schedvruntime -  ; ;schedvruntime -  ; ;p);
p>128iair.c#L374" id="L374" class="line" n1281="sref"12> 380
cfs;
}
sewakeup_preempt_" clashref=ntity *se, struct  *se, struct sched_"+code=min_vruntime" class="sref1284="sref"12> 383

 424grp)
 424{
 424;
 424}
 424 389
 424)
 424{
 *se, struct sepick_nex *update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n1293="sref"12 392}
 393
 *se, struct schedcse__pick_first_" clashref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime" class="sref1295="sref"12s_rq)
 *se, struct selefsched"+code=min_vruntime"de=pse" clas1296="sref"12 395{
}
 424 397
 4249="sref"12rq) \
 424) \
 424)
vruntime = sched_sc#L446" id="L446" class="line" n13s2="sref"13s391{
se, struct se__pick_nexsched_"+code=min_vruntime" class="sref13s3="sref"13s392}
 *sewakeup_preempt_" clashref=+code=sched_entitcotdaf_cfs_rq_listselef
schedc)
{
}
 424
 424) \
 424;
vruntime = selas *sewakeup_preempt_" clashref=+code=sched_entuntime" class="sref">vruntime = selasselef}
schedcvruntime = selas 411
 void
 424pse)
 424{
 424}
vruntime = senex *sewakeup_preempt_" clashref=+code=sched_entuntime" class="sref">vruntime = senexselef 416
schedcvruntime = senex
 418
 *vlear_buddie>href="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"sty" class="sref">sched_"+code=min_vruntime" class="sref132s="sref"13nline
);
sched"+code=min_vruntime"de=pse" clas13n2="sref"13> 421


 ; ; *update_min_vruntime(struct cfs_rq<_"+code=min_vruntime"de=pse" clas13n5="sref"13*/
 425
seput_prev_" clashref=ntity *update_min_vruntime(struct cfs_rq<_entity *se, struct )
{
 424);
 queue ;men deactiva hrcask()line" name="L424"> 424 > 0)
 424;
 424 431
 424;
cfs_rq<_"+code=min_vruntime" class="sref13>4="sref"13 433}
5="sref"13> 434
cfss exceedame=r> ; 424)
 ; ;cfs_rq<_"+code=min_vruntime" class="sref13>7="sref"13 436{
8="sref"13ime);
cfs_rq<_e9" class="line"prevaf_cfs_rq_list < 0)
;
sed cfs_rq<_e9" class="line"prevaf_cfs_rq_list 440
se' back inmo mmencree.s*"line" name="L424"> 424;
se__#Lqueuee" clashref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_e9" class="line"prevaf_cfs_rq_list}
 443
vruntime = a,
>13t5air.c#L374" id="L374" class="line" n1346="sref"13f">b)
>1346air.+code=min_vruntime" class="sref1347="sref"13 446{
 *update_min_vruntime(struct cfs_rq<_entity *se, struct  424}
 449
 424)
 -;se'.line" name="L424"> 4242="sref"13 451{
 4243="sref"13time;
cfs_rq<_"+code=min_vruntime" class="sref1354="sref"13> 453
5="sref"13clastime" cl3=pse" clas513cla>1355air.c#L439" i#L424" id="L424" clas/*line" name="L424"> 4246="sref"13> 355
 4247="sref"13">se)
s>135fair.c#L424" id="L424" classssssssss*"line" name="L424"> 4248="sref"13 357{
cfs_rq<_"+code=min_vruntime" class="sref1359="sref"13>se);
}
 360
 424)
 424{
de=sule.line" name="L424"> 424);
 424}
 365
de=set30"href="+code=min_vrunme_ofpdate_min_vrunt/a_ofhref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_a> = "+code=min_vruntime"de=pse" clas1367="sref"13>)      1
 367
) \
 424)
 424 370
 424p)
>1372air.c#L430" id="!a> *seode=sefea 424{
cfs_rq<_a> =  424cfs;
}
 375
se)
s>1377air.c#L445" id="+code=sched_entuntime" class="sref">vruntime = senr_r> ninghref "g= a1_c#L449" id="374" class="line" n1378="sref"13 377{
cfs_rq<_e9" class="line"fur"rq" class="sreffur"href>"+code=min_vruntime"de=pse" clas1379="sref"13>se);
p);
p>138iair.c#L425" id="L425" class="line" 1381="sref"13> 380
cfs;
 424}
 424 383
 424
grp)
{
;
}
 *se,#L426_kesair.code=cfs_rq" cla__f">cbandwidth_usedrq" class="sref__f">cbandwidth_usedched"+code=min_vruntime"de=pse" clas139s="sref"13> 389
)
cbandwidth_usedrq" class="sreff">cbandwidth_usedched( id=_c#L449" id="374" class="line" n1392="sref"13 391{
}
#L426_kes_falrthref="+cod"+code=min_vrun__f">cbandwidth_usedrq" class="sref__f">cbandwidth_usedched>"+code=min_vruntime"de=pse" clas1394="sref"13> 393
)
{
cbandwidth_usedrq" class="srefaccogt;_f">cbandwidth_usedhref=tic  424}
 397
 4249="sref"13rq) \
 * 424) \
#L426_kes_slow_incs="sref">se>#L426_kes_slow_inchref="+cod"+code=min_vrun__f">cbandwidth_usedrq" class="sref__f">cbandwidth_usedched>"+code=min_vruntime"de=pse" clas1401="sref"14s_rq)
 * 424{
se>#L426_kes_slow_dechref="+cod"+code=min_vrun__f">cbandwidth_usedrq" class="sref__f">cbandwidth_usedched>"+code=min_vruntime"de=pse" clas1403="sref"14s392}

 424)
cbandwidth_usedrq" class="sreff">cbandwidth_usedched( id=_c#L449" id="374" class="line" n14s6="sref"14s395{
}

) \
;
cbandwidth_usedrq" class="srefaccogt;_f">cbandwidth_usedhref=tic }
 424 411
 void
 424pse)
 424{
 424}
 424 416
);
cperiods);
cperiodched( id=_c#L449" id="374" class="line" n1418="sref"14*/
 418

);
 421
);
cbandwidth_slicts="sref">seode=sef">cbandwidth_slictched( id=_c#L449" id="374" class="line" n1423="sref"14**

);
cbandwidth_slicts="sref">seoysctl_ode=sef">cbandwidth_slictair.c*a9" class="line"NSEC_PER_USECs="sref">seNSEC_PER_USECched"+code=min_vruntime"de=pse" clas14n5="sref"14*/
 425
)
 424{
 ; 424);
 = floc"=mo i id="addinghrne" name="L424"> 424 > 0)
 = loc".line" name="L424"> 424;
 424 431
cba> = loc"line" name="L424"> 424;
 4244="sref"14 433}
cbandwidth_r> ;cbandwidth_r> ; *cbandwidthair.c*a> *cb_rq<_ame="L424"> 4245="sref"14> 434
)
senowched"+code=min_vruntime"de=pse" clas14>7="sref"14 436{
8="sref"14ime);
cb_rq =  4249="sref"14> < 0)
;
 440
senowchedcseode=sefloc"_upuhref="+code=min_vrunsmp_processor_idaf_cfs_rq_list"+code=min_vruntime"de=pse" clas1442="sref"14time;
cb_rq = cb_rq = }
cb_rq = r> ;ched senowchedc+a9" class="line"k;" class="sref">k;href="+code=min_vrunde=cbrq" class="sreff">cb_rq = "+code=min_vruntime"de=pse" clas1444="sref"14> 443
a,
>144fair.#L374" id="L374" class="line" n1446="sref"14f">b)
>1446air.c#L426"ode=cfs_rq" claina href" class="srefina hrair.cntity *cbandwidthair.c*a> * * * 424{
cbandwidthair."+code=min_vruntime"de=pse" clas1449="sref"14 448}
 449
)
 ; 4242="sref"14 451{
update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n14>3="sref"14time;
 453
 * *vruntime = 5="sref"14clastime" cl3=pse" clas514cla>1455air.c#L439" ntity *cbandwidthair.c*a> *cb_rq *6="sref"14> 355
expire>ched"+code=min_vruntime"de=pse" clas14>7="sref"14">se)
s>145fair.c#L367" id="L367" class="line" 14>8="sref"14 357{
 ; 4249="sref"14>se);
 *cbandwidth_slicts="sref">seode=sef">cbandwidth_slictched()c-a9" class="line"untime" class="sref">vruntime = r> ;}
 360
raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas14 2="sref"14s_rq)
cb_rq =  424{
 *);
}
 424 365
 424)      1
 424 367
h mmenglobal sta h and ensurenbandwidth 43mer be296esline" name="L424"> 424) \
 424)
 424 370
cb_rq = p)
>147fair.c#L272" id="L272c#L428" c450" class="li__" cillef">cbandwidth_r> ;cbandwidth_r> ; *cb_rq<_"+code=min_vruntime"de=pse" clas1473="sref"14 372{
 *cb_rq<_"+code=min_vruntime"de=pse" clas1474="sref"14>cfs;
}
 375
cb_rq = se)
s>147fair.c#L437" c#L272" id="L445ccode=sched_entamogt;af_cfs_rq_list *cb_rq = {
cb_rq = se);
cb_rq = p);
p>1480air.c#L439" c#L303" c#L374" id="L374" class="line" n1481="sref"14> 380
cfs;
" class="sref">expire>ched cb_rq = r> ;ched"+code=min_vruntime"de=pse" clas1483="sref"14 382}
raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1484="sref"14> 383

vruntime = r> ; *grp)
 424{
 424;
 ; 424}
 424 389
 424)
);
" class="sref">expire>ched -a9" class="line"untime" class="sref">vruntime = r> ;ched) "g= a0_ame="L424"> 424{
vruntime = r> ;ched " class="sref">expire>ched"+code=min_vruntime"de=pse" clas1493="sref"14 392}
 393
vruntime = r> ;)
{
}
 424 397
 424) \
 = floc"=snapshots this valu .line" name="L424"> 424) \
 424)
update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n15s2="sref"15s391{
}
 *cbandwidthair.c*a> *cb_rq *vruntime = 
 */a>(struct /a>(strcfs_rq<_"+code=min_vruntime"de=pse" clas15s5="sref"15s_rq)
{
 424}
selikelshref=="+code=min_vrunscfs);
/a>(sta> = cloc"href -a9" class="line"untime" class="sref">vruntime = r> ;ched) "l= a0__c#L449" id="374" class="line" n15s8="sref"15s 397
) \
;
vruntime = r> ; 424}
 411
 void
 424pse)
 424{
 424}
 424 416
 424
 424 418
 424
 424);
 421
);
vruntime = r> ;ched -a9" class="line"untibrq" class="sreff">cb_rq = r> ;ched) "g= =a0_sc#L446" id="L446" class="line" n1523="sref"15**
 424
vruntime = r> ;ched + *seTICK_NSECched"+code=min_vruntime"de=pse" clas15n5="sref"15*/
 425
 424)
vruntime = r> ;{
);
 > 0)
;
cme_r> ;cme_r> ; *update_min_vruntime(struct cfs_rq<,c#L425" id="L425" class="line" 1532="sref"15> 431
sedelta_exec_rq<_c#L449" id="374" class="line" n1533="sref"15time;
4="sref"15 433}
 4245="sref"15> 434
vruntime = r> ; *sedelta_exec_rq<"+code=min_vruntime"de=pse" clas1536="sref"15time)
cfs_rq<_"+code=min_vruntime"de=pse" clas15>7="sref"15 436{
8="sref"15ime);
selikelshref=+code=sched_entuntime" class="sref">vruntime = r> ;9="sref"15> < 0)
;
 440
 424;
 ;de=senonmmat thenactiv hrne" name="L424"> 424}
 424 443
 424a,
>1545air.c#L439" id="!a> *cfs_rq<_ "+cod"+cod/a> *selikelshref=+code=sched_entuntime" class="sref">vruntime = _c#L449" id="374" class="line" n1546="sref"15f">b)
>1546air.c#L445" id="L445ccode=sched_entre>de=set30"af_cfs_rq_listde=set30"href="+code=min_vrunme_ofpdate_min_vrunt/a_ofhref="+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_a> = "+code=min_vruntime"de=pse" clas1547="sref"15 446{
}
 449
cme_r> ;cme_r> ; *update_min_vruntime(struct cfs_rq<, un=igned f="+code=cfs_rq" cladelta_execs="sref">sedelta_exec_rq<_c#L449" id="374" class="line" n1551="sref"15s_rq)
2="sref"15 451{
cbandwidth_usedrq" class="sreff">cbandwidth_usedched() ||/!a> *vruntime = ;
 453
5="sref"15clastime" cl3=pse" clas515cla>1555air.c#L272" +code=sched_ent__accogt;_f">cme_r> ;cme_r> ;cfs_rq<, ode=cfs_rq" cladelta_execs="sref">sedelta_exec_rq<_"+code=min_vruntime"de=pse" clas1556="sref"15> 355
7="sref"15">se)
s>155fair.c#L367" id="L367" class="line" 15>8="sref"15 357{
cme_mmrottled_rq" class="sref">cfs_mmrottled_red(ntity *update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n15>9="sref"15>se);
}
cbandwidth_usedched() "+cod"+cod/a> *vruntime =  360
)
{
 424);
update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n1565="sref"15 364}
 365
cbandwidth_usedched() "+cod"+cod/a> *vruntime = )      1
 367
) \
 424)
pondame=mo src_upu orline" name="L424"> 424 370
 424p)
>1572air.c#L423" id="L423" class* load-balanct operations.line" name="L424"> 424{
 424cfs;
 *}
sedest_upu_rq<_c#L449" id="374" class="line" n1576="sref"15> 375
se)
s>157fair.c#L437" ntity *update_min_vruntime(struct update_min_vruntsrc_uef">u_rq<, uct update_min_vruntdest_uef">u_red"+code=min_vruntime"de=pse" clas1578="sref"15 377{
se);
 *update_min_vruntsrc_uef">u_rqupdate_min_vruntime(st[L450" class="lisrc_upus);
p);
p>1580air.c#L439" ct update_min_vruntdest_uef">u_redcupdate_min_vruntime(st[L450" class="lidest_upus="sref">sedest_upu_rq<]"+code=min_vruntime"de=pse" clas1581="sref"15> 380
cfs;
update_min_vruntsrc_uef">u_rq<) ||c#L431" id="L431" class="line" 1583="sref"15 382}
update_min_vruntdest_uef">u_red_"+code=min_vruntime"de=pse" clas1584="sref"15> 383

grp)
 424{
 *;
}
 */a>(struct /a>(str 389
 *update_min_vruntime(struct cfs_rqupdate_min_vruntime(st[L450" class="liupu_ofpdate_min_vruntupu_ofhref="+code=min_vrunme" class="sref">/a>(st)]"+code=min_vruntime"de=pse" clas1591="sref"15s_rq)
{
vruntime = }
 393
cme" class="sref">vruntime = )
/a>(sta> = vruntime = {
}
 424 397
vruntime = ) \
vruntime = 160iair.c#L425" id="L425" class="line" 1601="sref"16s_rq)
 424{
);
cfs_rq<_"+code=min_vruntime"de=pse" clas1603="sref"16s392}

)
{
}

) \
 *;
}
 */a>(struct /a>(str 411
 *update_min_vruntime(struct cfs_rqupdate_min_vruntime(st[L450" class="liupu_ofpdate_min_vruntupu_ofhref="+code=min_vrunme" class="sref">/a>(st)]"+code=min_vruntime"de=pse" clas16N3="sref"16 void
pse)
 424{
cme" class="sref">vruntime =  424}
);
cfs_rq<, 0_"+code=min_vruntime"de=pse" clas1617="sref"16> 416
 *cme" class="sref">vruntime = 
 418

);
 421
cme" class="sref">tmrottle_c">cme_red(ntity *update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n1623="sref"16**

 */a>(struct /a>(strcfs_rq<_"+code=min_vruntime"de=pse" clas16n5="sref"16*/
 *cbandwidthair.c*a> *cb_rq *vruntime =  425
 *)
 *{
);
 *vruntime = cfs_rq<_)]"+code=min_vruntime"de=pse" clas16fs="sref"16> > 0)
;
 424 431
rcu_read_loc"href=_"+code=min_vruntime"de=pse" clas1633="sref"16time;
walk_mg_tree_fromched(a> *vruntime =  */a>(st)"+code=min_vruntime"de=pse" clas1634="sref"16 433}
rcu_read_unloc"href=_"+code=min_vruntime"de=pse" clas1635="sref"16> 434
)
vruntime = h_nr_r> name_rq<"+code=min_vruntime"de=pse" clas16>7="sref"16 436{
 *8="sref"16ime);
update_min_vruntime(struct update_min_vruntqf">cfs_rqcfs_ofpdate_min_vruntu">cfs_ofched(a> *9="sref"16> < 0)
 424;
 440
;
}
 443
 *update_min_vruntqf">cfs_rq<, a> *a,
>1645air.c#L439" c#L428" ca href="+code=qref">update_min_vruntqf">cfs_rq = h_nr_r> name_rq< - *b)
>1646air.+code=min_vruntime" class="sref1647="sref"16 446{
update_min_vruntqf">cfs_rq = weight_rq<_c#L449" id="374" class="line" n1648="sref"16) < 0;
}
 449
)
2="sref"16 451{
/a>(sta> = nr_r> name_rq< - *;
 453
vruntime = 5="sref"16clastime" cl3=pse" clas516cla>1655air.c#L272" +code=sched_entuntime" class="sref">vruntime = /a>(sta> = cloc"href"+code=min_vruntime"de=pse" clas16>6="sref"16> 355
raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas16>7="sref"16">se)
s>165fair.c#L437" a> *selist_adset3il_rcuhref="+cod"+code=min_vrunde=cme" class="sref">vruntime = cb_rq = cme" class="sref">tmrottled_uef">u_red_"+code=min_vruntime"de=pse" clas16>8="sref"16 357{
raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas16>9="sref"16>se);
}
 360
cme" class="sref">gt;mrottle_c">cme_red(ntity *update_min_vruntime(struct cfs_rq<_c#L449" id="374" class="line" n16 2="sref"16s_rq)
{
 */a>(struct /a>(strcfs_rq<_"+code=min_vruntime"de=pse" clas16 4="sref"16cfs);
 *cbandwidthair.c*a> *cb_rq *vruntime = }
 * 365
)      1
 367
) \
 *vruntime = cfs_rq<_)]"+code=min_vruntime"de=pse" clas167s="sref"16NULL)
 370
 *vruntime = p)
>167fair.c#L272" +code=sched_entraw_spin_loc"" class="sref">raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1673="sref"16 372{
cb_rq = /a>(sta> = cloc"href -a9" class="line"untime" class="sref">vruntime = cfs;
selist_del_rcuhref="+cod"+code=min_vrunde=cme" class="sref">vruntime = }
raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1676="sref"16> 375
vruntime = se)
s>167fair.c#L367" id="L367" class="line" 1678="sref"16 377{
d /a>(st_"+code=min_vruntime"de=pse" clas1679="sref"16>se);
 424p);
p>1680air.c#L439" ct walk_mg_tree_fromched(a> *vruntime = /a>(st)"+code=min_vruntime"de=pse" clas1681="sref"16> 380
cfs;
cme" class="sref">vruntime = weight_rq<_c#L449" id="374" class="line" n1683="sref"16 382}
 383

vruntime = h_nr_r> name_rq<"+code=min_vruntime"de=pse" clas1686="sref"16>grp)
{
;
}
 389
 *update_min_vruntime(strcfs_ofpdate_min_vruntu">cfs_ofched(a> *)
{
 *vruntime *}
vruntime = h_nr_r> name_rq * 393
)
cfs_mmrottled_rq" class="sref">cfs_mmrottled_red("+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_)c#L434" id="L434" class="line" 1696="sref"16 395{
}
 397
) \
1700air.c#L439" c#L303" a> */a>(sta> = nr_r> name_rq< + *)
{
 424}
/a>(sta> =  */a>(sta> = srlehref "+cod"+cod/a> */a>(sta> =  name" class="sref">nr_r> name_rq<_c#L449" id="374" class="line" n17s4="sref"17s 393
 *de=set30"href="+code=min_vrunme" class="sref">/a>(sta> = )
{
}
 ; ; *cbandwidthair.c*a> *cb_rq<,c#L425" id="L425" class="line" 17s8="sref"17s 397
);
remainameched, a> *);
) \
;
 *update_min_vruntime(struct cfs_rq<"+code=min_vruntime"de=pse" clas1711="sref"17 410}
 * ; ;remainameched"+code=min_vruntime"de=pse" clas1712="sref"17> 411
 void
rcu_read_loc"href=_"+code=min_vruntime"de=pse" clas1714="sref"17>pse)
selist_for_each_ clry_rcuched(a> *vruntimecb_rq = cme" class="sref">tmrottled_uef">u_red,c#L425" id="L425" class="line" 1715="sref"17 414{
}
/a>(struct /a>(strcfs_rq<_"+code=min_vruntime"de=pse" clas1717="sref"17> 416

raw_spin_loc"href="+cod"+code=min_vrunme" class="sref">/a>(sta> = loc"href_"+code=min_vruntime"de=pse" clas1719="sref"17> 418
cme_mmrottled_rq" class="sref">cfs_mmrottled_red("+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_)c#L434" id="L434" class="line" 172s="sref"17nline
);
 421
vruntime = r> ;
remainameched)c#L434" id="L434" class="line" 1724="sref"17s:
 *remainameched"+code=min_vruntime"de=pse" clas17n5="sref"17*/
remainameched - * 425
)
vruntime = r> ; *{
vruntime =  ;);
);
 > 0)
 424;
vruntime = r> ; = a0)c#L434" id="L434" class="line" 1732="sref"17> 431
cme" class="sref">gt;mrottle_c">cme_red("+code=min_vrunde=cfs_rq" class="sref">cfs_rq<_"+code=min_vruntime"de=pse" clas1733="sref"17time;
}
 434
raw_spin_unloc"href="+cod"+code=min_vrunme" class="sref">/a>(sta> = loc"href_"+code=min_vruntime"de=pse" clas1736="sref"17time)
{
remainameched)c#L434" id="L434" class="line" 17>8="sref"17ime);
9="sref"17> < 0)
;
rcu_read_unloc"href=_"+code=min_vruntime"de=pse" clas1741="sref"17> 440
;
remainameched"+code=min_vruntime"de=pse" clas1743="sref"17 442}
 443
a,
>1745air.c#L423" id="L423" clas/*line" name="L424"> 424b)
>174fair.c#L296" id="L296" clas * Re>ponsible for L4fillame=a t30"_grogp's bandwidth and gt;mrottlame=itsline" name="L424"> 424{
cfss as appropriate. If ;mere has been no activity within ;menlid 424cba> = srle isline" name="L424"> 424}
 424 449
 424)
cperiod_;cperiod_; *cbandwidthair.c*a> *cb_rq<,"int"L450" class="liovhrr> rq" class="srefovhrr> ched)c#L434" id="L434" class="line" 17>2="sref"17 451{
;
);
 ; ; * ; 453
srlehref = 1, a> *175fair.#L374" id="L374" class="line" n17>6="sref"17> 355
raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas17>7="sref"17">se)
s>175fair.c#L437" a#L424" id="L424" clas/* no need co co ; 424{
cb_rq = 9="sref"17>se);
out_unloc"_red"+code=min_vruntime"de=pse" clas176s="sref"17 359}
 360
 *cb_rq = cme" class="sref">tmrottled_uef">u_red_"+code=min_vruntime"de=pse" clas17 2="sref"17s_rq)
 424{
srlehref = "+code=min_vrunde=cbrq" class="sreff">cb_rq = srlehref "+cod"+cod/!a> *);
cb_rq =  *}
 365
 424)      1
srlehref)c#L434" id="L434" class="line" 1768="sref"17> 367
out_unloc"_red"+code=min_vruntime"de=pse" clas1769="sref"17se) \
)
 ; ;cb_rq<_"+code=min_vruntime"de=pse" clas1771="sref"17> 370
p)
>1772air.c#L430" id="!a> *{
 424cfs;
 *cb_rq = srlehref }
out_unloc"_red"+code=min_vruntime"de=pse" clas1776="sref"17> 375
se)
s>177fair.c#L367" id="L367" class="line" 1778="sref"17 377{
 424se);
 *cb_rq =  rq" class="srefovhrr> ched"+code=min_vruntime"de=pse" clas178s="sref"17">p);
p>178iair.c#L425" id="L425" class="line" 1781="sref"17> 380
 424cfs;
 424}
 424 383
u isline" name="L424"> 424
 .line" name="L424"> 424grp)
 424{
 *cb_rq = ;
 ;cb_rq =  ;}
 *cb_rq =  389
)
 424{
 424}
 424 393
 424)
 424{
 *}
raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1798="sref"17> 397
cba> = loc" while distribu ame=bandwidth *"line" name="L424"> 424) \
 * ; ; *cb_rq<,"ode=cfs_rq" clar> ; ; 424) \
 ;)
raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas18s2="sref"18s391{
}
cb_rq = cme" class="sref">tmrottled_uef">u_red_"+code=min_vruntime"de=pse" clas18s4="sref"18s 393
)
{
 ; 424}
 *cb_rq =  ; ;
 424) \
 424;
 424}
 424 411
 424 void
 424pse)
cb_rq = srlehref {
out_unloc"_red:c#L453" id="L453" class="line" 1816="sref"18 415}
srlehref)c#L434" id="L434" class="line" 1817="sref"18> 416
cb_rq = t
raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1819="sref"18> 418

srlehref"+code=min_vruntime"de=pse" clas1821="sref"18xec);
 421

u won'tndona h quota below this amogt; *"line" name="L424"> 424
);
cfs_r> ;cfs_r> ;
 424 425
);
)
 424{
);
cbandwidth"slac"cperiodhref );
 > 0)
 424;
 ; *cbandwidthair.c*a> *cb_rq<,"+code=sched_entdcfs);
 431
;
 * *cb_rq = }
);
remainameched"+code=min_vruntime"de=pse" clas1835="sref"18> 434
)
 name a quota mefresh is already=ocfur"ame=*"line" name="L424"> 4247="sref"18 436{
 name" class="sref">hr; namehref=a> *8="sref"18ime);
9="sref"18> < 0)
;
 424 440
 *remainameched  *hr; *;
remainameched &l= a9" class="line"min_expirerq" class="srefmin_expirehref)c#L434" id="L434" class="line" 1843="sref"18 442}
 443
a,
>1845air.c#L439" return 0"+code=min_vruntime"de=pse" clas1846="sref"18f">b)
>184fair.c#L374" id="L374" class="line" n1847="sref"18 446{
cslac"cbandwidthrq" class="srefc#Lrt_f">cslac"cbandwidthhref=ntity *cbandwidthair.c*a> *cb_rq<)c#L434" id="L434" class="line" 1849="sref"18 448}
 449
cbandwidth"slac"cperiodhref +code=cfs_rq" clamin_bandwidth"expirL42o rq" class="srefmin_bandwidth"expirL42o href"+code=min_vruntime"de=pse" clas1851="sref"18s_rq)
2="sref"18 451{
 424;
 ; *cb_rq<,"+code=sched_entmin_leftrq" class="srefmin_leftched_)c#L434" id="L434" class="line" 1854="sref"18> 453
185fair.#L374" id="L374" class="line" n18>6="sref"18> 355
cb_rq =  4247="sref"18">se)
s>185fair.c#L437" c#L272"                 cbandwidth"slac"cperiodhref_)"+code=min_vruntime"de=pse" clas1858="sref"18 357{
9="sref"18>se);
}
 ; 424 360
cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 18 2="sref"18s_rq)
{
 *cbandwidthair.c*a> *cb_rq<  *vruntime = );
);
 ; ;vruntime = r> ;cfs_r> ;cfs_r> ;}
 365
 ; ;)      1
 367
) \
 *raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas187s="sref"18NULL)
cb_rq =  370
vruntime =  ;cb_rq =  ;p)
>1872air.c#L430" 30"     cb_rq =  ; ;{
cfs;
 = loc", defhr gt;mrottlame=usame=a t 424}
cb_rq = de=sef">cbandwidth"slic af_cfs_rq_listcbandwidth"slic href=)c"+cod"+cod+code=min_vruntime"de=pse" clas1876="sref"18> 375
cb_rq = cme" class="sref">tmrottled_uef">u_red_)c#L434" id="L434" class="line" 1877="sref"18">se)
s>187fair.c#L437" c#L272"         9" class="line"c#Lrt_f">cslac"cbandwidthrq" class="srefc#Lrt_f">cslac"cbandwidthhref=a> *cb_rq<)d+code=min_vruntime"de=pse" clas1878="sref"18 377{
se);
 *raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas188s="sref"18">p);
p>188iair.c#L425" id="L425" class="line" 1881="sref"18> 380
 424cfs;
 *vruntime = r> ; * ; ;}
 383

cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 1886="sref"18>grp)
{
cbandwidth"usedrq" class="sreff">cbandwidth"usedhref=))c#L434" id="L434" class="line" 1888="sref"18NULL;
}
 389
cme" class="sref">vruntime = vruntime = nr_r> name_rq<)c#L434" id="L434" class="line" 1891="sref"18s_rq)
{
}
cfs_r> ;cfs_r> ;cfs_rq<)d+code=min_vruntime"de=pse" clas1894="sref"18> 393
)
{
 424}
 424 397
 = loc"s co gt;mrottle ;meir L4spective f">cfss.line" name="L424"> 424) \
 424) \
de=sef">cslac"c;cslac"c; *cbandwidthair.c*a> *cb_rq<)c#L434" id="L434" class="line" 1901="sref"19s_rq)
{
 * ; ;cbandwidth"slic af_cfs_rq_listcbandwidth"slic href=)d+code=min_vruntime"de=pse" clas1903="sref"19s392}
);
);

)
 424{
 ; *cb_rq<,"+code=sched_entmin_bandwidth"expirL42o rq" class="srefmin_bandwidth"expirL42o href))c#L434" id="L434" class="line" 1907="sref"19s396}

) \
 *raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas191s="sref"19NULL;
cb_rq = cb_rq = lic af_cfs_rq_list}
cb_rq =  411
cb_rq =  void
pse)
);
cb_rq =  ;{
 *raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1916="sref"19 415}
 416
 ; ;
 418

 ; ; *cb_rq<,"ode=cfs_rq" clar> ; ;);
);
 421
 *raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1923="sref"19**
cb_rq =  ;
 *cb_rq =  ; ;
 *raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas1926="sref"19> 425
)
{
 424);
 424 > 0)
 424;
 ; 424 431
 424;
 *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 1934="sref"19 433}
 434
cbandwidth"usedrq" class="sreff">cbandwidth"usedhref=))c#L434" id="L434" class="line" 1936="sref"19time)
7="sref"19 436{
8="sref"19ime);
 = put() path *"line" name="L424"> 4249="sref"19> < 0)
cme" class="sref">vruntime = vruntime = vur"_rq<)c#L434" id="L434" class="line" 194s="sref"19time;
 440
;
 424}
cfs_tmrottled_rq" class="sref">cfs_tmrottledhref=ct cfs_rq<))c#L434" id="L434" class="line" 1944="sref"19> 443
a,
>194fair.#L374" id="L374" class="line" n1946="sref"19f">b)
>1946air.c#L445" +#L424" id="L424" clas/* up ; 424{
 *cfs_r> ;cfs_r> ;cfs_rq<, 0_"+code=min_vruntime"de=pse" clas1948="sref"19) < 0;
cfs" class="sref">vruntime = r> ;}
 *cme" class="sref">tmrottle_uef">u_red=ct cfs_rq<)d+code=min_vruntime"de=pse" clas195s="sref"19> 449
)
2="sref"19 451{
cfs's from put_prev_ clity() *"line" name="L424"> 424;
cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 1954="sref"19> 453
1955air.c#L272" id="!a> *cbandwidth"usedrq" class="sreff">cbandwidth"usedhref=))c#L434" id="L434" class="line" 19>6="sref"19> 355
7="sref"19">se)
s>195fair.c#L367" id="L367" class="line" 1958="sref"19 357{
cme" class="sref">vruntime = vruntime = r> ;9="sref"19>se);
}
 360
 424)
 nameline" name="L424"> 424{
 424);
 424}
cfs_tmrottled_rq" class="sref">cfs_tmrottledhref=ct cfs_rq<))c#L434" id="L434" class="line" 1966="sref"19> 365
)      1
 367
cme" class="sref">tmrottle_uef">u_red=ct cfs_rq<)d+code=min_vruntime"de=pse" clas1969="sref"19se) \
)
 370
);
cperiodrq" class="srefdefaul;_f">cperiod_red= id=)d+code=min_vruntime"de=pse" clas1972="sref"19f">p)
>1972air.c#L426"int"L450" class="lido_>de=sef">cperiod_;cperiod_; *cbandwidthair.c*a> *cb_rq<,"int"L450" class="lioverr> rq" class="srefoverr> _rq<)d+code=min_vruntime"de=pse" clas1973="sref"19 372{
de=sef">cslac"c;cslac"c; *cbandwidthair.c*a> *cb_rq<)d+code=min_vruntime"de=pse" clas1974="sref"19>cfs;
}
 *de=sef">cslac"c;cslac"c; * * 375
se)
s>197fair.c#L437" ntity *cbandwidthair.c*a> *cb_rq< <#L446" id="L446" class="line" n1978="sref"19 377{
 *cbandwidthair.,"+code=sched_entslac"c;se);
 *cslac"c;cslac"c; *cb_rq<)d+code=min_vruntime"de=pse" clas198s="sref"19">p);
p>198iair.c#L425" id="L425" class="line" 1981="sref"19> 380
cfs;
}
 383
 *de=sef">cperiod_;cperiod_; * *
grp)
 *cbandwidthair.c*a> *cb_rq< <#L446" id="L446" class="line" n1987="sref"19 386{
 *cbandwidthair.,"+code=sched_entperiod_;;
}
 389
srlehref )
{
}
 393
 *cb_rq = )
{
 *}
 397
) \
 *srlehref cperiod_;cperiod_; *cb_rq<,"L450" class="lioverr> rq" class="srefoverr> _rq<)d+code=min_vruntime"de=pse" clas20ss="sref"20ss="a>) \
) \
code=min_vruntime"de=pse" clas20s1="sref"20s_rq)
{
srlehref ? 9" class="line"HRTIMER_NORESTARTrq" class="srefHRTIMER_NORESTARThref : 9" class="line"HRTIMER_RESTARTrq" class="srefHRTIMER_RESTARThref"+code=min_vruntime"de=pse" clas20s3="sref"20s392}

)
 *cbandwidthair.c*a> *cb_rq<)c#L434" id="L434" class="line" 20s6="sref"20s395{
}
 *raw_spin_loc"_inithref="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas20s8="sref"20s 397
cb_rq = ) \
 *cb_rq = ;
 *cb_rq =  *cperiodrq" class="srefdefaul;_f">cperiod_red=_)"+code=min_vruntime"de=pse" clas20N1="sref"20 410}
 411
 *cb_rq = cme" class="sref">tmrottled_uef">u_red_"+code=min_vruntime"de=pse" clas20N3="sref"20 void
hr;cb_rq = pse)
cb_rq = de=sef">cperiod_;cperiod_;{
 *hr;cb_rq = }
cb_rq = de=sef">cslac"c;cslac"c; 416

 418
 ; ; *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 202s="sref"20nline
);
 *cme" class="sref">vruntime =  421
 *vruntime = tmrottled_list_red_"+code=min_vruntime"de=pse" clas2023="sref"20**


cba> = loc", may release to reprogram t 424 425
cbandwidthrq" class="sref__c#Lrt_f">cbandwidthhref=ntity *cbandwidthair.c*a> *cb_rq<)c#L434" id="L434" class="line" 2027="sref"20time)
{
 424);
 424 > 0)
 424;
 424 431
 424;
 424}
 *hr;cb_rq = 5="sref"20> 434
 *raw_spin_unloc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas20>6="sref"20time)
cba> = loc" is available while we wait *"line" name="L424"> 424{
cb_rq = 8="sref"20ime);
 < 0)
 *raw_spin_loc"href="+cod"+code=min_vrunde=cbrq" class="sreff">cb_rq = loc"href_"+code=min_vruntime"de=pse" clas204s="sref"20time;
 424 440
cb_rq = ;;
}
 443
a,
>20t5air.c#L439" a> *cb_rq = ;b)
>20t6air.c#L445" L450" class="lic#Lrt_bandwidth";cb_rq = cb_rq = {
}
cbandwidthrq" class="srefdec#roy_f">cbandwidthhref=ntity *cbandwidthair.c*a> *cb_rq<)c#L434" id="L434" class="line" 205s="sref"20> 449
)
 *cb_rq = {
 *cb_rq = ;
 453
20>5air.c#L426" id="9" class="line"gt;mrottle_offl3=p_ref"fsss);
 */a>(struct /a>(st)c#L434" id="L434" class="line" 2056="sref"20> 355
se)
s>20>fair.c#L437" ntity *update_min_vruntime(struct cfs_rq<"+code=min_vruntime"de=pse" clas2058="sref"20 357{
se);
 *cme" class="sref">for_each_leaf_c">cmehref=a> */a>(st,"L450" class="lide=cfs_rq" class="sref">cfs_rq<)sc#L446" id="L446" class="line" n206s="sref"20 359}
 *cbandwidthair.c*a> *cb_rq< < L450" class="litg_f">cbandwidthrq" class="sreftg_f">cbandwidthhref=a> *vruntime = tghref)"+code=min_vruntime"de=pse" clas2061="sref"20> 360
)
cme" class="sref">vruntime = {
);
}
 424 365
 424)      1
 424 367
 424) \
 *cme" class="sref">vruntime = r> ;cb_rq = )
cfs_tmrottledhref=ct cfs_rq<))c#L434" id="L434" class="line" 20N1="sref"20> 370
 *cfs_rq<)"+code=min_vruntime"de=pse" clas2072="sref"20f">p)
>20N2air.c#L430" c#L374" id="L374" class="line" n2073="sref"20 372{
cfs;
}
 424 375
se)
s>20N7air. id="9" class="line"accogt;_f">cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<, unsigned lome=9" class="line"delta_execrq" class="srefdelta_exec_rq<)scc#L374" id="L374" class="line" n2078="sref"20 377{
cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<)scc#L374" id="L374" class="line" n2079="sref"20>se);
 *update_min_vruntime(struct cfs_rq<)scc#L374" id="L374" class="line" n208s="sref"20">p);
p>20">air.c#L426"9" class="line"__always_ina href_cfs_rq_list<__always_ina hrair." id="9" class="line"L4turn_f">cfs_r> ;cfs_r> ; *update_min_vruntime(struct cfs_rq<)scc#L374" id="L374" class="line" n2081="sref"20> 380
cfs;
cfs_tmrottledhref=ntity *update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 2083="sref"20 382}
 383

grp)
{
update_min_vruntime(struct cfs_rq<)c#L434" id="L434" class="line" 2088="sref"20NULL;
}
 389
)
{
 *tghref,c#L431" id="L431" class="line" 2093="sref"20 392}
 393
5="sref"20s_rq)
{
7="sref"20 396}
8="sref"20> 397
 *cbandwidthair.c*a> *cb_rq<)scc#L374" id="L374" class="line" n2099="sref"20rq) \
21ssair.#ifdef"L450" class="liCONFIG_FAIR_GROUP_SCHEDrq" class="srefCONFIG_FAIR_GROUP_SCHEDair.+code=min_vruntime"de=pse" clas21s1="sref"21s_rq)
 ; ; *update_min_vruntime(struct cfs_rq<)scc#L374" id="L374" class="line" n21s2="sref"21s391{
}

 *cbandwidthair.c*a> *cbandwidthrq" class="sreftg_f">cbandwidthhref=ntity *tghref)c#L434" id="L434" class="line" 21s5="sref"21s_rq)
{
}

cbandwidthrq" class="srefdec#roy_f">cbandwidthhref=ntity *cbandwidthair.c*a> *cb_rq<)scc#L374" id="L374" class="line" n21s9="sref"21sq) \
);
 */a>(struct /a>(st)scc#L374" id="L374" class="line" n211s="sref"21NULL;
}
 424 411
 424 void
 424pse)
 424{
 424}
 416

 */a>(struct /a>(st, ntity * 418

 * = );
 *update_min_vruntime(struct cfs_rq<  421
 424
task_mehref=ct /a>(st)"+code=min_vruntime"de=pse" clas2124="sref"21s:

cfs_rq" class="sref">cfs_rq =  425
);
cfs_rq<, ct )
);
 =  = {
);
);
 > 0)
;
/a>(sta> =  431
/esde=setaskhref=ct ;
}
5="sref"21> 434
)
 424{
 424);
 ; 424 < 0)
 424;
/a>(sta> =  440
);
;
 424}
/a>(st,"L450" class="lideltarq" class="srefdelta_rq<)"+code=min_vruntime"de=pse" clas2144="sref"21> 443
a,
>2145air.c#L374" id="L374" class="line" n21t6="sref"21f">b)
>2146air.+code=min_vruntime" class="sref21t7="sref"21 446{
 424 424}
 name is low enoughaine" name="L424"> 424 449
 424)
 424{
 */a>(struct /a>(st)ame="L424"> 424;
 453
 * */a>(sta> = 215fair.#L374" id="L374" class="line" n2156="sref"21> 355
/a>(st) ||a9" class="line"uur"_rq" class="srefur"_rq = (st)ame="L424"> 424se)
s>215fair.c#L437" c#L272" L4turnd+code=min_vruntime"de=pse" clas2158="sref"21 357{
se);
 =  name_rq" class="srenr_r> nameair.c&l= a 424}
/a>(st,"L450" class="lidur"_rq" class="srefur"_rq<)"+code=min_vruntime"de=pse" clas2161="sref"21> 360
)
 424{
 424);
 */a>(struct /a>(st, ntity * 424}
 365
)      1
 367
 */a>(struct /a>(st)ame="L424"> 424) \
)
 370
p)
>2172air.ame="L424"> 424{
 424cfs;
 name isline" name="L424"> 424}
 424 375
 424se)
s>217fair.c#L296" id="L296" clas *"line" name="L424"> 424{
 424se);
 */a>(struct /a>(st, ntity *(st)ame="L424"> 424p);
p>218 air.c#L446" id="L446" class="line" n2181="sref"21> 380
 *update_min_vruntime(struct cfs_rq<"+code=min_vruntime"de=pse" clas2182="sref"21>cfs;
 * = }
 383

 424grp)
{
cfs_rq< ;
cfs_rq<, ct (st)"+code=min_vruntime"de=pse" clas2189="sref"21 388}
 389
 424)
cfs_rne" name="L424"> 424{
 424}
cfs we will_rne" name="L424"> 424 393
 name incre" cl below.line" name="L424"> 4245="sref"21s_rq)
 424{
cfs_tmrottledhref=ct cfs_rq<))c#L434" id="L434" class="line" 21>7="sref"21 396}
8="sref"21> 397
cfs_rq" class="sref">cfs_rq = 9="sref"21rq) \
2203air.c#L430" 30"     9" class="line"flaglef_cfs_rq_list<"lagl>(st )
{
 424}

cfs_rq< )
 *cfs_rq" class="sref">cfs_rq = {
}
cfs_tmrottledhref=ct cfs_rq<))c#L434" id="L434" class="line" 22s8="sref"22s 397
) \
;
cfs_rq<, 0)"+code=min_vruntime"de=pse" clas2211="sref"22 410}
);
cfs_rq<)"+code=min_vruntime"de=pse" clas2212="sref"22> 411
 void
pse)
{
 */a>(st)"+code=min_vruntime"de=pse" clas2216="sref"22 415}
/a>(st)"+code=min_vruntime"de=pse" clas2217="sref"22> 416

 418

);
 424 421
 name isline" name="L424"> 424
 424
 424
 424 425
 */a>(struct /a>(st, ntity *(st)ame="L424"> 424)
{
 *update_min_vruntime(struct cfs_rq<"+code=min_vruntime"de=pse" clas2229="sref"22ime);
 * =  > 0)
(st "+coda9" class="line"DEQUEUE_SLEEPef_cfs_rq_list;
 431
;
cfs_rq< }
/a>(st, nti439" c#L428" a> * *a> = 113="sref"21 vorct  3>219iair.c#L445" id="L445o#L429vruntime"de=pse" clas2204="sref"22s395{
)
 4242
 424{
);
2192air.c#L296" id="L296" clas                 *_rne" name="L424"> 424 424214fair.c#L296" id="L296" "         * doesn> case of encogt;erame=a tmro6" cl f">cfs we will_rne" name="L424"> 424 389
tghref)"+code=min_vruntime"de=pse" clas2206="sref"22s395{
}
cfs_tmrottledhref=ct cfs_tmrottledhref=ct /a>(st, nti439" c#L428" a> * 443
 vorct  3>21>21>6air.c#"kerne21pa* calodeit has osk i +cosriescfssidescus>222fair.c#L296" id="L296" clas * update th se" clas222145="sref"21f">a,
 nameair.++"+code=min_vruntime"de=pse" _cde=se clityhref=ct  431
>2146air.+cod2=min_24tuntifs_tmrottled_rq" class="/a> vorct  3>219iair.c#L445" id="L445o#L429vruntime"de=ss=2148="s2ef"21) < 0;
 424}
 424 4242/a> 44925"sref">/a>(sta> =  = ;
}
 *
;
cfs_tmrottledhref=ct /a>(struct task_mehref=ct pse)
gppdate_.a> vorct  3>21>aclassre-air.c#L4mroref=hat js ne2reffnt *22fair.c#L296" id="L296" clas * update th"s2144="sr2>(sta> = cfs_rq<"+code=min_vruntime"de" clas223s="srpa* casreffntifs_ofhref=ct ;
cfs_tmrottledhref=ct cfs_tmrottledhref=ct 2st)am25tuntifs_tmrottled_rq" class="lihr;se2
s>215f2ir.c#2437" c#L272" Lhed_entcclass="sref">cflist > 0)
 nam2_rq" class="sr class="lihr;(st "+coss="sref">2a>(st,"L450" class="lidur2_rq" 26;
 431
;
 424cfs_tmrottledhref=ct /2>(st,26s="sref">/a>(st, nti439" c#L428" a> *(struct 5="sref"21s_rq)
 424{
}
cfs_tmrottledhref=ct  365
/a>(st)"+code=min_vruntime"d class="li2e"hr;cfe"de=pse" clas22s9="sref"22sq) \
;
/a>(struct cfs_rq<, 0)"+code=min_vruntime"de=pse" clas2211="sref"22 410}
) \
(st )
217 air.c#L374" id="L374" class="2ine" n21N12"sref"21> 370
 void
>2172air.ame=2L424"27s_rq< 2214air.c#L303" id="!a> clps>2214air.cef="+come" class="sref">/a>(st)"+code=min_vruntime"de=pse" clas2216="sref"22 4n class=2124="sref"21>cfs;
 namehref=ct /a>(st)"+code=min_vruntime"de=pse" clas2216="sref"22 4 class=2172="sref"21 374}
 424<2="L424"> 42427rne21 36>2165air.c#L446" id="L446" cl2me task in2o cme rbtree:line" name="2424">2424 424 4242165air.c#L446" id="L446" cl2mclass="li2>217fair.c#L296" id="L2962 clas27&>2148air.c#L296" id="L296"21>Used instef=hof sourcehref=o"L296we knowecmaskypeclas0 *22fair.c#L296" id="L296" clas * update tha> */a>pulas22s9="sref"22sq/a>pulas2ef="+constf = "+cod"+code=min_class="line" 2093="20 392}
 431
 3>2181air.c2L439"2ntity *cfs_rq<, 0)"+codelass="line" 2093="20 392cfs_tmrottledhref=c89las21        *22fair.c#L296"class"+cosref_c9ss="lr_eac1s/*lief"22s_rq)
)
217 air.c#L374" id="ctah="kerne21> 3>21"4air.c#L323" L42824="sref"22s:
 3>219iair.c#L445" id="L445o#L42185="sref"21*/
2175air.c#LRity 3>219iair.c#L445" id="L445o#L421"> 424code=oncfs_rq" class="sre2ncfs>286="sref"21> 375
atsdecrea 424 4242148air.c#L296"We wanBias under-estimc#L296" f=hofUsemig296" ied instid="odecrea 424<="+cosref_2fs_rq_list214fair.c#L296"balanst =>puerv96"velysdecrea 424<
)
 *cfs_rne" name="L424"> 429_min_vrunthr; 2193="sref"21 392}
/a>(st)ame=ine" name="L424"> 424 425
cfs_rq<, 0)"+codelass="line" masweighl="lie"de=pse" cl-->cfs_tm/a> 393/se"20in_ef">cfs_rq<, 0)"+codelass="line" masweighl="lie"de=pse" cl-->cfs_tm/85="sref"2" cl below.line" name="L424"> 429" a> *cfs_rq" class="sreef="kerne22 39>2196air.c#L445" id="L245id=2+code=sched_en= /se"20in_ef">cfsLB_BIAS_cfs_rqweighlinLB_BIASspan class=2196="sref"21 395{
 *cfs_tm/d="L446" ckerne21> 3>2198air.c#L4452 c#L222" +" class="line"f">cfs_rq" class="sr3f">cfs_rq<3> = 2miehref=ct /a>(st53
cfs_t3) \
}

 3>219iair.c#L445" id="L445o#L43c#L303"   3     +" class="line"de=cf3_rq" 30atsdecrea 4243)
2205air.c#L4393 c#L430a href="kerne21 37>2175air.c#askypeclas0 *22fair.c#L296" id="L296" cl3f">cfs_rq<3> = /a>pulas22stargetiqwei"de=ps2ef="+constf = "+cod"+code=min_class="line"ef=ntity * 3  * 424 425
cfs_rq<, 0)"+codelass="line" masweighl="lie"de=pse" cl-->cfs_t3"sref"22s 397
/se"20in_ef">cfs_rq<, 0)"+codelass="line" masweighl="lie"de=pse" cl-->cfs_t3 href="ker3e22NUL>2213air.c#L430" 303     31in_vr2nthr;26ine"flaglef_cfs_rq_list<3href="kern322 41>2211air.c#L430"    3    93 class="line"u= /se"20in_ef">cfsLB_BIAS_cfs_rqweighlinLB_BIASspan class=2196="sref"21 395{
 *cfs_t3ime"de=pse3 clas2212="sref"22> 411
)
217 air.c#L33ref="kerne32221fair.c#L453" id="3453" 3lass="line" 22tity */a>(st53
cfs_t32 414{3}
27rne21 36>2165air.c#L446"3tepdate_mi3_vrunthr;{
 41631_min_vrunthr; 3ne"set_nex3_buddyrq" class="srefcet_3ext_b32ate_min_vrunttity *cfs_rq<, 0)"+codelass="line" 2093="20 392cfs_t3ityrq" cla3s="srefcde=se clity>(stru3t 
 424<3pan class=2222="sref"22> 321{
 4243/a>
vrunthr; 3nef="kerne3ame="L424"> 424 * 424 425
cfs_rq<, 0)"+codelass="line" masweighl="lie"de=pse" cl-->cfs_t3s * update3the n cl a>se>21>fair.c#L439" id="+code=sched_ehref=ct /a>(st53
cfs_t3s6="sref"23 *27rne21 36>2165air.c#L446"3+coppdate_3in_vruntphref, int"L450" 3lass=3liflaglef_cfs_= 27rne21 36>2165air.c#L446"3+2232_min_2runth2637" c#L2tity */a>(st53
se>21>fair.c#L439" id="+code=sched_masweighl="lie"de=pse" cl-->cfs_t3q" class="3refcde=se clity>(struct <3 href33dyhref=ntity *cfs_t3qref"22nli3coda9" class="line"DEQUEU3_SLEE3ef_cfsunthr;
cfs_rq<)"+code=min_vrun3c#L437" c#3272" +" class="line"de=cf3_rq" 33/a>)
217 air.c#L33"srefdeque3ec clity6runtief="+rkerne3     3f="+coL424"> 424
2164air.9" class="line"hr; *3* 3 39vruntime"3e=pse" clas2204="sref"22s395 *update_min_vruntime(struct cfs_rq<"+code=min_vruntime"de=pse" clas2229="sref"22ime);
 *(st)ame="L424"> 424)
;
 * 4234dyhref=ntity *2424 * *cfs_rq<)"+code=min_vrun3  4313 pse)
mie_vcodtimi_copm5" nyhref=ct 222fair.c/a>);
 *3* 443;
a<3a>,
 > *222fair.c/a>);
 *)
32146a3r.+cod2=min_24} while;
;
222fair.c/a>);
 *2169air.c#L446" id="L3s * update3th"L296" cla2 * co matt r3line"35ist */a>(stru3t /2>(st,26s="sref">/a>(st, nti439"3s * update3th"s2144="sr2>(sta> = 2424/2>(st,26s="sref">/a>(st, nti439"3s * update3co"se" clas22=  375
222groupdif#L374" id="L374" class="line" n21N2=3 an class=3_v21">se2
 = 214fair.c#L296"Addassre-airto a group4doesne21> 3>make a group4heavier, buta h21 ause clasr.c#dif#L374" id="L374" class="line" n21N2=3=a>2a>(st,"L450"3class36.c#L425" id="L425" class="line h21 arcudur"r*cre2=iflas2e2=cfs_sdecrea 4243/a>
 4>2222air.cdecrea 4243/ 424
 4243/href="+co3cotruct cf>217fair.c#onL4mror@="l nquefs_ultsas2ea iotalmaddi6" ie(subtract" i)fUse@wsr* incrdecrea 4243/ * update3*(st3uct <36a href="kerne21 37>2175air.c#L2otalmgroup4e"dequsdecrea 4243/ * update3 2pan class=2165="sref"213364 375
 4243/ 36536.+code=min_vruntime" class="s G"ve2ea cod>21>6ae"dequrf=stribut" ie(rw_i)rceh h21 ompute a e=cfs_rqcrea 4243/an class=3"d class="li2e"hr;2148air.c#L296"f=stribut" ie(s_i)rusasseased. We memove cme task from cme rbtre3 href="ker3e2" class="s2ef">/a>(stru3t 37ime"de=pse" clas219s="sref"2mf  s_iyhrrw_i / \Sumrrw_j2href=24h_nr_r>                              (1)ased. We memove cme task from cme rbtre3  * update3s=ne" n217s=2sref"21NULL<3a>)
<37.c#L425" id="L425" class="linased. We memove cme task from cme rbtre3 a>
 373
3a href="kerne21> 3>217fair.#2mfSuppos" clahaver4 CPU name isline" name=3ref="kerne32)
32172a37pan>
22s,"f=stribut> name isline" name=3rhref="+co3 4n class=2124="sref"21>c3s37}37a href="kerne21 37>2175air.c#ased. We memove cme task from cme rbtre3  * update3<2="L424"> 424 375
217fair.c#L396" i3="L2962 clas27&>2148air.c#L2c#ased. We memove cme task from cme rbtre3s * update3tha> *214fair.c#L296"As per wake_aff2="()rcee21> 6" i6" iestd="L2 * dof=hofUsetwo CPU 42430 39>20>3a3r2_vruntphre2, int"L450" 3lass=38ime"de=pse" clas219s="sref"2mfsplasuid="* icod#onLnque* doCPUincr wakerhrtmf encogt i), claned="* decrea 42430 * update3="80
 42430a>
 4243q)
2223decrea 4243qhref="+co3="kerne21> 3>21"4air.c#L333" L43824="sref"22s:
 4243q * update31*/
2175air.c#Lof @wlhceh h21 ompute ncrenew#2=cfs_ f=stribut" ie(se21> _i)rusasseased. We memove cme task from cme rbtre31"> 424 375
2148air.c#L296ased. We memove cme task from cme rbtre3="+cosref_3fs_rq_list214fair.c#L296"Suppos" cle21> 6" i6" iestd="L2 CPU 4243pan class=3191="sref"21s_rq)
cfs_rne" name="L434"> 434)
}
 _i = {   3,   4,   1,   0 }ased. We memove cme task from cme rbtre3/a> 393 439a href="kerne21 37>2175air.c#ased. We memove cme task from cme rbtre3ef="kerne23 39>2196air.c#L445" id="L345id=396="sref"21> 375
 4243/d="L446" 3kerne21> 3>2198air.c#L4453 c#L239ef="kerne21) &>2148air.c#L296"  dw_i = S96"(se21> _i - s_i)rref=24h_nr_r>                              (3)ased. We memove cme task from cme rbtre4f">cfs_rq<4> = 214fair.c#L296ased. We memove cme task from cme rbtre4) \
 Se21> hrtmncregroup4e"dequfas seenqbyrit ns_ofhrsdecrea 4244t }

group.e" 22effec6fUiaCPU 1 woul="ke -4/56 (4/8 -ased. We memove cme task from cme rbtre4f5e"de=pse4 ss=2194="sref"21> 393group.ased. We memove cme task from cme rbtre4f6e"de=pse4  cl below.line" name="L44 c#L440a href="kerne21 37>2175air.c#askypeclas0 *22fair.c#L296" id="L296" cl4f">cfs_rq<4> = );
t>fair.c#L439" idtched_ef=ntity *fair.c#L439" idwched_ 2f"21>27rne21 36>2165air.c#L446"4ef="kerne24s39>220fair.c#L437" c#L274" id=4+code=vrunthr; 4  *update_min_vruntime(struct cfs_rq<"+code=msref"22timet>fair.c#L439" idtched_/a>);
 *
fair.c#L439" idtched_/a>);
2148air.c#L296""L296rivial, non-cgroup42192a#askypeclas0 *22fair.c#L296" id="L296" cl4href="kern422 41>2211air.c#L430"    4    941ame="2424">25"sref">/tity * *cfs_rq<)"+code=min_vrun4ime"de=pse4 clas2212="sref"22> 411
;
 4314ref="kerne42221fair.c#L453" id="4453" 4lass="line" 2214="srefpan unsigned lomro"+c"devrunppdate_mwine"efnsigned lomro"+W"devrunppdate_mWine"tity * *cfs_rq" class="sr416="sref"24 415}
s="sreffor_each_cde=se clityhref=ct  */a>(st)"+code=4a 41641_min_2runth2637" c#L27f"21> 375
(stru4t 
25"sref">/nsigned lomro"+W"devrunppdate_mWine"yhref=ct fair.c#L439" idtched_efsref"22times="sreffor_each_cde=se clityhref=ct 2233air4> 424<4pan class=2222="sref"22> 421cfs_rq<)"+code=min_vrun4L424"> 4244/a> 375
 424 *s="sreffor_each_cde=se clityhref=ct  *
/a>(st)"+code=4+2242_min_2runth2637" c#L29f"21> 375
 _i; see (2)ased. We memove cme task from cme rbtre4="litask_n4eeppdate_min_vrunttask_nl4ep_rq43ef="+cosref_cfs_rq_listtghref)"+code=miW"devrunppdate_mWine"ylity 0> = 27rne21 36>2165air.c#L446"4/a>
 > *t>fair.c#L439" idtched_/a>);
 *cfs_rq< ;
pset>fair.c#L439" idtched_/a>);
 * 4 *cfs_rq" class="sr49vruntime"4e=pse" clas2204="sref"22s495,
 >f"21> 375
2
);9="s.e"dequf21>at; sincrdecrea 4244pan class=4122{
);
2238air2c#L296" id="L296" clas c#L272"    thos" cfsr2cippd="* i[MIN_SHARES, ...)4do1so now. Serdecrea 4244193="sref"412 clness.li2e" name="L424"> 424214fair.c#L296" id="L296" "    oalc_+code=cfs_().ased. We memove cme task from cme rbtre4/a> 389
tghref)"+code=micl"devrunppdate_mwline" <f="+"de=p"de=pse"MIN_SHARES"devrunppdate_mMIN_SHARESine" 2f"21>27rne21 36>2165air.c#L446"41a>
MIN_SHARES"devrunppdate_mMIN_SHARESine"tity *)
217 air.c#L34  375
4* 443 _i - s_i); see (3)ased. We memove cme task from cme rbtre4s * update4th se" clas222145="sref"24f">a<446="sref"21> 375
 389
42146a4r.+cod2=min_24tuntifs_/ *cfs_t4san class=4e=ss=2148="s2ef"21) < 4;
cfs_rq" class="sr4> 424<4pass=2149="s2ef"21 448 375
 4242/a> 449groupsias  omputedif#L374" id="L374" class="line" n21N2=4/ref"22nli4th"L296" cla2 * co matt r4line"45.c#L425" id="L425" class="liref"21> 449 4244ef="kerne24s3 class="li2e"hr; 449groupsicandecrea 4244e/a>(stru4t 
 449 ex=st=sct2=cfs_s @wlhrtm*cre2=iflas2e2=cfs_decrea 4244ecfs_t4 2st)am25unthr;se2
cfs_rq" class="sr4="litask_n4ee_list =  *2a>(st,"L450"4class46.c#L4"_rq"/a>;
cfs_rq<)"+code=min_vrun4/ 424
2runtt2> *);
t>fair.c#L439" idtched_ef=ntity *cfs_rq<)"+code=min_vrun4/fair.c#L439" idwched_ 2f"21>27rne21 36>2165air.c#L446"4/ * update4*(st4uct <46i439"vrunthr; 4/ * update4 2pan class=2165="sref"214364}
 * 36546.+codunthr;cfs_rq" class="sr4 href="ker4e2" class="s2ef">/a>(stru4t 2169air.c#L446" id="L4 a>47in_vr2nthr;26ine"flaglef_cfs_rq_list<4  * update4s=ne" n217s=2sref"21NULL<4a>)
<472min_2runtt2=ntity *);
 *27rne21 36>2165air.c#L446"4 a>
 374
47_min_vrunthr; 4ref="kerne42)
42172a47ef="kerne22> > *cosref_cfs_rqlas22s9="sref"tity *c4s4
2idxhed_efsref"22timetaroiod"+code=min_classtaroiod"hed_efsref"22timepreviod"+code=min_classpreviod"ref"tity *}47href=2+copp26sk_nti> * 424 *t>fair.c#L439" idtched_tity *cfs_t4 an class=4l2mclass="li2>217fair.c#L496" i479a hr2f="ke27=ntity *cfs_t4s * update4tha> *20>3a4r2_vruntphre2, int"L450" 4lass=481f="kerne22> > *cfs_t4s * update4="80
 href=ct ;
2201air.c#L43previod"+code=min_classpreviod"ref"> href=ct ;
 > * href=ct 2201air.c#L43previod"+code=min_classpreviod"ref"efsref"22timeidxf="kerne21 42>2idxhed_e;
/a>pulas22staroiqweihed_ href=ct /a>pulas22stargetiqwei"de=psref"22timetaroiod"+code=min_classtaroiod"hed_efsref"22timeidxf="kerne21 42>2idxhed_e;
48" a> *cfs_rq" class="sr41"> 424 375
2148air.c#L29""""""""* effec6fUseesn>2ur.c#"ly r encogtsplasueuecmask9="sreed. We memove cme task from cme rbtre4="+cosref_4fs_rq_list214fair.c#L29""""""""* Useesn>2ur.c#"kCPUeased. We memove cme task from cme rbtre4= 39>20>3a4erne21 38>2189air.+code=m4n_vru4time"de=pse" clas219s="sref"2""""""""*askypeclas0 *22fair.c#L296" id="L296" cl4pan class=4191="sref"21s_rq)
 4314ame=a tmro4tled f">cfs_rne" name="L444"> 449odelt2rq" c2ass="srefsref"22timet>fair.c#L439" idtched_ href=ct cfs_ur.c#"+code=min_class=ur.c#"hed_e;
49.ame=2L424"27s_rq< );
cfs_t4/a> 393/2>(st,26s="sref">/a>(st, nti439"4/ * update4" cl below.line" name="L444"> 449f="ke2ne21>24 a>a> = 1"L446" class="taroiqweighl>/a>pulas22staroiqweihed_ +href=ct t>fair.c#L439" idtched_efsref"22timetaroiod"+code=min_classtaroiod"hed_ef-2sq;
 4242196air.c#L445" id="L445id=49=seq"2clef_2fs_rq_lisef=ct t>fair.c#L439" idtched_efsref"22timepreviod"+code=min_classpreviod"ref"ef0ef-2sq;
2st)am25unthr; 3>2198air.c#L4454 c#L249" +" class="line"f">cfs_rq" class="sr5f">cfs_rq<5> = fair.c#L439" idtched_ href=ct cfsnthr;;
2203air.c#L450" 30501f="kerne22> > *);
cfs_t5t  375
}

 3932175air.c""""""""* alwaysahaverkerimbalanst, butaalodle21> s really no*arogtyouh h21d decrea 4245f">cfs_rq<5> =  375
 389 s gooih* o.ased. We memove cme task from cme rbtre5ef="kerne25s39>220fair.c#L437" c#L275" id=50.+code=min_vruntime" class="""""""""*ased. We memove cme task from cme rbtre5e9="kerne25serne21> 3>2198air.c#L4455cfs_r50ef="kerne21) &>2148air.c#L29""""""""* Oalodwiserchecku= 
214fair.c#L29""""""""* splasto be woken#onL4mroiod".ased. We memove cme task from cme rbtre5 href="ker5e22NUL>2213air.c#L430" 305     51ime"de=pse" clas219s="sref"2""""""""*askypeclas0 *22fair.c#L296" id="L296" cl5href="kern522 41>2211air.c#L430"    5    951class="line"u=  4315"me"de=pse5reshref=ct s="line" 2141="sresclass=2> */a>pulas22staroieffiqweihed_efsref"22timeprevieffiqweighl>/a>pulas22sprevieffiqweieuecmasweighl="lie"de=pse" cl-->cfs_t5ime"de=pse5 clas2212="sref"22> 411
)
217 air.c#L35ref="kerne52221fair.c#L453" id="5453" 5lass="line" 2214="sref> */a>pulas22staroieffiqweihed_yhr100masweighl="lie"de=pse" cl-->cfs_t5"6e"de=pse524 a>a> = 1"L446" class="taroieffiqweighl>/a>pulas22staroieffiqweihed_y*href=ct 2201air.c#L43previod"+code=min_classpreviod"ref"e;
}
/a>pulas22staroiqweihed_ +/a>;
 > *t>fair.c#L439" idtched_efsref"22timetaroiod"+code=min_classtaroiod"hed_ef2sq;
 41651" +" class="line"f">cfs_rq" class="sr5ne"set_nex5_buddyrq" class="srefcet_5ext_b52ef="+2ome" 27272"     ref"22timeprevieffiqweighl>/a>pulas22sprevieffiqweieuecyhr100 +2233air5nhref="ker5s="srefcde=se clity>(stru5t previeffiqweighl>/a>pulas22sprevieffiqweieuecy*href=ct 2201air.c#L43taroiod"+code=min_classtaroiod"hed_e;

25"sref">/nsigned lomro"+previeffiqweighl>/a>pulas22sprevieffiqweieuecy*href=ct t>fair.c#L439" idtched_efsref"22timepreviod"+code=min_classpreviod"ref"ef0ef2sq;
 521cfs_rq<)"+code=min_vrun5L424"> 4245/a> */a>pulas22sprevieffiqweieuecmasweighl="lie"de=pse" cl-->cfs_t5nef="kerne5ame="L424"> 424;
24 a>a> = 1"L446" class="balanstref_cfs_rqlas22sbalanstreuec href=ct cfs_t5n6="sref"25 *cfs_t5nf="kerne25in_vruntphref, int"L450" 5lass=52.+cod2=min_24rf"21> 375
2252ef="kerne21) &>2148air.c#L29""""""""* Iseesn>2ur.c#"ly r encogtsplaswilliuntph ro"Lindecrea 4245q" class="5refcde=se clity>(struct <5 href53/a>214fair.c#L296" id="L*ea ceasonableLnmoun6fUseeime1tsourattract "Lisenewlydecrea 4245qhref="ker5eeppdate_min_vrunttask_nl5ep_rq53ef="+cosref_cfs_rq_list *askypeclas0 *22fair.c#L296" id="L296" cl5/a>
 = 27rne21 36>2165air.c#L446"5c#L437" c#5272" +" class="line"de=cf5_rq" 5lass="sref">cfs_rq< cfs_t5"srefdeque5ec clity6runtief="+rkerne5     53ef">/2>(st,26s="sref">/a>(st, nti439"5c6e"de=pse5* 5(s2run_inc74" id="L374" cla>(s2run_incdin7pse"20in_ef">cfsnthr;s="sreffor_each_cde=se 22sq2233air59vruntime"5e=pse" clas2204="sref"22s595,
2201air.c#L43taroiod"+code=min_classtaroiod"hed_e;

/a>(st)"+code=5pan class=5122{
);
/a>(st)"+code=5193="sref"512 clness.li2e" name="L425"> 4254ef="+2ome" 27272"a href="+code=mitaroiqweighl>/a>pulas22staroiqweihed_ lltfhref=ct /a>(st)"+code=51href="ker5a2#L445" id=2L445id="+cod5=sche541f="+2ome" 27272" ef=ct /a>pulas22stargetiqwei"de=psref"22timepreviod"+code=min_classpreviod"ref"efsref"22timeidxf="kerne21 42>2idxhed_e lltfhref=ct  4315/ref"22nli5th  375

 3>217fair.#iref"21> 449 name isline" name=5 222ref"21> 4492ol="L2 * isedomaie,  is called before nr_r> name isline" name=5 srefdeque5cooclity6runt0" class="li5eltar545* 443a<54>,
 > *(s2run_inc74" id="L374" cla>(s2run_incdin7pse"20in_ef">cfsao74" id="L374" cldine"efef=ct 2233air5/coppdate_5="a>)
52146a5r.+cod2=min_24tuntifs_/ *(s2run_inc74" id="L374" cla>(s2run_incdin7pse"20in_ef">cfsnthr;s="sreffor_each_cde=se 22sq2233air5/an class=5e=ss=2148="s2ef"21) < 5;
cfs_rq" class="sr5> 424<5pass=2149="s2ef"21 448cfs_t5/a>cfs_t5ef="kerne25s3 class="li2e"hr;/a>(stru5t )
217 air.c#L35e 4245s * update5co"se" clas22=  375
se2
);
);
 * *27rne21 36>2165air.c#L446"5= * update5coss="sref">2a>(st,"L450"5class56.c#L4" class="line" 2232="sref"22> 4315/a>
idlestf="kerne21 42>2idlestref"yhref=ct 2NULLhed_ef*sref"22timegroupr.9" class="lingroupeuecyhref=ct  * 424cfsk_nti>/a>pulas22sminiqweieuecyhref=ct taroiqweighl>/a>pulas22staroiqweihed_ hr0masweighl="lie"de=pse" cl-->cfs_t5/ *2233air5/ * update5*(st5uct <56" a> *cfs_rq" class="sr5/ * update5 2pan class=2165="sref"215364}
 4315= 36556.+cod2=min_24tuntifs_sk_nti>avgiqweief_cfs_rqlas22savgiqweirq" tity * * */a>(stru5t  * *57in_vr2nthr;26ine"flaglef_cfs_rq_list<5  * update5s=ne" n217s=2sref"21NULL<5a>)
<57s="sr2fmax_24ass="srerf"21> 375

 375
57odelt2rq" c2ass="srefr_each_cde=se430" c#od"m"hr;i6" isecte=pse" cef=ct cfsa22timgroupiod"e=pse" cef=ct cfsgroupr.9" class="lingroupeuec)eas0 *22fair.c#L296" id="L296" cl5ref="kerne52)
52172a57ass="sref">cfs_rq< thr;od"s_allow>/a>pulas22sthr;od"s_allow>cfsnthr;27rne21 36>2165air.c#L446"5rhref="+co5 4n class=2124="sref"21>c5s57ass="line" 2214="srefffffffffcontinuetity *}57" a> *cfs_rq" class="sr5r * update5<2="L424"> 4242201air.c#L43taroiod"+code=min_classtaroiod"hed_eas0 *22fair.c#L296" id="L296" cl5r aaaaaaaaaaaaaaaaaaaaaaasref"22timea22timgroupiod"e=pse" cef=ct cfsgroupr.9" class="lingroupeuec)e;
217fair.c#L596" i57" +" class="line"f">cfs_rq" class="sr5s * update5tha> * 375
20>3a5r2_vruntphre2, int"L450" 5lass=581f="+2ome" 27272"     ref"22timeavgiqweief_cfs_rqlas22savgiqweirq"  hr0masweighl="lie"de=pse" cl-->cfs_t5s * update5="80

231="srefod"+code=min_class231="srefod"din7pse"20in_ef">cfsir.9" class="linirq" efsref"22times22timgroupiod"e=pse" cef=ct cfsgroupr.9" class="lingroupeuec)e1" class="line" 2232="sref"22> 43150ef="kerne5ref="kerne22s_r>27s=2sref521NUL58ass="sref">cfs_rq<  375
 3>21"4air.c#L353" L458ass="line" 2214="srefffffffff= 27rne21 36>2165air.c#L446"50 * update51*/
24 a>a> = 2rq" c2ass="srefsref"22timecosref_cfs_rqlas22s9="sref"nhref=ct 2201air.c#L43ir.9" class="linirq" efsref"22timeqwei_idxf="kerne21 42>2qwei_idxeuec masweighl="lie"de=pse" cl-->cfs_t5s * update5code=oncfs_rq" class="sre5ncfs>58=seq"2clef_2fs_rq_lisssssssss_rq"/a>;
 aaaaaaaasref"22timecosref_cfs_rqlas22s9="sref"nhref=ct /a>pulas22stargetiqwei"de=psref"22timeir.9" class="linirq" efsref"22timeqwei_idxf="kerne21 42>2qwei_idxeuec masweighl="lie"de=pse" cl-->cfs_t5san class=5ec clityhref=ct cfs_rq" class="sr5="+cosref_5fs_rq_listavgiqweief_cfs_rqlas22savgiqweirq"  +href=ct  *)
cfs_rne" name="L454"> 459odelt2rq" c2ass="srefsf"21> 375
group4saskypeclas0 *22fair.c#L296" id="L296" cl5=)
}
avgiqweief_cfs_rqlas22savgiqweirq"  *msref"22timeSCHED_POWER_SCALEef_cfs_rqlas22sSCHED_POWER_SCALEhed_e /unsigned lomro"+groupr.9" class="lingroupeuec/a>);
);
 * 393/2>(st,26s="sref">/a>(st, nti439"5/ * update5" cl below.line" name="L454"> 459f="ke2ne21>24 a>a> = =  4315="> 4242196air.c#L445" id="L545id=59=seq"2clef_2fs_rq_liss_rq< /a>pulas22staroiqweihed_ href=ct  */a>pulas22sminiqweieuec 1" class="line" 2232="sref"22> 4315=an class=5kerne21> 3>2198air.c#L4455 c#L259_min_2runth2637" c#L2s_rq< /a>pulas22sminiqweieuecyhref=ct  *cfs_rq<6> = idlestf="kerne21 42>2idlestref"yhref=ct cfs_rq<6>rne21 38>2189air.+code=m60" 30601f="+2ome" 27272"    unthr;groupr.9" class="lingroupeuecy!href=ct cfs_t6ime"de=pse6 clas22s1="sref"22s_rqcfs_rq<)"+code=min_vrun6f4e"de=pse6  392}
taroiqweighl>/a>pulas22staroiqweihed_ lltfity *miniqweighl>/a>pulas22sminiqweieuec s="sref">cfs_rq<)"+code=min_vrun6f5e"de=pse6 ss=2194="sref"21> 3932NULLhed_masweighl="lie"de=pse" cl-->cfs_t6i6e"de=pse6  cl below.line" name="L46 c#L460f="ke2ne21>24tity *cfs_t6i7e"de=pse6 39>2196air.c#L445" id="L6 name606="srunthr;
/a>(st)"+code=6e9="kerne26serne21> 3>2198air.c#L4456cfs_r60ef="kerne21) &>2148air.c#L2endif#L374" id="L374" class="line" n21N2=6"sref"22s 697
214fair.c#L29*efiid_idlest;od"h-efiideesn>idlestecpuLnmoogtssn>2pus inmgroup.dif#L374" id="L374" class="line" n21N2=6"1>cfs_rq<6e22NUL>2213air.c#L430" 306     61ime"de=pse" clas219s="sref"2saskypeclas0 *22fair.c#L296" id="L296" cl6href="kern622 41>2211air.c#L430"    6    9612min_2runtt2=ntas0 *22fair.c#L296" id="L296" cl6hme"de=pse6reshref=ct 2iid_idlest;od"+code=min_class2iid_idlest;od""de=p);
groupr.9" class="lingroupeuecef);
 * 411
)
" class="line" 2232="sref"22> 4316ref="kerne62221fair.c#L453" id="6453" 6lass="line" 22sk_nti>miniqweighl>/a>pulas22sminiqweieuecyhref=ct cfs_t6"6e"de=pse624=ntity *cfs_t616="sref"26 415}
 *
/a>(st)"+code=6a 41661_min_2runth26 f"21> 375
231="srefod"_anighl>/a>pulas22s231="srefod"_anidin7pse"20in_ef">cfsir.9" class="linirq" efsref"22times22timgroupiod"e=pse" cef=ct cfsgroupr.9" class="lingroupeuec)efsref"22timethr;od"s_allow>/a>pulas22sthr;od"s_allow>cfsnthr; 4316nhref="ker6s="srefcde=se clity>(stru6t cosref_cfs_rqlas22s9="sref"nhref=ct cfsir.9" class="linirq"  masweighl="lie"de=pse" cl-->cfs_t6sref"22nli6e
 424<6pan class=2222="sref"22> 621cosref_cfs_rqlas22s9="sref"n<f="+"de=p"de=pse"miniqweighl>/a>pulas22sminiqweieuecy||ra ref"22timecosref_cfs_rqlas22s9="sref"n=href=ct  4316n4e"de=pse6/a>miniqweighl>/a>pulas22sminiqweieuecyhref=ct  * 424idlestf="kerne21 42>2idlestref"yhref=ct  *24 a>a> = unthr; *
/a>(st)"+code=6+2262_min_2runth26tity *cfs_t6q" class="6refcde=se clity>(struct <6 href63/a>

/2runtt2=ntity *fair.c#L439" idselect_idle_siblin>"de=p);
 */a>pulas22stargethed_eas0 *22fair.c#L296" id="L296" cl6c6e"de=pse6* 6 69vruntime"6e=pse" clas2204="sref"22s695,
 *;
 *href=ct ;
;
 4264ef="+2ome" 27);
s>fair.c#L439" idsched_tity * * *
 375
222ref"21> * Iseesn>splasisegocogtso be woken-up#onL4mroecpuLnqueif itaroased. We memove cme task from cme rbtre6 srefdeque6cooclity6runt0" class="li6eltar646* 443a<64>,
27rne21 36>2165air.c#L446"6/coppdate_6="a>)
62146a6r.+cod2=min_24tuntifs_tity * *cfs_rq" class="sr6> 424<6pass=2149="s2ef"21 448 375
 4246/ref"22nli6th"L296" cla2 * co matt r6line"65.c#L425" id="L425" class="liref"21> * r idnqueif itaro>2ur.c#"ly idle,1tsouritaesn>rdequ target.dif#L374" id="L374" class="line" n21N2=6ef="kerne26s3 class="li2e"hr; saskypeclas0 *22fair.c#L296" id="L296" cl6//a>(stru6t  = 27rne21 36>2165air.c#L446"6e * *cfs_rq" class="sr6s * update6co"se" clas22=  375
 * Oalodwiseef=terateresn>domaiese2
ao74" id="L374" cldine">href=ct targetghl>/a>pulas22stargethed_ee;
 4316= * update6coss="sref">2a>(st,"L450"6class66ame="2424">25"sref">/nsigned lomro"+s>fair.c#L439" idsched_yhref=ct  * 4316/ 424cfsa22timgroupiod"e=pse" cef=ct cfss>fair.c#L439" idsched_)eas0 *22fair.c#L296" id="L296" cl6/thr;od"s_allow>/a>pulas22sthr;od"s_allow>cfsnthr;27rne21 36>2165air.c#L446"6/ * update6*(st6uct <66f="ke2ne21>24 a>a> = 2rq" c2ass="srefgoso se"20in_ef">cfsnextf="kerne21 42>2nextrq" tity *,
cfs_t6= 36566.+cod2=min_24tuntifs_ffffffffsref"22time231="srefod"+code=min_class231="srefod"din7pse"20in_ef">cfsir.9" class="linirq" efsref"22times22timgroupiod"e=pse" cef=ct cfss>fair.c#L439" idsched_))1" class="line" 2232="sref"22> 4316=an class=6"d class="li2e"hr;27rne21 36>2165air.c#L446"6 href="ker6e2" class="s2ef">/a>(stru6t a> = 2rq" c2ass="srefgoso se"20in_ef">cfsnextf="kerne21 42>2nextrq" tity *671f="+2ome" 27272"    27777777unthr;)
<67ist
 376
67odelt2rq" c2ass="srefffffffffsref"22timetargetghl>/a>pulas22stargethed_n=ref=ct /a>pulas22s+pum"hr;first_anidin7pse"20in_ef">cfsa22timgroupiod"e=pse" cef=ct cfss>fair.c#L439" idsched_)eas0 *22fair.c#L296" id="L296" cl6ref="kerne62)
62172a67ass="sref">cfs_rq< thr;od"s_allow>/a>pulas22sthr;od"s_allow>cfsnthr; *c6s67ass="line" 2214="srefffffffffgoso se"20in_ef">cfsdo="=pse" cef=ct  *}67" a> se"20in_ef">cfsnextf="kerne21 42>2nextrq" :ity * 424s>fair.c#L439" idsched_yhref=ct );
2nextrq" tity *cfs_t6 an class=6l2mclass="li2>217fair.c#L696" i67_min_2runth26unthr; * * */a>pulas22stargethed_masweighl="lie"de=pse" cl-->cfs_t6s * update6="80

cfs_rq<)"+code=min_vrun60ef="kerne6ref="kerne22s_r>27s=2sref621NUL68pan>
 3>21"4air.c#L363" L4682ur.c#">splas(r encogtonLod") inidomaie
2175air.c*ealatahaveresn>e21> flage21>  flag set. Inepractice,1tsrtmi* SD_BALANCE_FORK  is called before nr_r> name isline" name=6s * update6code=oncfs_rq" class="sre6ncfs>686="sref"21> 375
2148air.c#L29* Balanst, ie. selectm*creleast 9="sedmgroup.dif#L374" id="L374" class="line" n21N2=6="+cosref_6fs_rq_list214fair.c#L29*dif#L374" id="L374" class="line" n21N2=6= 39>20>3a6erne21 38>2189air.+code=m6n_vru69ime"de=pse" clas219s="sref"2s Rity)

cfs_rne" name="L464"> 469 href="kerne21> 3>217fair.#in preempt must be disabled.dif#L374" id="L374" class="line" n21N2=6=ef="kerne61 392}
222saskypeclas0 *22fair.c#L296" id="L296" cl6=href="+co6ass=2194="sref"21> 393/2runtt2=ntas0 *22fair.c#L296" id="L296" cl6= * update6" cl below.line" name="L464"> 469" a> se"20in_ef">cfsselect_t"hr;rq_"L29fair.c#L439" idselect_t"hr;rq_"L29"de=p);
 * * 4316=);
ao74" id="L374" cldine">href=ct 2NULLhed_masweighl="lie"de=pse" cl-->cfs_t6=an class=6kerne21> 3>2198air.c#L4456 c#L269_min_2runth26=ntity *;
cfs_rq<7> =  *href=ct ;
 * *cfs_t7ime"de=pse7 clas22s1="sref"22s_rqcfs_t7f4e"de=pse7  392}
 *href=ct  * 393/2>(st,26s="sref">/a>(st, nti439"7i6e"de=pse7  cl below.line" name="L47 c#L470f="ke2ne21>24r_ea href="+code=minthr;);
/a>pulas22snr;od"s_allow>2196air.c#L445" id="L7 name70=seq"2clef_2fs_rq_listity * *
/a>(st)"+code=7e9="kerne27serne21> 3>2198air.c#L4457cfs_r709=sched_entfo=  4317"sref"22s 797
2201air.c#L43+pu+code=min_class="line"efsref"22timethr;od"s_allow>/a>pulas22sthr;od"s_allow>cfsnthr;cfs_rq<7e22NUL>2213air.c#L430" 307     711f="+2ome" 27272"    27777777ty *cfs_t7href="kern722 41>2211air.c#L430"    7    971ame="2424">25"sref">/nsigned lomro"+new;od"+code=min_classnew;od"hed_n=ref=ct  * 411
)
217 air.c#L37ref="kerne72221fair.c#L453" id="7453" 7lass="line" 22ef=ct ;
24 href="+code=mi231="srefdomaief="kerne21 42>2231="srefdomaie
tmnthr; 4317"7e"de=pse7 415}
27rne21 36>2165air.c#L446"71f="kerne27_vrunthr; * 41671" +" class="line"f">cfs_rq" class="sr7ne"set_nex7_buddyrq" class="srefcet_7ext_b72ef="+2ome" 27272"    (stru7t  4247sref"22nli7e
 LLLLLLLL* are not2lasr9="sed, =  t balanseewider.dif#L374" id="L374" class="line" n21N2=7> 424<7pan class=2222="sref"22> 721 4492SD_PREFER_LOCALhed_))1" class="line" 2232="sref"22> 4317nef="kerne7ame="L424"> 424cfs_t7n6e"de=pse7the n cl a>24 a>a> = ffffffffsk_nti>/a>pulas22snr;r encogref"n=r0masweighl="lie"de=pse" cl-->cfs_t7n7e"de=pse7 * *<#Lrt_f"lih7ef=ct  * *7="sref">/a7(st)"+code=6+ 41671" +" class="linlie"de=pse7 cl-->cfs_t6q" class="6re7cde=s73f="+code=h_nr_r6 name60ef="+2ome" 27272"    ffffffffsref"22time231="srefod"+code=min_class231="srefod"din7pse"20in_ef">cfsir.9" class="linirq" logtt2_.#irref="kerne2"22timdomaief="k_.#ire=min_class231="sref"line"efsref"22timetmn2>2SD_PREFER_LOCALhed_))1" class="li#Lrt_f"lih7ef=ct c<;
/a>s_rqlas22savgiqweihl>/rq
c/a;

 376
67odelt2de7cfs_r713="sr2fmax_24unthr; 411
)
 424SCHED_POWER_SCALEef_cfs_rqlas22;
(sta> =  * 69vruntime"6e=7se" c73ref="+ctask_nti9y/a>f_cfs_rqlas22s9="srecapacity
27rnef="kerne27tim>2233air6qcoppdate_61271 43673ass="line"de=cf5_rq" 58.+cod2=min_24tuntifs_h_nr_r> x_24=ntity *2233air6pan class=6127{73li2e"hr;2233air6193="sref"6127clnes7.li2e"e7cfs_r713="sr2fmax_24unthr;(stru6t 22endif#L374" id="L37a" class="lde=min_vrun61a>
 721rdequ target.dif#L374" id="L374" class="7ine" n21N2=6  449 424 * 4496*<7s214474>tmn22>2SD_PREFER_LOCALhed_))1" class="lir.c#L296" 7d="L296" cl6s * update6th7se" c74 424tmsf"21> 449)
62146a67=seq"2clef_2fs_rq_lisx_24=ntity *cfs_r7" class="sr6> 424<6pa7s=21475li2e"e7cfs_r713="sr2fmax_24unthr;(stru6t  * *27rn_rne" name7"L424"> 4246/ref"22nli6th7L296"75air.c#L430"    7    9711f="+2breakt 7r.c#L296" 7d="L296" cl6/27rne21 36>2167air.c#L446"6e *(sta> =  *cfs_r7" class="sr6s * update6co7se" c75 *27rnef="kerne27ine" n21N2=6 62146a67=seq"2clef_2fs_rq_lisLhed_ef*sref"22timeao74" id="L374" cl"line"efsref"22timetmsf"21> 449se75li2>217fair.c#L696" i67_min_2runth26unthr;2233air6=a>2SD_PREFER_LOCALhed_))1" class="line" 2232="7ref"22> 4316= * update6co7s="sr7f">2a>(st,"L450"6class71ef="+2ome" 27272"   
 * *27rna href="+c7de=se clity6/a>
 * * 4316/ 411
)
25"sref">/nsigned lomro"+new;od"+code=min_classnew;odntt2=ntity *fair.c#L439" idsir.9" class="lic#Lrt_f"lipdate_min_vruclef_2fs_rq_lisod"
 *(st6uct  *cfs_r7de=se clity6/ * update6 27an cl76ref="+ctask_nti6y,
cfs_t6=
 4316=an class=6"d7class7"li2e"hr;/a>(stru6t qwei_idxf="ks>fair.c#L439" idsched_yhref=ct forkexec" ef="+pu+code=min_class="line"tity *ass2iid_idlest;od""de=p);
groupru+code=min_class="line"tity *2a>(st,"L450"6class7a7)
 * *7r.c#L296" 7d="L296" cl6ref="kerne62<7>)
62172a72.aeq"2clef_2fs_rq_lched_yhref=ct );
c6s67ass="lclef_2fs_rq_lisLhed_ef*sref"22timeao74" id="L374" clched_yhref=ct  * 424,

cfs_t6 an class=6l27class77li2e"hr;
 *qwei_idxf="ks>fair.c#L439" idsched_yhref=ct t_ed_ efoupru+code=min_class="line"tity *cfs_t6s * update6="7078air.c#L430"    7    971ame="2424">25 whileqwei_idxf="keu+code=min_class="line"tity *<#Lrt_f"lih7ef=ct 
 621cfsgroupr.d74" id="L374" cldine")1" class="l7fs_rq<)"+c7de=min_vrun60ef="kerne6re7="ker78lass=2223="sref622**<62.ame=2L424"27s_rq< ao74" id="L374" clched_yhref=ct  *<4" class="7ine" n21N2=60href="+co6="7erne278>(2truct 24 a>a> = unthr; name i7line" name=6s * update6co7e=onc78s=2165="sref"216364,
62146a71ame="2424">25"sref">/nsigned lomro"+new;od"+code=min_classnew;odr61odeltsref"22time2iid_idlest;od"+code=min_clL2s_rq< cfsgrouprfsir.9" class="lic#Lrt_f"lipdate_min_vruclef_2fs_rq_lisaie
 *<#ie"de=pse7m cme rbtre61an class=6ec7clity78li2e"hr;/nsigned lomro"+new;od"+codekerne||" id="L374" clyn"sref">/nsigned lomro"+new;od"+codekeclef_2fs_rq_lisaie
 44920>3a6er7e21 3793air.c#L430" 307     711f="+2ome" 27272"    Lhed_ef*sref"22timeao74" id="L374" clched_yhref=ct  *<4" class="7ine" n21N2=6= * update6197="sre79air.c#L430"    7    9711f="+2=min_24tuntifs_ffffffffcontinuetity *<4" class="7ine" n21N2=6=a>
792222="sref"22> 62124 a>a> = unthr; 411
)
 449/nsigned lomro"+new;od"+countifs_ffffffffcontinuetity *<4r> name i7d="L296" cl6="> 424219679 424 * * *<4e task fr7ref"22> 4316=62146a71ame="2424">25Lhed_ef*sref"22timeao74" id="L374" cldine">href=ct 2NULLhed_masweighl=7lie"de=pse7 cl-->cfs_t6=an class=6ke7ne21>79li2e"hr;24 href="+code=mi231="srefdomaief="kerne21 42>2231="srefdomaie
tmnthr;2233air7f">cfs_rq<7> 8  *tmso74" id="L374" cldi.#ir_xod"co/a> *
2233air7f1>cfs_rq<7>r8e21 3803air.c#L430" 307     711f="+260ef="+2breakt 
62146a71ame="2424">25Lhed_ef*sref"22timeao74" id="L374" cl"line"efsref"22timetmsf"21> 449cfs_t7f4e"de=pse7  89224 a>a> = unthr; 449/a>8st, nti439"7i6e"de=pse7  8l bel8w.line" name="62f="ke2ne21>24 a>a> = unthr;/a>8s="L296" cl6="> 42421968ir.c#L2214="sreffffffunf=ct  *8a href="+c8de=se clity7t8e"de=pse7 o8e=cfs80re2="kerne21f2214="sreffffffead_locreunf=ct  *8="sref">/a8(st)"+code=7e9="kerne27se8ne21>80las2217="sref"27> 41671" +" class="li8ne" 2232="8ref"22> 4317"sref"22s 7978/a>
<8 href="kerne2270=seq"2clef_2fs_rq_li"sref">/nsigned lomro"+new;od"+countifs_ffffffffcontinuetity *8r.c#L296" 8d="L296" cl7"1>cfs_rq<7e28NUL>2813air.62f="ke2ne21>24 a>a> = unthr;cfs_t7href="kern722841>2281air.c#endef 726> 41661_min_2runth26 fCONFIG_SMPbfair.#iref"21> 4498#Lrt_f"lih8ef=ct 8# href="+c817 air.c#L37ref="kerne72<8a>2218air.c# id="L374" cldit_edup_grirref="kerne2"22tt_edup_grire21 4ass2iid_idlest;od""de=p)untity
)untity
 *27r8ef="kerne28tim>2233air7"6e"de=pse7 6 4317"7e"de=pse7 4858
)t_edup_grirularity
 *8r href="+c8air.c#L446"71f="kerne27_v8unthr81q" class="sref"7" id=70a>
cfs_r8" class="sr7ne"set_nex7_b8ddyrq82  anseeesnnow,2=miverL29* Bgrir from270al-tim 231 aedomaie, se" = (stru7t sprIseunitfsouritaesn>rdequ target.dif#L374" id="L38_rne" name8"L424"> 4247sref"22nli7e<8a>
22endif#L374" id="L38e href="+c8ine" n21N2=7> 424<7pa8 clas8=2222="sref"22> 721
22endif#L374" id="L38e href="+c8ref"22> 4317nef="kerne7am8="L4282unt0" class="li6eltar64 443 alatah ita2ur.c#esulteesngrir will231 aedomaie, se" =  *rdequ target.dif#L374" id="L38_ href="+c8ef=ct rdequ target.dif#L374" id="L38_ href="+c8(st)"+code=6+cfs_t6q" class="6re8cde=s83 449 * *8e" class="8ine" n21N2=6/a>
 411
)
22endif#L374" id="L38eie"de=pse8d="L296" cl6c6e"de=pse6*<8 href83
rdequ target.dif#L374" id="L38# href="+c8tim>2233air6qcoppdate_61281 43683ass="line"de=cf6_rq" 68.+code             |s1ouritaesn>rdequ target.dif#L374" id="L38# href="+c8tim>2233air6pan class=6128{83ef=ct rdequ target.dif#L374" id="L38ef="kerne28tim>2233air6193="sref"6128clnes84rdequ target.dif#L374" id="L38eLrt_f"lih8de=se clity61href="ker6a28L445"842189air.+code=m6n_vru69ime"de=========gouritaesn>rdequ target.dif#L374" id="L38e"flaglef_8de=se clity6/ref"22nli6th8 721rdequ target.dif#L374" id="L384" class="8ine" n21N2=6 21"4air.c#L363" L468rdequ target.dif#L374" id="L384ie"de=pse8ine" n21N2=61#L428" a>6*<8s214484
rdequ target.dif#L374" id="L38mf="kerne28air.c#L446"6/coppdate_6="8>)
 449 393/2runtt2=ntas0 *22fa8e"f">cfs_r8" class="sr6> 424<6pa8s=21485re2="+ctask_nti6y)untity
)untity
 *27r84" class="8ine" n21N2=6/a> 6 4246/ref"22nli6th8L296"85air.c#L430"  s="lin"22timgrosref"22> 431refwanse="2424L2s_rq<  *84" class="8ine" n21N2=6ef="kerne26s38class85       *22fair.6#L29668 class="sref">8r.c#L296" 8d="L296" cl6/27r84.c#L296" 8air.c#L446"6e(sta> =  *cfs_r8" class="sr6s * update6co8se" c85 *8ef="kerne28ine" n21N2=6 27r84 href="+c8m cme rbtre6 an class=6_v81">se85li2e"hr;2233air6=a> 4316= * update6co8s="sr86a 2ref="kerne216 3>2168ist8ne" 2232="8ref"22> 4316/ 393void+clef_2fs_rq_lisL t_buddy/a> * t_buddye21 4ass2iid_idlest;od""de=p)untity
 *27r8r.c#L296" 8d="L296" cl6/ 6 * * *SCHED_POWER_SCAIDtie" c"" cSD_LOAD_BALANCErq"   2f"21>27r8rcf">cfs_r8de=se clity6/ * update6 28an cl86r.c#L445" id="L7 name70=seqt cfs_t6=
 4316=an class=6"d8class8"li2e"hr;24 p)untity
 *
2168air.c#L446"6 href="ker6e28 clas8="s2ef">/a>(stru6t  * t/a> * te21 ao74" id="L374" clc *2a>2f="ke2ne21>24 a>a> = unthr; 393void+clef_2fs_rq_lisL *)untity
 *27r8r.c#L296" 8d="L296" cl6ref="kerne62<8>)
 6 * *SCHED_POWER_SCAIDtie" c"" cSD_LOAD_BALANCErq"   2f"21>27r8a href="+c8de=se clity6  * update6 48class87>,
24 p)untity
 *
 * * * *24 a>a> = unthr;cfs_t6s * update6="8088air.c21> 393void+clef_2fs_rq_lisL *)untity
 *27r8#Lrt_f"lih8ef=ct 
 624 p)untity
 *
(2truct  * * *24 a>a> = unthr;,
9* B2nst8ef t 44920>3a6er8e21 3893air.21> 393void+clef_2fs_rq_lisypeck_kerne21)t_edupn unsigned lomrapeck_kerne21)t_edupe21 4ass2iid_idlest;od""de=rq

 6
892222="sref"22ass2iid_idlest;od""de=e"hr;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroanst
)untity
 * *24r_ea href="+code=minthr; * *84" class="8d="L296" cl6= * update6" 8l bel89> */a>fgcfo74" id="L374" clp);r latency
 4316=
cfs_t6=an class=6ke8ne21>89li2e"hr; *pulas22stargeths *27r9ef="kerne29tim>2233air7f">cfs_rq<7> 9 2233air7f1>cfs_rq<7>r9e21 390in_vrunttask_nl6ep_rq63in_vr2nthr;26i9a href="+c9de=se clity7t 
 721cfs_t7f4e"de=pse7  992
 443/a>9s="L296" cl6="> 424219690_rq" class="sre6ncfs>686="srf="kerne2air.#iref"21> 449 *27r9e9href="+c9dcl-->cfs_t6=an class=6ke9ne21>90li2e"hr; 4317"sref"22s 7979/a>
<91li2e"e7cfs_r713="sr2fmax_24unthr;cfs_rq<7e29NUL>291r;2ck_c#Lrt_f2=min_24tuntifs_}a_p)feao/a> *)feaoe21 4s="lin"22timgroNEXT_BUDDY/a> * *href=ct cfs_t7href="kern722941>2291air.c#L430"    7    971ame="2424">25L * *24 a>a> = unthr;2233air7"6e"de=pse7 4317"7e"de=pse7 49591_rq" class="sre6ncfs>686="srf="kerne22We2cas="ome e wokwith TIF_NEED_REER_SC allocry sst from2new 9faie2href="kerne22**<>22endif#L374" id="L39n href="+c9air.c#L446"71f="kerne27_v9unthr91fs2rq_list<"lin6sde=s65.+code=min_vru ke_f up pathsouritaesn>rdequ target.dif#L374" id="L39a href="+c9de=se clity7a2
cfs_r9" class="sr7ne"set_nex7_b9ddyrq929* Bedge-caset bys1>  bed="L/afaythrottledouritaesn>rdequ target.dif#L374" id="L39e.c#L296" 9ine" n21N2=7nhref="ker7s=9srefc9e=se clity>(stru7t  4247sref"22nli7e<9a>
 424<7pa9 clas9=2222="sref"22> 721
 4317nef="kerne7am9="L4292unt0" class="li6eltar64 449cfs_t7n6e"de=pse7th9 n cl92.line" name="L47 c#L470f="ke2ne2+codetsk_+ned_#escrea
27r94e" 2232="9 cl-->cfs_t7n7e"de=pse7 *
 449cfs_t6q" class="6re9cde=s930line" name="L47 c#L470f="ke2ne2unfikely
SCHED_POWER_SCAIDtie" c"t=min_classf"21> 44924r_ea href="+code=minthr;SCHED_POWER_SCAIDtie" c"" cSD_LOAD_BALANCErq"   2f"21>27r9e"flaglef_9fs_rq_list<6qref"22nli6co9a9" c93air.c#L430"    7    9ine" 2214="sreffffffkerne21

94" class="9ine" n21N2=6c#L437" c#6279" +" 934ir.c#L430"  line"de=cf6_rq" 68.+co  4492233air6qcoppdate_61291 43693re2="kerne21f72.ame=2L424"27s_rqunfikely
24r_ea href="+code=minthr;href=ct 27r9e href="+c9tim>2233air6pan class=6129{93li2e"hr;2233air6193="sref"6129clnes94li2e"e7cfs_r713="sr2fmax_24unthr; * * * * * * * * 4496*<9s214494
 449686="sreeeeeeeeeeeeeeee"ktriggerd="L*hsetperne21ionsouritaesn>rdequ target.dif#L374" id="L39mf="kerne29air.c#L446"6/coppdate_6="9>)
 44927r9e"f">cfs_r9" class="sr6> 424<6pa9s=21495f="+code=h_nr_r6 name60ef="+2ome" 27272"    L * * 4246/ref"22nli6th9L296"95air.c#L430"  62f="ke2ne21>24 a>a> = unthr;9r.c#L296" 9d="L296" cl6/24 a>a> = unthr;(2214="sreffffffkerne21
 *9+cf">cfs_r9" class="sr6s * update6co9se" c95 * *9ef="kerne29ine" n21N2=6  41661_min_2runth26 ir.#iref"21> 449se95a>2
2233air6=a>(stru7t ate6co8s="sr86a 2ref="ker9sr86a96="kerne22nli7222ia72.c#L425" id="<ch may=hap* drop.c#q. T te21ritaesn>rdequ target.dif#L374" id="L39mf=ref="+c8de9se clity6/a>
 721 4316/
ackwdleiea picL3ule oa2kwar picitritaesn>rdequ target.dif#L374" id="L39mf=ref="+c9de=.c#L446"6/ * update6*<8n_9ru86.96 href="kerne61*/<>68a hre 449cfs_r8de9se clity6/ * update6 28an9cl86r9c#L445" id="L7ame=2L424"27s_rqunfikely
 *27r9e h"kerne28 c9-->cfs_t6=62146a71a+cot  4316=an class=6"d8cl9ss8"l962217="sref"27> 41671" +" class="li8ne9 36>2168ai9.c#L446"6 href="ker6e28 c9as8="97ne" name="L47 c#L470f="ke2ne2unfa>)feao/a> *)feaoe21 4s="lin"22timgroNEXT_BUDDYe"1 * * * *27r9e href="+c8de9se clity6 a> * t_buddye21 4asslin"22timgros *
9r.c#L296" 8d=9L296" cl6ref="kerne62<8>)9 393voi2iid_idlest;od""de=e"hr;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroc#Lr_ernettoaie21_sref href="kernepern_ernettoaie21_sref 4ass2iid_idlest;od""de=rq
27r9e hrL296" 9airse clity6  6cfs_r8de9se clity6  * update6<28"L92487s977ulame=s#L4=72iid_idlest;od""de=e"hr.cn unsigned lomrafsr.ce=miass="lin"22timgroafsr.cn unsigned lomrafsr.ce=miao74" ss4" id="L374" cl1s<)untity
 *cfs_t6 an class=6l28cl9ss87l972217="sref"27> 41671" +" class="li8ne9t_f"lih8ef9ct  9/a>fgSD_LOAD_BALANCErq"   2f"21>27r9e href="+c8de9se clity60 39>20>3a6r28vr9nt88i98r.c#L430" 307     ine+cod2=min_24tuntifs_ale">href=ct 2NULLhed_masweighl=7li9"de=pse8 c9-->cfs_t6s * update6="80<9a>88a98a>2f="ke2ne21>24 a>a> = unthr;
92truct  * *8ef9ref="+c8in9" n21N2=60 * update61*898pulame=s#L4=6line"="+2ome" 27272"   
.cn unsigned lomrafsr.ce=miao74" id="L374" cl""hgr (esr.cn unsigned lomr""hgr (esr.cn u 4asslin"22timgros *
 *27r9e hclass="8in9" n21N2=6= 39>20>3a6er8e29 389399r.c#L430" 307     ine" 27272"    L24 a>a> = unthr;
892922="sref"22ass+cod2=min_24tuntifs_alrt_f"lipdate_min_vru/awant_aff2="hed_n=r0masweighl=94.cclass="8in9" n21N2=6=ef="kerne61 8929/a894922="srkerne216 3>2168ist99 href="kerne61*/<>68a hre 449 424299689 99" class="sre6ncfs>686="sreour Accouvingbuda deL3ule oadsehsehref="kerne22**<>22endif#L374" id="L39#e"task fr8re9"22> 4316= 449cfs_t6=an class=6ke8ne91>89l99e"21> 39327r9e30"kerne29t30"kerfs_t6=an class=6ke8n30"ke>30"kf#L428"/ne2>_LOAD_BALANCErq"   2f"21>27r9e30"1erne29t30" n21N2=6= 39>20>3a6er8e30" n>30"r.c#L430" 3072iid_idlest;od""de=p)untity
 * *30"2.c#L430" 3072iid_idlest;od""de=p
30"    *22fair.6#L29668 class="sref">9r30"4erne29t30" n21N2=6=ef="kerne61 8930" n>30"s=2223="sr2214="srefffffffor21>24 p)untity
 *30"truct  *30"pulame=s#L4=6line"="+2ome" 27272"   nutrne2vaity
 * *8e30"7erne29t30"296" cl6="> 42430"29>30"7ulame=s#L4=7}fs_ffffffffcontinuetity *8e30"8erne29t30"22> 4316=30"8="srkerne216 3>2168istcfs_t6=an class=6ke8n30"->>30"2217="sref"27> 41671" +" class="li8n301kerne29t30"22> 4317"sref"22s 7979/30"22>30"2href="kerne61*/<>68a hre 449cfs_rq<7e29N30L29>30"9air.+code=m6n_vru69ime"de====a>)untyield()tstivery simpl1 aedomaie, se" = cfs_t7href="kern7229430-->>30"="kerne22nli7222ia72.c#L4e=== aedomaie, se" = 30"2="sref"22> 721rdequ target.dif#L374" id="L39m30"4erne29t30ct 30" clahr;
e==w.#iref"21> 44930"5"21> 39327r9e30"6erne29t30>2233air7"6e"de=pse722>30"6f#L428" a> 6 4317"7e"de=pse7 49530"22>30"7ulame=s#L4=72iid_idlest;od""de=e"hr;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroanst
30"="kerne21f2212iid_idlest;od""de=p *8430"9erne29t30se clity7a30"9"kerne21f2212iid_idlest;od""de=p)untity
 * *84302kerne29t30lass="sr7ne"set_nex7_b9d30las>30la217="sref"27> 41671" +" class="li8n3021erne29t30" n21N2=7nhref="ker7s=9s30" n>30lr.c#L430" 2214"kerne61*/<>68a hre 449 4247sref"22nli7e<9a3024">30l="kerne22nli7222ia72.c#L425" id="< 449 424<7pa9 30" n>30l2="sref"22> 721 44930ls=2223="sr72.ame=2L424"27s_rqt_eikely
2/a>fgc1"thrSD_LOAD_BALANCErq"   2f"21>27r9e3025erne29t30"22> 4317nef="kerne7am9=30"22>30ltruct >30l>(sta> =  *cfs_t7n7e"de=pse730-->>30lhref="kerndate6191="srefd#esclearddye2iet  * *8e3028erne29t30ct 
30le"hr;30-r.c#L430" 307     ine""kerne61*/<>68a hre 44930-="kerne22nli7222ia72.c#L425" id="<
30-2="sref"22> 721 44930-s=2223="sr221     ine" 27272"    L30-ef="+come" c6ass="726> 41661_min_2runth26 ir.#iref"21> 44930- href="kerne61*/<>68a hreeeeeeeeeeeeeeeee"kBiaTell ite)2nsofecte21()ernisiwe've just ite)2nd,itaesn>rdequ target.dif#L374" id="L39m30-7erne29t30ity 69vruntime"6e=9s30ity>30-" class="sre6ncfs>686="sreeeeeeeeeeeeeeee"ktrisothe#don't"do;microscoprdequ target.dif#L374" id="L39m30-8erne29t30>2233air6qcoppdate_6129130>22>30-="line"de=cf6_rq" 68.+codeeeeeeeeeeeeeeee"airwoidldouble 231 idsthsou costritaesn>rdequ target.dif#L374" id="L39m30-9erne29t30>2233air6pan class=6129<30>22>30-
 4492233air6193="sref"6129c30>22>30>2f="+come" c6ass="726 id="L374" clrq
30>r.c#L430" 307kerne216 3>2168ist30>a>2f="ke2ne21>24 a>a> = unthr;3erne29t30min_vrun61a>
30>.c#L430"  s="lin"22timgroBUG_skip_buddy/a> * * *8e3044erne29t30" n21N2=6 30>2="srkerne216 3>2168ist5erne29t30me rbtre6 srefdeque6co9c30me >30>c#2f="ke2ne21>24 a>a> = unthr;6erne29t30" n21N2=61#L428" a>6*<9s30" n>30>6"21> 39327r9e3047erne29t30L296" cl6s * update6th9s30L29>30>7f#L428" a> 6)untity
 *24r_ea href="+code=minthr; * 41671" +" class="li8n305kerne29t30lass="sr6> 424<6pa9s30las>30la.c#L430" 2214"kerne61*/<>68a hre 44930lck_c#Lrt_f2=min_2s_rq<  * *27r9e3052erne29t3024"> 4246/ref"22nli6th9L3024">30l.c#L430"    7    9ine+cod2=min_24tuntifs_als  LA href="kernefor2 231 a 30l    *22fair.6#L29668 class="sref">9r3054erne29t30L296" cl6/ 44930l5c#L430"  s="lin"22timgroBUG_skie_buddy/a> * * *8e3056erne29t30se clity6s * update6th9s30se >30l>(sta> =  *30lhref="kerndate6191="srefd#esyieldaie21_sref href="kerneperyieldaie21_sref 4asslin"22timgros *8e3058erne29t30" n21N2=6 30lclass="sref"7" id=70a>
30le"hr; * a 2168ist2233air6=a>22>30Lvrunttask_nl6ep_rq63in_vr2nthr;26i9a30L2erne29t30ate6co8s="sr86a 2ref="ke30ate>30L.c#L4#ifdefmin_24tuntifs_alCONFIG_SMP *
 721 449 4316/30L clahr;
e==w Fd="_ea un()L*hsc6Lrt load-ince()L*hsmethodshref="kerne22**<>22endif#L374" id="L39#30L5erne29t30L296" cl6/ 44930L>(sta> =  *30L7"21> 393>30Lclass="sref"7" id=70a>
 4316=an class=6"d8c30"22>30Le"hr;#initie id="L374" cl""hLBF_ALL_PINNED *

30.1"hr;#initie id="L374" cl""hLBF_SOME_PINNED *
30.a>2f="ke2ne21>24 a>a> = unthr;
30.3"21> 3id_idlest;od""de=p 6)untdomain href="kernep)untdomain="sref"22"lin"22timgros30.c#2f="ke2ne21>24 a>a> = unthr;30.pulame=s#L4=72iid_idlest;od""de=e"h30.430.class="sref"7" id=70a>
cfs_t6 an class=6l28c30-->>30.920>3a6r28v30se >30cvrunttask_nl6ep_rq63in_vr2nthr;26i9a3082erne29t30-->cfs_t6s * update6="8030-->>30c2.c#L430" 3072iid_idlest;od""de=p *iass=1) & Oernrlin"22timgros * a 
30c330c2="sref"22assenumdlest;od""de=p *="sref"22alest;od""de=p30c5c#L430"  s="lo*hs+++++++++++++++++++lin"22timgros30c.c#L430"  line"de=cf6_rq" 68.+co  44930c7ulame=s#L4=72iid_idlest;od""de=e"hrpum/a> *iass=1) & Oernrlin"22timgros30cclass="sref"7" id=70a>
30c930" lass="sref"7" id=70a>
20>3a6er8e30" n>30"130"2 *c.9"awant_aff2="hed_n=r0masweighl=8r3093erne29t30" n21N2=6=a>
30"330"2="srkawant_aff2="hed_n=r0masweighl=8r3095erne29t30L296" cl6=href="+co6as8=30L29>30"c#2f="ke2ne21>24 a>a> = unthr;30" href="kerne61*/<>68a hre 449 42430L29>30"" class="sre6ncfs>686="sreour e29fai()r - e29fthro()r m2potonn oggue  byaythnoe22oyoggue  britaesn>rdequ target.dif#L374" id="L39m3098erne29t30"22> 4316=30"="line"de=cf6_rq" 68.+codeair Btsavoggue  bs must be te21edritaesn>rdequ target.dif#L374" id="L39m3099erne29t30-->cfs_t6=an class=6ke8n30-->>30"
 44931"kf#L4 39327r9e31"1erne29t31" n21N2=6= 39>20>3a6er8e31" n>31"r.c#L28" a> 6310.c#L430"  s="lin"22timgroupddeactiv)2nsi()r * *8e31"3erne29t31" n21N2=6=a>
310.c#L430"  s="lin"22timgroBUG_skir;afsrpunsigned lomrafsaskir;afsrpu 4asslin"22timgros *8e31"4erne29t31" n21N2=6=ef="kerne61 8931" n>31"s=2223="sr2214="sreffffffforactiv)2nsi()r * *8e31"5erne29t31"296" cl6=href="+co6as8=31"29>3105c#L430"  s="lin"22timgroBUGetickrne21)untt
 *8e31"6erne29t31"296" cl6= * update6" 8l31"29>31"pulamkerne216 3>2168ist31"7ulamerne216 3>2168ist 4316=310="line"de=cf6_rq" 68.+codear.#iref"21> 449cfs_t6=an class=6ke8n31"->>310
22endif#L374" id="L39#311kerne29t31"22> 4317"sref"22s 7979/31"22>31"2href="kerne61*/<>68a hre 449cfs_rq<7e29N31L29>31"9air. 393 449cfs_t7href="kern7229431-->>31"="kernest;od""de=rq
r;asshotnsigned lomre"hr;asshot 4ass2iid_idlest;od""de=rq
r;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroc#Lrt_f"lipdate_min_vru/lelin"22timgroc#Lu"22> 4316/)untdomain href="kernep)untdomain="sre"lin"22timgros27r9e31"3erne29t31se clity7hme"de=pse7re9h31se >31"2="sr28" a> 6311s=2223="sr2214="srefffffffors"22> 4316/24 a>a> = unthr;2233air7"6e"de=pse722>311ne" name="L47 c#L470f="ke2ne2+co4r_ea href="+code=minthr;)untea hr href="kernep)untref="e" na!lass4" id="L374" cl1>2r;)untea hr href="kernep)untea hr a 27r9e31"7erne29t31"22> 4317"7e"de=pse7 49531"22>311#L445" id="L7 name70=seqt < 311class="sref"7" id=70a>
311e"hr;24r_ea href="+code=minthr;SCHED_POWER_SCAIDtie" c"t=mSD_LOAD_BALANCErq"   2f"21>27r9e312kerne29t31lass="sr7ne"set_nex7_b9d31las>3122f="+come" c6ass="726seqt < 312vrunttask_nl6ep_rq63in_vr2nthr;26i9a3122erne29t3124"> 4247sref"22nli7e<9a3124">312.c#L430"  s="l"de=cf6_rq" 68.+codear.#iref"21> 449 424<7pa9 31" n>31l2="sref"22> 721312 clahr;
 449 4317nef="kerne7am9=31"22>31ltruct /a>fgcn_classf"21> 449cfs_t7n6e"de=pse7th9 31-->>312pulame=s#L4=6line"="+++++++++ass4" id="L374" cls * * *ct <7||1> 449cfs_t7n7e"de=pse731-->>312#L445" id="L7 name70==========ss4" id="L374" cls * * *c"t=mSD_LOAD_BALANCErq"   2f"21>27r9e3128erne29t31ct 62146a71a+cot 3122217="sref"27> 41671" +" class="li8n313kerne29t31-->cfs_t6q" class="6re9c31-->>313ne" name="L47 c#L470f="ke2ne2unfsysctl_a>)untmigron be_cost *)untmigron be_costct <74" -1SD_LOAD_BALANCErq"   2f"21>27r9e3131erne29t31ct 3132e" name="L47 c#L470f="ke2ne2unfsysctl_a>)untmigron be_cost *)untmigron be_costct <74" 0SD_LOAD_BALANCErq"   2f"21>27r9e3133erne29t31" n21N2=6/a>
3133f="+come" c6ass="726seqt < 31-s=222want_aff2="hed_n=r0masweighl=843135erne29t31L296" cl6"srefdeque6ec9c31L29>3135c#L430"  s="lin"22timgroBUGdelta * *313>(sta> =  * 69vruntime"6e=9s31ity>313#L445" id="L7+cod2=min_24tuntifs_aldelta * 4316/)untmigron be_costct 2233air6qcoppdate_6129131>22>3138="srkerne216 3>2168ist2233air6pan class=6129<31>22>3132217="sref"27> 41671" +" class="li8n314kerne29t31>2233air6193="sref"6129c31>22>3142href="kerne61*/<>68a hre 4491erne29t31se clity61href="ker6a29L31se >3149air.+code=m6n_vru69ime"de====cantmigronfai()r - eastehsetp m2potoggue  byrq be migronfdyaytrtpencpu?#iref"21> 449314="kerne22nli7222ia72.c#L4e===.#iref"21> 4493erne29t31min_vrun61a>
3143air. 393 4494erne29t31" n21N2=6 31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronfai()r 4ass2iid_idlest;od""de=rq
r;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroc#Lrt_f"lipdate_min_vru/le 3id_idlest;od""de=p27r9e31>5erne29t31me rbtre6 srefdeque6co9c31me >314ef#L428" a> 66*<9s31" n>314ne" name="L47 " +id="L374" clER_tafsraclashotnsigned lomre"hrafsraclashotc.9"4" 314href="kerndate"kerne61*/<>68a hre 4498erne29t31.c#L446"6/coppdate_6="9>31.c#>314="line"de=cf6_rq" 68.+codeeeeeeeeeee* We#do fkermigronftehsesernisiarehref="kerne22**<>22endif#L374" id="L39#31>9erne29t31se clity6/an class=6e=9s31se >314
22endif#L374" id="L39#315kerne29t31lass="sr6> 424<6pa9s31las>315href, ct 315 clity>(stru7t  4246/ref"22nli6th9L3124">315="kerne22nli7222ia72.c#L425" id="< 4493153_testncpunsigned lomrafsrpum/a>_testncpu 4asslin"22timgros24r_ea href="+code=min))s;24 a>a> = unthr;315pulame=s#L4=6line"="+2ome" 27272"   = unt 393_inc *)fe 393_inc 4asslin"22timgros * *8e3157erne29t31lass="sr6s * update6co9s31las>3157ulamerne216 3>2168ist315="kerne21f">62146a71ae"kerne61*/<>68a hre 449315
 449316href, ct  4492233air6=a>22>316 clity>(stru7t rdequ target.dif#L374" id="L39m31L3erne29t31se clity6/a>
 721 4316/31L clahr;
e==kkkkk* oerne2* pr onntsh c8ef trdequ target.dif#L374" id="L39m31L5erne29t31L296" cl6/ 449316pulame=s#L4=6line"="+2c#Ls_rq<  * a <" idslin"22timgros27r9e3167erne29t31se clity6/ * update6 28a31se >316#L445" id="L7 name70=========seqt < cfs_t6=
 4316=an class=6"d8c31"22>3169ulame=s#L4=6line"="+2ome" 27272"   new_dstncpunsigned lomrafsnew_dstncpu a <4" id="L374" cl""hrpum/a>_firstnandnsigned lomre"hrpum/a>_firstnand 4asslin"22timgros * a <,="sref"7" id=70a>
24r_ea href="+code=min))awant_aff2="hed_n=r0masweighl=843171erne29t31se clity6 a>317r.c#L430" 307     ine c#L470f="ke2ne2unfnew_dstncpunsigned lomrafsnew_dstncpu a <4<#lin"22timgros3173f="+come" c6ass="726        lin"22timgroc#Litv href="kerneperitv"hr;thr;317truct 31.pulame=s#L4=7kerne216 3>2168ist3177ulamerne216 3>2168ist6e"de=cf6_rq" 68.+co  449cfs_t6 an class=6l28c31-->>31.9
20>3a6r28v31se >318ck_c#Lrt_f2=min_2lest;od""de=rq
r;ass unsigned lomro"+nr;r r;ass unsign 4asslin"22timgros>318.c#L430"    7    9ine2ome" 27272"   = unt 393_inc *)fe 393_inc 4asslin"22timgros * *8e3183erne29t31ct 
3183f="+come" c6ass="726seqt < 31c2="sref"22asskerne216 3>2168ist318c#2f="ke2ne21>24 a>a> = unthr;31c.c#L430"  line"de=cf6_rq" 68.+co  449318" class="sre6ncfs>686="sreeeeeeeeeee* Aggressive migron belifhref="kerne22**<>22endif#L374" id="L39#3188erne29t31me rbtre61318="line"de=cf6_rq" 68.+codeeeeeeeeeee* 1)tehsetss cacla cold, orref="kerne22**<>22endif#L374" id="L39#3189erne29t31me rbtre61an class=6ec8c31me >318
319href, ct  44920>3a6er8e31" n>319vrunttask_nl6ep_rq63in_vr2nthr;26i9a3192erne29t31" n21N2=6= * update6198=31" n>319.c#L430"  s="lin"22timgroupdtafsraclashotnsigned lomre"hrafsraclashotc.9"4" lest;od""de=rq
r;asshotnsigned lomre"hr;asshot 4asslin"22timgros
3193 449319s=2223="sr221     ine" 27272"    L31"c#2f=#ifdefmin_24tuntifs_alCONFIG_SCAIDSTATS 319pulame=s#L4=6line"="+2c#L_rq< 32L29>319296" cl6="> 42432L29>30c2="sref"22assen]u/lef_2fs_rq_lisL318" 30c3>318.c#L430"    7    9ine2ome" 27272"   = unt 393_inc *)fe 393_inc 4asslin"22timgros318="l="line"de=cf6_rq" 68.+cod1air B19fs_t6=30"
2a href#endif c6ass="726seqt < 319hre2lin"220tl_a>)untmigron be_costct <74" -1SD_LOAD_BALANCErq"   2f"21>272D_BALANCEr2"   2f"21>27r9e31"1erne29231" n21N2=6= 39>20>3" c6ass="726seqt < 319pulame=s#2lc31L29>317.c#L430" 9"mi>318.c#L430"    7    9ine2ome" 27272"   = unt 393_inc *)fe 393_inc 4asslin"22timgros 2ffffffcont2nuetity *8e31"6erne29231"292072=6= 39>20>3" c6ass="726seqt < 272D9ffffcont2n"line"de=cf6_rq" 68.+cod22>3102"line"" c6ass="726seqt < >312
 4317"sref"22s 7979/31"22>31"221visit it ifthe#couldn'tke2ne21>24 a>a> = unthr;21rq be migronfdyaytrtpencpu?#iref"21on24 a>a> = unthr;)untdomain="s2e"lin2172.c#L425" id="<e N2=60 * upop9m31L4es wi="kn "rneupd"me rbtre61an class=6ec8c31me >318
27r9e31"3erne29231se 21***************************#irRtct 30L29>30"" class="sre6ncfs>682fffffors"22> 4316/30L29>30"" class="sre6ncfs>682fc 41661_min_2runth26 ir.#* Cal4167wi=" bsn>rdequ targe74" id="L39m3098erne29t30"22> 4316=2r;)un2ea hr21ref="kerne61*/<>68a hre 4317"7e"de=pse7 29531"22>311#erne61*/<>5ef="kernr.#iref"21> on on()r 4ass2iid_idlest;od""de=rq
r;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroc#Lrt_f"lipdate_min_vru/le 3id_idlest;od""d2_aff2="hed2n=r0masweighl=8431"8erne22t31.c2L446"7= * update6" 8l31L29>319pulame=s#2kernepolic2e21 a!o74" id="L374" clER2SCAID2imeSCHED_P31" n21N2=6 31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronfaiigronfai()rnsign2timgroc#Lu"22> nck_c#Lrt_f"lc3122f="+come" c6ass="726seqt < 20>3a6er8e31" n>31lros22or_e29t48erry_saf" 27272"   = untlros22or_e29t48erry_saf"l6="> 42432L6="8031-->>318.c#L430"    7    9ine2om2timgroc#Lu"22> nck_c, <7||1> 449319pulame=s#2124"> 42472ref"22nli7e<9a3124">312.c2L430"22encsreluntmigron bet_CAIDSTATSrunttask_nlse" cnthrignpa6ref="65" a> *2="sr2" +id="L374"0 *22+come" c6ass="726                         re"hrafsraclashotc.9"4" lest;od""de=rq
r;asshotnsigned lomre"hr;asshot 4asslin"22timgros 721312 cl2hr;31c2="sref"22asskern2 u 4s=")4"2id="L374" cldicnspan unsi2ned l2mro"+nr;r encogghl>/a>425" id="< 4494erne29t"22timgroupdtafsraclashotnsigned lomre"hrafsraclashotc.9"4" lest;od""de=rq
r;alpdate_min_vru/le 3id_idlest;od""d21na!lass4"2hrefwansse" ct <)4" id="L274" c2dicnspex> *ctcontinue#Lrt_f"lc 449 *24 a>a> = unthr;)un2migron be_cost * 449 44()2ne21>24 a>a> = unthr; 44()2ne21>24 a>a> = unthr; 42472tmigron be_cost *rdequ targeternes aire a9lhs="sren*/<8r301ef"21> 44()="L39m3098erne29t30"22> 4316=
rdequ targequ target.dif#L374" id="L39m319kerne29t32_aff2="hed2n=r0masweighl=843134erne22t31" 23<8>31L29>317.c#L430" 9"mi32L29>319296" cl6="> 42432L29>30c2="sref"22assen]u/lef_2fs_rq_lisL272_aff2="hed2n=r0masweighl=8r31-6erne22t31L22372=6= 39>20>3" c6ass="726seqt < )untmigron be_cost *2223line"" c6ass="726seqt < 21682st224 *2233air6193="sref"6129c31>22>31424ef="kerne61*ate6*<8n30.c#>30L>(sta> = 319.c#L430" tifs_l6=">()r 4ass2iid_idlest;odco9d31" n>31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronfu/lef_2fs_rq_lisL314=2kerne22nli72ghl=8tfwanuntloo4_br9"mi24 a>a> = unthr;27r9e31>5erne29231me 24726> 41661_min_2runth26 ir.#* ef"21> 44satv"hr9t31   3aup9t3130" n21N2tasight8n30.adt2fa94bus"hrthre2ne21>24 a>a> = unthr;314hr2f="ke2ndate"kerne61*/<>68a hre30L29>30"" class="sre6ncfs>682="line"de=2f6_rq" 68.+codeeeeeeeeeee2 We#d2 fkermigronftehsesernisiarehre2ne21>24 a>a> = unthr;314
/ (obviously), orr* Cal4167wi=" bsn>rdequ targe74" id="L39m3098erne29t30"22> 4316=5ef="kernr.#iref"21>    3imgros    3il6=">()r 4ass2iid_idlest;od""de=rq
r;ass2iin unsigned lomre"hr;ass2iie=miass="lin"22timgroc#Lrt_f"lipdate_min_vru/le 3id_idlest;od""d224"> 4246/2ef"22nli6th9L3124">315="k2rne22252timgros24r_ea()r 4ass2iid_idlest;od"ros2hes_98=31" n>319.c#"ros2hes_lomre"hr;ass2iie=mias   3imgros24r_ea()r 4ass2iid_idlest;odco9d31" n>31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronf/lef_2fs_rq_lisL30L>(sta> = 319.c#ifs_l6="/lef_2fs_rq_lisL315="kerne21f2>621425446"71f="kerne27_v9u31.c#>311cla29>319296" cl6="> 42432L29>3132e" name="L47 c#L470f="ke2ne2unf2 & Oerne2*2pr Remember72c#etpero()r 2hapbe26meSCHED_POWER_SCAIDtie" c"t=mSD_LOAD_BALANCErq"   2f"21>272erne2* pr 2u"_ea un_gr (e. We#eastwa2 +pic26>3122f="+come" c6ass="726seqt < 20>while5" id="< 42432LL374imgros316="kerne22n2i722226encsreluntmigron bet_gronfai()rnsigned lomrafsrantmigronf29t31" n21N2=6= * lros22" 2728erry 27272"   = untlros22" 2728erryl6="> 42432LL374imgros31>2="sr2" +id="L374" clER_rant"    7    9ine2ome" 27272"   = unt 393_inc *272ensigned l2Alsytad+cle72 putL*hsnew_2stncp26>3133f="+come" c6ass="726seqt < 
e==kkkkk* o2rne2*26<8>31L29>317.c#L430" 9"mi319296" cl6="> 42432L29>272e_BALANCEr26co8r31L29>31L0" class="l26elta2643177ulamerneWel31L2askyore t30"ess seen everyrne29t31ire is,if#l4l6="quitsrequ target.dif#L374" id="L39m319kerne29t32 c.9" ssp#2L4="sreffffff4caLBF_SOME_2INNED2*311cla29>319296" cl6="> 42432L29>272e6 22>3138="srkern2"kerneperi2v"hr;thr; *3177ulamernetak3askeighlhs="everyrnr*22fa9l36=a>319296" cl6="> 42432L29>272r.9" c.9" 2" id="L374" cl""hLBF_SOME2PINNE2 *3   lNEED_BREAKerne"t=mSD_LOAD_BALANCErq"   2f"21>272rnsigned l2cpu a <4" id="L374" cl""h2ew_ds2ncpunsigned lomrafsnewlashotc.eighl"t=mSD_LOAD_BALANCErq"   2f"21>272sweighl=8r2174erne29t31L296" cl6ref=2kerne22<8>31L29>317.c#L430" " c6ass="726seqt < 311clalse" cnthrignpa6ref="65" a> *2="sr2" +id="L374"0 *22+come" c6ass="726                         re"hrafsraclashotc.9"4" lest;od""de=rq
r;asshotnsigned lomre"hr;asffffffffcontinuetit;asfffv"hr;thr;21682st272s6 22>3138="srkern2" c.9" ssp2s= ~id="L374" cl""hLBF_AL2_PINN28/a> *(sta> = 319.c#ifs_l6="29t31" n21N2=6= * updatetifs_98=31" n>319.c#L430" tifs_l6=">gronfai()rnsigned lomrafsrantmigronfu/lef_2fs_rq_lisL3122f="+come" c6ass="726seqt <  449 4317LB_MINate6s=8e31ct >3  _MIN= * hre2unfa>)feao/a> *319.c#ifs_l6="2lity616re2unfa>)fear.#iref"21> 449319s=2223="sr221     ine" 27272"    L2728e3183erne29t31ct 
3133f="+come" c6ass="726seqt < 31L29>317.c#L430" 
 4317ifs_98=31" n>319.c#ifs_l6="2/22**k_c#Lrt_f"lc2728_n=r0masw2 * update61*8<31" n>31c.c2L430"28update6 48c31se >31.pulame=s#L4=7kern231e" >318"2class="sre6ncfs>686="sree2eeeee28="sr6s * update6co9s3425" id="< 4494erne29t"22timgroupdtafsraclashotnsigned lomre"hrafsraclashotc.9"4" lest;od""de=rq
r;alpdate_min_vru/le 3id_idlest;od""d21me >318="2ine"de=cf6_rq" 68.+codeee2eeeee28fs_t6=272="ke6ne21"25ef="kerne21) & Onl2)teoo2many 29 *319hre2, ct 292timgro1>24r_ea href=ef="kernr.#iref"21>    3mgros    3ne29t"22timgroupdtafsraclashotnsigned lomre"hrafsraclashotc.9"4" lest;od""de=rq
r;al"t=mSD_LOAD_BALANCErq"   2f"21>272=lc272q_lisL319296" cl6="> 42432L29>319.c#ifs_l6="/lef_2fs_rq_lisL3133f="+come" c6ass="726seqt < 319.c#c"t=mi24 a>a> = unthr;>>>>>>>>* NEW"+co N2=60 * upis a sourcehed_l9l3ncy, sotpreL39#ib2asse21>24 a>a> = unthr;318"230c322endieul2" 9t31 inimizasse21>24 a>a> = unthr;318="2="line"de=cf6_rq" 68.+cod2air B2971ae"kerne61*/<>68a hre 449 4316/313rne29t30--3cfs_t6=an class=6ke8n30--3>30"
30igronfdyaytany oe22oycpu in="ref"21> 449319hre3lin"230tl_a>)untmigron be_coe27_v9u31.c#>311cla29>319296" cl6="> 42432L29>30c2="sref"22assen45" id="L7 name70==CPU_NEWLYlin"22timgro1>24r_eaCPU_NEWLYlin"2=60hpdate_min_vru/le 3id_idlest;od""d3D_BALANCEr3"   2f"21>27r9e31"1erne29331" n30_t 273r3BALANCEr3"href="kerneperitv"hr;thr3_rq< 30s_als#endif c6ass="726seqt < 3133f="+come" c6ass="726seqt < 24 a>a> = unthr; 44924 a>a> = unthr;>>>>>>>>* asight8n30.adrne29t31"22> 4316/313r831030fs_t6=3132e" name="L47 c#L470f="ke2ne2unf38n31"->>313
273rne29t31"23> 4317"sref"22s 7979/31"23>31"231>3122f="+come" c6ass="726seqt < 31_t )untdomain="s3e"lin3172.c#L      lin"22timg4s="ss4" id="L374" cls27r9e31"3erne29331se 31signed lomre"hrafsraclashotc.9"4||1>lros2"21>   il 27272"   = untlros2"21>   ilne29t="+code=minthr; *_testncpu 4ass374imgros2r;)un3ea hr31gned lomre"hrafsraclashotc.9"4"  4317"7e"de=pse7 39531"31e* Aggressive migron belifhref="kerne2Right now, *22faispanehed_anly1Lwo places1ef"21> 44()endif#l416,t_aff2="hed_n=r0masweighl=843147erne29t399 44()ternes aire a9lhs="srent_aff2="hed_n=r0masweighl=843147erne29t3kernepolic3e21 a!o74" id="L374" clER3SCAID32l1) ogghl>/ (obviously), orref="kerne2/<8r301ef"21> 44()="L39m3098erne29t30"22> 4316=20>3a6er8e31" n>31e29t31L296ad1N2=6=ef="kerne6129t31L296ad1ne29t"22timgroupdtaf29>319296" cl6="> 42432L29>32L29>319296" cl6="> 42432L29>30c2="sref"22assen];r r;ass unsign 4aul2"    L 42473ref"22nli7e<9a3124">312.c3L430"32s_als  LA href="kernefor2 231 a  721313>(sta>aul2"    L312 cl3hr;319.c#c"t=mi30.ad_asighternefold* up*22facpul31L2s30.ad_avgt_aff2="hed_n=r0masweighl=843147erne29t3_aff2="hed3n=r1masweighl=9#31l9erne23t31)"33l1) ogghl>/ (obviously), orr*qu target.dif#L374" id="L39m319kerne29t33sctl_a>)un3migron be_cost *2="sr2" +id="L374"0 *22+come"hr;ass2iie=mias  id=70a>
3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf3saff2="hed39t31ct  42473tmigron be_cost *
30L>(sta> = 317.c#L430#Lrt_f"lc24r_ea()r 4ass2iid_idlest;odshot 4asslin"22tish+come"hr;ass2iie=miasshot 4asslin"22tish+com#Lrt_f"lc
32Laskypeclas0 *22fa9l31v"hr]32e" name="L47 c#L470f="ke2ne2unf3se31"7erne3a>)untmigron be_cost *273aff2="hed_3=r0masweighl=8r31-8erne29331>2233air6qcoppdate_6129131>22>3138="srkern3216 3>21683st234/a> * 4316=an class=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3"t=mSD_LOAD_BALANCErq"   2f"21>273erne29t31>3233air6193="sref"6129c31>32>314341a> *
32Laskypeclas0 *22fa9l31v"hr]"t=mSD_LOAD_BALANCErq"   2f"21>273eaff2="hed3ai()r - eastehsetp m2poto3gue  34hrefwansseLBF_SOME_PINNED"hr;<0x04="s3rne29t31se3clity6/ref"22nli6th9<31se3>314=343a> *317.c#L4303"t=mSD_LOAD_BALANCErq"   2f"21>273ee3133erne3s0 *22fa9l31>3erne29t31mi3_vrun34>3133f="+come" c6ass="726seqt <  *273eu 4s=")4"3"   2f"21>27r9e31>5erne29331me 346a> *319.c#upd9l3_=fs/lfs_ne29t"22timgroupdtafafs/shot 4asslin"22ti=fs/sh+com, 13"t=mSD_LOAD_BALANCErq"   2f"21>273eaff2="hed3 +id="L374" clER_tafsracl3shotn34update6 48c31se >31.pulame=s#L4=7kern31L296" cl63 * update6th9s31L29>314hr3f="ke34lity6  * update6<28"31se >3177ulamernu target.dif#L374" id="L39m319kerne29t33="line"de=3f6_rq" 68.+codeeeeeeeeeee3 We#d3 fkermigronftehsesernisiarehref="kerne2We ne" 9t31upd9l36shares afts="upd9l* up*g 38>30.ad_asighte131me >315
/s * 4316=20>3a6er8e31" n>31upd9l3_=fs/shares98=31" n>319.c#upd9l3_=fs/sharesne29t"22timgroupdtafafs/shot 4asslin"22ti=fs/sh+com3"t=mSD_LOAD_BALANCErq"   2f"21>27324"> 4246/3ef"22nli6th9L3124">315="k3rne2235s_als  LA href="kernefor2 231 a 24r_eas2iid_idlest;odsaw_spin_unernepirqrestorL374" clER_r.c#osaw_spin_unernepirqrestorLne29t="+code=minthr;317.c#L4303"t=mSD_LOAD_BALANCErq"   2f"21>273430"  lina3e="L47 " +id="L374" clER_3ew_ds35"kerne6re8=31min>31c2="sref"22asskern34_BALANCEr3n=r0masweighl=8r31l5erne23t31.c3L446"6e2734aff2="hed3ntmigron bet_aff upda lom3o"+nr35 *8e3157erne23t31la355" id="L7 name70=========seqt < 315="kerne21f3>621435446"7erne61*voidlgronfai()rnsignupd9l3_sharesu 4asslin"22timupd9l3_sharesne29t hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf3 & Oerne2*3pr Remember72c#etpero()r 3hapbe36me * 4316=an class=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3"t=mSD_LOAD_BALANCErq"   2f"21>273s="sr86a 23ef="ke31ate>316="kerne22n3i722236s_als  LA href="kernefor2 231 a 24r_eas2iid_idlest;odsc6/sead_0mcl=8r3092erne29t3sc6/sead_0mclne29t3"t=mSD_LOAD_BALANCErq"   2f"21>273s30"  lina3c6Lrtpd64pan>
e==kkkkk* o3rne2*36<8>31L29>317.te6<28"31se >3177ulamernu target.dif#L374" id="L39m319kerne29t33e_BALANCEr36co8r31L29>31L0" class="l36elta36726> 41661_min_2runth26 ir.#iref"21>* It9m31hr9th36=a><"0 *22 treee13askeottom6up9fashion, seeu target.dif#L374" id="L39m319kerne29t33eaff2="hed3L4="sreffffff4caLBF_SOME_3INNED36line"de=cf6_rq" 68.+co  4lros2add_0eaf_=fs/sh() for de  ils="L39m3098erne29t30"22> 4316= *3177ulamernetse" cnth ulait"hr9do notrcontribul36=o30.adtequ target.dif#L374" id="L39m319kerne29t33wednsigned3lomre"hrafsrput_allowed 43="lin322timgro1>24r_ea href="+code=min))awant_alse" cnthrhi9m3rchy 27272"   = untlse" cnthrhi9m3rchyne29t"22timgroupdtafafs/shot 4asslin"22ti=fs/sh+com332e" name="L47 c#L470f="ke2ne2unf3new_dstncp3 a <4<#lin"22timgros
273sweighl=8r3174erne29t31L296" cl6ref=3kerne37<8>31L29>317." c6ass="726seqt < 273d_n=r0masw3ighl=843176erne29t31se cl3ty6  3721683st/ (obviously), orr* Compul36=re cpul31L2s3hi9m3rchical60.adt2actor for e29t*<>22e0 *22="L39m3098erne29t30"22> 4316= 4316= 4316/313/nr_srelun3migron bet_ unsigned lomr3"+nr;3872.c#L425" id="<

31ef="kerneperitv"hr;thr;30L>(sta> = 319.c#ifs_l6="/lef_2fs_rq_lisL31c.c3L430"3872=6= 39>20>30.c#>30L>(sta> = 
686="sree3eeeee385" id="L7 name70=========seqt < 318="3ine"de=cf6_rq" 68.+codeee3eeeee38446"71f="kerne27_r;od"s_rnsd a 
 *(sta> = 319.c#ifs_l6="29t31" n21N2=6= * s=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3erne29t31ct 319.c#ifs_l6="nc *319.c#asightv"hr/lef_2fs_rq_lisL319hre3, ct 392timgro1>24r_} els36ef="kerneperitv"hr;thr;319.c#ifs_l6="29t31" n21N2=6= * u id=70a>
32Laskypeclas0 *22fa9l31v"hr]fwansse" ct <74" id=etifs_98=31" n>319.c# tifs_l6="/lef_2fs_rq_lisL319.c#ifs_l6="2*9t31" n21N2=6= * u id=70a>
32Laskypeclas0 *22fa9l31v"hr]erne29t31ct 319.c#ifs_l6="nc *319.c#asightv"hr/lef_2fs_rq_lisLlfs_98=31" n>319.c#ifs_l6="2/9t31" n21N2=6= * u id=70a>
32Laskypeclas0 *22fa9l31v"hr]fwansse" ct <74" id=0ms_98=31" n>319.c#ifs_l6="nc *319.c#asightv"hr +n4" -1SD_LOAD_BALANCErq"   2f"21>273 a <4" id=3L374" cldicnsraclasni) _t3iet <39<8>31L29>317." c6ass="726seqt < 
32Laskypeclas0 *22fa9l31v"hr]fwansse" ct <74" id=etifs_98=31" n>319.c# tifs_l6="29t31" n21N2=6= * lfs_98=31" n>319.c#ifs_l6="/lef_2fs_rq_lisL318"330c3274rne29t30--4cfs_t6=an class=6ke8n30--4>30"
40igron" c6ass="726seqt < 319hre4lin"240>3122f="+come" c6ass="726seqt < 27r9e31"1erne29431" n40a-hoterne61*voidlgronfai()rnsignupd9l3_etifs_98=31" n>319.c#upd9l3_etifs_ne29t0.c#>30L>(sta> = 24r_ea()r 4ass2iid_idlest;odshot 4asslin"22tish+come"hr;ass2iie=miasshot 4asslin"22tish+come"22> 4316=an class=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3"t=mSD_LOAD_BALANCErq"   2f"21>274lc31L29>317.ate6*<8n30.c#>30L>(sta> =  4316=an clasjiffiesu 4asslin"22timjiffiesl6="/lef_2fs_rq_lisL20>3rnende=minthr;319.c# tifs__lse" cnt+come""22> 4316=an clasnowypeclas0 *22fa9now+com32e" name="L47 c#L470f="ke2ne2unf4r831040air6qcoppdate_6129131>22>3138="srkern48n31"->>314
319.c# tifs__lse" cnt+come"22> 4316=an clasnowypeclas0 *22fa9now+com/lef_2fs_rq_lisL 4317"sref"22s 7979/31"24>31"241>3122f="+come" c6ass="726seqt < 411N2=6= 39>20>3a6er8e31" n>31sc6/sead_0mcl=8r3092erne29t3sc6/sead_0mclne29t3"t=mSD_LOAD_BALANCErq"   2f"21>274k3BALANCEr4="kernep)untdomain="s4e"lin413a> *319.c#aalk_tg_treene29t"22timgroupdtaftg/lfs__downid=70a>
_testncpu 4assg_n2href=26s9_3091ersg_n2hne29m/(voidl")hr;ass2iie=miasaskypeclas0 *22fa9l31v"hr3"t=mSD_LOAD_BALANCErq"   2f"21>274k href="ke4"   2f"21>27r9e31"3erne29431se 41imgro1>24r_eas2iid_idlest;odsc6/sead_unerne=8r3092erne29t3sc6/sead_unernene29t3"t=mSD_LOAD_BALANCErq"   2f"21>274kc 4316/2r;)un4ea hr41gned erne61*ate6*<8n30.c#>30L>(sta> = 319.c#L430" tifs_l6=">()r 4ass2iid_idlest;odco9d31" n>31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronfuhref="kerneperixecd 39rtc.9"awan4 8 4317"7e"de=pse7 49531"41e* Agros *30L>(sta> = 319.c#ifs_l6="/lef_2fs_rq_lisL3122f="+come" c6ass="726seqt < 20>3a6er8e31" n>31ifs_98=31" n>319.c#ifs_l6="29t31" n21N2=6= * #Lrt_f"lc *319.c#ifs_l6="nc *319.c#asightv"hr/lef_2fs_rq_lisL 42474ref"22nli7e<9a3124">312.c4L430"423a> *319.c#ifs_l6="29t31" n21N2=6= * div_uAlsytad+clea2hrefdiv_uAlne29t"22timgroupdtafifs_98=31" n>319.c#ifs_l6="2*ss2iid_idlest;od=fs/shot 4asslin"22ti=fs/sh+comfwansse" ct <74" id=etifs_98=31" n>319.c# tifs_l6=";thr;319.c#ifs_l6="nc *319.c#asightv"hr +n4u/lef_2fs_rq_lisL 721312 cl4hr;31L29>317.se6*<9 31L29>313>(sta>ifs_98=31" n>319.c#ifs_l6="/lef_2fs_rq_lisL313>(sta>in" ct <=31" n>319.c#in" ct8>31Lvoidlgronfai()rnsignupd9l3_sharesu 4asslin"22timupd9l3_sharesne29t hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf49e3128erne49t31ct )un4migron be_cost *3122f="+come" c6ass="726seqt < 319.c#in" ct8>31Lvoidlgronfai()rnsignupd9l3_etifs_98=31" n>319.c#upd9l3_etifs_ne29t0.c#>30L>(sta> =  42474tmigron be_cost *
31c2="sref"22asskern49u 4s=")4"4ansse" ct <.lin"22timgros4/ixec4339rt erne61*ate6*<8n30.c#>30L>(sta> = 319.c#L430" tifs_l6=">()r 4ass2iid_idlest;odco9d31" n>31>2="sr2" +id="L374" clER_rantmigronfai()rnsigned lomrafsrantmigronfuhref="kerneperixecd 39rtc.9"awan4_aff2="hed4n=r0masweighl=8r31-6erne24t31L24372=6=ros)untmigron be_cost * *319.c#ifs_l6="nc *319.c#asightv"hr/lef_2fs_rq_lisL2243air6q" c6ass="726seqt < 21684st244/a> *#endif c6ass="726seqt < 4233air6193="sref"6129c31>42>31444>3122f="+come" c6ass="726seqt < 314=4472.c#L425" id="< * migronfdyaytrtpencpu?#irrrrrrrrrrrrrrdur 4316/314eu 4s=")4"4"   2f"21>27r9e31>5erne29431me 44726> 41661_min_2runth26 ir.#*qu target.dif#L374" id="L39m319kerne29t34raff2="hed4 +id="L374" clER_tafsracl4shotn44gned err 4ass2iid_idlest;odshrignernes374" clER_r.c#ofhrignernes"sr6sros314hr4f="ke44lity6  * updaerr 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsignbus"hrt1>2="sr2" +id="bus"hrtv"hr/tte6<28"31se >3177ulamerneBus"hrtr0 *22 inp*22fasdtequ target.dif#L374" id="L39m319kerne29t34="line"de=4f6_rq" 68.+codeeeeeeeeeee4 We#d44446"71f="kern()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign*22f1>2="sr2" +id="L22fv"hr/ttte6<28"31se >3177ulamerneLocal60 *22 inp*22fasdtequ target.dif#L374" id="L39m319kerne29t34se >314
 *30L>(sta> = 319.c#Lotaltifs_v"hr/ttte6<28"31se >3177ulamerneTotal 0.adted_yll_0 *22s inpsdtequ target.dif#L374" id="L39m319kerne29t34srne29t31>4oa22)=canfkerbe migronfdy4ytrtp451a> *30L>(sta> =  *3177ulamerne eTotal powerted_yll_0 *22s inpsdtequ target.dif#L374" id="L39m319kerne29t34saff2="hed4a 72ef="+cosref_c*Lwit3)"4by ca451N2=6= 39>20>ate6*<8n30.c#>30L>(sta> = 319.c#avgtifs_v"hr/ttttte6<28"31se >3177ulamerneAverage 0.adtacross_yll_0 *22s inpsdtequ target.dif#L374" id="L39m319kerne29t34sne29t31se4ef"22nli6th9L3124">315="k4rne2245s_als  LA href="kernefor2 231 a 24r_easmigronfdyaytrtpencpu?/** Scne6se61sted_*22fa0 *22 *qu target.dif#L374" id="L39m319kerne29t34sc31L29>317.ate6*<8n30.c#>30L>(sta> = 319.c#L22ftifs_v"hr/lef_2fs_rq_lisL30L>(sta> =  *8e3157erne24t31la45830L>(sta> = 315="kerne21f4>621445930L>(sta> = 2="sr2" +id="L22ft"22afsrpfv"hr/lef_2fs_rq_lisL *3177ulamerneScne6se61sted_*2e bus"hrtr0 *22 *qu target.dif#L374" id="L39m319kerne29t34*Lwerne2* 4r meetdload ince()  goals4by pu461N2=6= 39>20>ate6*<8n3 hre>30L>(sta> = 2="sr2" +id="bus"hrt""22afsrpfv"hr/lef_2fs_rq_lisL316="kerne22n4i722246330L>(sta> = 319.c#maxtifs_v"hr/lef_2fs_rq_lisL30L>(sta> = 319.c#bus"hrt"0 *22_asightv"hr/lef_2fs_rq_lisL22>3138="srkern4"kerneperi4v"hr;thr; *31430 *22_imb98=31" n>319.c#0 *22_imbv"hr/tte6<28"31se >3177ulamerneIr9th3re 30" n21N2 inp*22fasdtequ target.dif#L374" id="L39m319kerne29t34wednsigned4lomre"hrafsrput_allowed 44="lin422timg}/lef_2fs_rq_lisL3133 migronfdyaytrtpencpu?#irsgrignernes - ernes ed_y 39m31_0 *22 requir8n3for ifs__N2=60 * uu target.dif#L374" id="L39m319kerne29t34rc * migronfdyaytrtpencpu?#iqu target.dif#L374" id="L39m319kerne29t34w_BALANCEr49t31se clity6 30L>(sta> = 319.c#avgtifs_v"hr/tL425" id="<319.c#0 *22_ifs_v"hr/tte6<28"31se >3177ulamerneTotal 0.adtevs="sre CPUsted_*2e 0 *22 *qu target.dif#L374" id="L39m319kerne29t342"line"de=4ernisiwe found atleast on4to()r47930L>(sta> = 3177ulamerneNr6=a>/s * *30L>(sta> = 319.c#sum"asight8n_ifs_v"hr/tte6<28"31se >3177ulamerneWsight8n30.adhed_0 *22l31L2s3=a>*qu target.dif#L374" id="L39m319kerne29t34"ednsigned4n=r0masweighl=84318kerne24t31ct481a> *30L>(sta> = 2="sr2" +id=""22afsrpfv"hr/lef_2fs_rq_lisL30L>(sta> = 319.c#0 *22_asightv"hr/lef_2fs_rq_lisL319.c#0 *22_imbv"hr/tte6<28"31se >3177ulamerneIr9th3re <2830" n21N2 inp*2e 0 *22 ?>*qu target.dif#L374" id="L39m319kerne29t34"c31L29>317. hre6s39431min>31430 *22_has_capaci#70f="ke2ne2unfik0 *22_has_capaci#7v"hr/tte6<28"31se >3177ulamerneIr9th3re extra capaci#7 inp*2e 0 *22?>*qu target.dif#L374" id="L39m319kerne29t34"_BALANCEr4st31c.c4L430"48update6 48c31se >31.pulame=s#L4=7kern4816 3>21684class="sre6ncfs>686="sree4eeeee48e* Aggressive migron belifhannu target.dif#L374" id="L39m319kerne29t341me >318="4ine"de=cf6_rq" 68.+codeee4eeeee48fkermigronftehsesernisiarehre6get_sn_ifs__idx - Obtainp*2e 0.adhindex3for a given 39m31 rneupdrne29t31"22> 4316/314="ke6ne21"45ef="kerne21) & Onl2)teoo4many 49l1) ogghl>/ (obviously), orr* @sd: Tre e9m31_rneupd whose 0.ad_idx ir9t31be9obtainedrne29t31"22> 4316/314" n21N2=6=4+cosref_6fs8r31" n>319hre4, ct 49CPU d byayttput_allowed, orre @"22a: Tre I22a erneusted_*2e CPU3for whose sd 0.ad_icx ir9obtainedrne29t31"22> 4316/314"ew_dstncp4ypeclas0 *22fa9l3191erne24t31" 49rq be migronfdyaytrtpencpu?#iqu target.dif#L374" id="L39m319kerne29t34"nr_srelun4 href="kerneperitv"hr;thr4313>(sta>in" ct <=31" n>319.c#in" ct8>31L hre6s39431min>31430et_sn_ifs__idx0f="ke2ne2unfik0et_sn_ifs__idxl6=">()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicnt.dif#L374" id="L39m319kerne29t34"e3183erne4c#Ls_rq<  4316=an class=6/"22aftypt <=31" n>319.c#s=6/"22aftyptigned30L>(sta> = 2="sr2" +id=""22aronfuhref="kerneperixecd 39rtc.9"awan4 a <4" id=4L374" cldicnsraclasni) _t4iet <49<8>31ef="kerneperitv"hr;thr;31.pulame=s#L4=7kern441e" >318"430c32="sr2" +id=""22aronfusros318="4="line"de=cf6_rq" 68.+cod4air B49446"71f="kerncase de=minthr;24r_eaCPU_NOTlin"246"7:Lrt_f"lc *(sta> = 319hre5lin"250tl_a>)untmigron be_coeighl"t=mSD_LOAD_BALANCErq"   2f"21>275D_BALANCEr5"   2f"21>27r9e31"1erne29531" n50hrefwansseLBF_SOME_PINNED"hr;<0x04="s5r3BALANCEr5"href="kerneperitv"hr;thr5_rq< 50346"71f="kerncase de=minthr;24r_eaCPU_NEWLYlin"2=60h:Lrt_f"lc(sta> = 31L29>317.c#L430" eighl"t=mSD_LOAD_BALANCErq"   2f"21>275D6BALANCEr5"_24tuntifs_alCONFIG_SCAI5_rq< 50a href="eake_default:Lrt_f"lc20>3hrafsract0L>(sta> = 275D9BALANCEr5""line"de=cf6_rq" 68.+cod52>31050fs_t6=>315
 4317"sref"22s 7979/31"25>31"251tl_a>)untmigrse6*<9 31L29>313>(sta>ifs__idx0f="ke2ne2unfikifs__idxl6="/lef_2fs_rq_lisL511N2=6" c6ass="726seqt < )untdomain="s5e"lin51s_als  LA href="kernefor2 231 a 27r9e31"3erne29531se 51imgroate6*<8n30.c#>30L>(sta> = ()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5kc 4316/31ef="kerneperitv"hr;thr;3143195er_POWER_SCA"22timgro1>24r_ea195er_POWER_SCA"2l6="/lef_2fs_rq_lisL2r;)un5ea hr51 4317"7e"de=pse7 59531"515" id="L7 name70=========seqt < 30L>(sta> = 24r_ea__wghligned30L>(sta> = ()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5kernepolic5e21 a!o74" id="L374" clER5SCAID52me)untmigrse6*<9 31L29>313>(sta>default_sca2affreq_power0f="ke2ne2unfikdefault_sca2affreq_powerl6=">gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL 42475ref"22nli7e<9a3124">312.c5L430"52s_als  LA href="kernefor2 231 a 30L>(sta> = ()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5kc312 cl5hr;31ef="kerneperitv"hr;thr;30L>(sta> = 319.c#asightv"hr 9t31" n21N2=6= * miso74" id="L374" cldicfwansse" ct <74" id=targ_asight98=31" n>319.c#targ_asightl6="/lef_2fs_rq_lisL30L>(sta> = 2="sr2" +id="smt_gupdv"hr 9t31" n21N2=6= * miso74" id="L374" cldicfwansse" ct <74" id=tmt_gupd1>2="sr2" +id="smt_gupdv"hr/lef_2fs_rq_lisL2="sr2" +id="smt_gupdv"hr /9t31" n21N2=6= * asight98=31" n>319.c#asightv"hr/lef_2fs_rq_lisL)un5migron be_cost *)untmigrse6*<9 31L29>313>(sta>tmt_gupd1>2="sr2" +id="smt_gupdv"hr/lef_2fs_rq_lisL 42475tmigron be_cost *
30L>(sta> = 24r_ea__wghligned30L>(sta> = ()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5sc31ef="kerneperitv"hr;thr;3143default_sca2afsmt_power0f="ke2ne2unfikdefault_sca2afsmt_powerl6=">gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL)untmigron be_cost *2253446"7ate6*<8n30.c#>30L>(sta> =  hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5216 3>21685st254me5233air6193="sref"6129c31>52>314541a> * 4316=an class=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3"t=mSD_LOAD_BALANCErq"   2f"21>275eaff2="hed5ai()r - eastehsetp m2poto5gue  541N2=6= 39>20>3a6er8e31" n>31uAlsytad+clea2hrefuAlne29>30L>(sta> = 3143availab2a1>2="sr2" +id="availab2aldicns6s39431min>3143agenernm21>2="sr2" +id="agenernm2ldicns6s39431min>3143av mgros314=54s_als  LA href="kernefor2 231 a 3erne29t31mi5_vrun54imgro1>24r_easmigronfdyaytrtpencpu?/*u target.dif#L374" id="L39m319kerne29t35ec * migronfdyaytrtpencpu?#########* Si1N2 wel31L2re sead27r9e31>5erne29531me 54726> 41661_min_2runth26 ir.#########* we sead6=hem o1N2 before do 4316/315raff2="hed5 +id="L374" clER_tafsracl5shotn54line"de=cf6_rq" 68.+co  qu target.dif#L374" id="L39m319kerne29t351L296" cl65 * update6th9s31L29>314hr5f="ke54lity6  * updats39431min>3143agenernm21>2="sr2" +id="agenernm2ldice"22> 4316=an clasACCESS_ONC22timgro1>24r_eaACCESS_ONC2ne29t"22timgroupdtafshot 4asslin"22tish+comerne29t31ct 2="sr2" +id="agenernm2ldic3"t=mSD_LOAD_BALANCErq"   2f"21>275eff2="hed_5f6_rq" 68.+codeeeeeeeeeee5 We#d54nisicouldcoggnur.dstncpu r.#av mgros 4316=an clasACCESS_ONC22timgro1>24r_eaACCESS_ONC2ne29t"22timgroupdtafshot 4asslin"22tish+comerne29t31ct 275se >314
5oa22)=canfkerbe migronfdy5ytrtp551a> *(sta> = 3143agenernm21>2="sr2" +id="agenernm2ldic3"t=mSD_LOAD_BALANCErq"   2f"21>275saff2="hed5a 72ef="+cosref_c*Lwit3)"5by ca55hrefwansseLBF_SOME_PINNED"hr;<0x04="s5sne29t31se5ef"22nli6th9L3124">315="k5rne2255346"71f="kernrnende=minthr;3177ulamerneEnsurer9that powertwonl31L2t end6up9be qu target.dif#L374" id="L39m319kerne29t35sc31L29>317.c#L430" 6s39431min>3143availab2a1>2="sr2" +id="availab2aldic 9tc"t=mSD_LOAD_BALANCErq"   2f"21>2754_BALANCEr5n=r0masweighl=8r31l5erne25t31.c55420>3hrafsract0L>(sta> = 2="sr2" +id="availab2aldic 9t"22timgroupdtaftotalsytad+clea2hreftotalldic -ats39431min>3143av mgros *8e3157erne25t31la558315="kerne21f5>621455air6qcoppdate_6129131>22>3138="srkern5 & Oerne2*5pr Remember72c#etpero()r 5hapbe56046"71f="kernrnende=minthr;gronfai()rnsignmAlsytad+clea2hrefsAlne29)hr;ass2iie=miastotalsytad+clea2hreftotalldic <gnur.dstncpu r.#195er_POWER_SCA"22timgro1>24r_ea195er_POWER_SCA"2l6="332e" name="L47 c#L470f="ke2ne2unf5erne2* pr 5u"_ea un_gr (e. We#eastwa5 +pic56tl_a>)untmigron be_co30L>(sta> = 24r_ea195er_POWER_SCA"2l6="/lef_2fs_rq_lisL316="kerne22n5i7222563a> *24r_ea195er_POWER_SHIFTl6="/lef_2fs_rq_lisL3143div_uAlsytad+clea2hrefdiv_uAlne29t"22timgroupdtafavailab2a1>2="sr2" +id="availab2aldicns6s39431min>3143totalsytad+clea2hreftotalldic3"t=mSD_LOAD_BALANCErq"   2f"21>275 _BALANCEr56co8r31L29>31L0" class="l56elta5639rt " c6ass="726seqt < 31.pulame=s#L4=7kern5 L296" cl65lity6/ * update6 28a31se 5316#L56e* Agerne61*voidlgronfai()rnsignupd9l3_==6/power0f="ke2ne2unfikupd9l3_==6/powerl6=">()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf5 "line"de=5n=r0masweighl=8431L8erne25t31--56fkermros *30L>(sta> = 319.c#asightv"hr 9t31" n21N2=6= * miso74" id="L374" cldicfwansse" ct <74" id=targ_asight98=31" n>319.c#targ_asightl6="/lef_2fs_rq_lisL24r_ea195er_POWER_SCA"2l6="/lef_2fs_rq_lisL20>()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsignsd mgros 4316=an clasmiso74" id="L374" cldicfwansse" ct <74" id=0 *22sso74" id="L374"0 *22sl6="/lef_2fs_rq_lisL *gronfai()rnsignmiso74" id="L374" cldicfwansse" ct <74" id=flagsso74" id="L374"flagsldic &nm2;gnur.dstncpu r.#1D_SHARE_CPUPOWER2timgro1>24r_ea1D_SHARE_CPUPOWERv"hr3 &nm2;&nm2;gnur.dstncpu r.#asight98=31" n>319.c#asightv"hr wans 1usros31L29>317.c#L430" rnende=minthr;319.c#t9m31_featne29t"22timgroupdtafARCH_POWER2timgro1>24r_eaARCH_POWERl6="332e" name="L47 c#L470f="ke2ne2unf5w_BALANCEr59t31se clity6 gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisLgronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL22>3138="srkern5" c.9" ssp5s= ~id="L374" cl""hLBF_AL5_PINN58/a> *(sta> = 24r_ea195er_POWER_SHIFTl6="/lef_2fs_rq_lisL * *2="sr2" +id="sga hrefwansse" ct <74" id=power_ori mgros 4316=an claspower0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL
3133f="+come" c6ass="726seqt < 31L29>317. nende=minthr;319.c#t9m31_featne29t"22timgroupdtafARCH_POWER2timgro1>24r_eaARCH_POWERl6="332e" name="L47 c#L470f="ke2ne2unf5"_BALANCEr5st31L29>317.c#L430" s2iid_idlest;odpower0f="ke2ne2unfikpowerl6=" *9t31" n21N2=6= * 3rch_sca2affreq_power0f="ke2ne2unfik3rch_sca2affreq_powerl6=">gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL31c.c5L430"5872=6= 39>20>3els3 c6ass="726seqt < 21685class="sre6ncfs>686="sree5eeeee58="sr6s * update6co9s3s2iid_idlest;odpower0f="ke2ne2unfikpowerl6=" *9t31" n21N2=6= * default_sca2affreq_power0f="ke2ne2unfikdefault_sca2affreq_powerl6=">gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL22>3138="srkern5="ke6ne21"55ef="kerne21) & Onl2)teoo5many 59/a> *24r_ea195er_POWER_SHIFTl6="/lef_2fs_rq_lisL319hre5, ct 59>3122f="+come" c6ass="726seqt < 20>3a6er8e31" n>31power0f="ke2ne2unfikpowerl6=" *9t31" n21N2=6= * sca2afrt_power0f="ke2ne2unfiksca2afrt_powerl6=">6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL *24r_ea195er_POWER_SHIFTl6="/lef_2fs_rq_lisL3133f="+come" c6ass="726seqt < 31L29>317. nen!s2iid_idlest;odpower0f="ke2ne2unfikpowerl6="32e" name="L47 c#L470f="ke2ne2unf5 a3175erne5n_24tuntifs_alCONFIG_SCAI5STATS5968>31L29>317.c#L430" s2iid_idlest;odpower0f="ke2ne2unfikpowerl6=" = 1/lef_2fs_rq_lisL31.pulame=s#L4=7kern541e" >318"530c33143s=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hr3erne29t31ct  4316=an claspower0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6=" 9t31" n21N2=6= * power0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL319hre6lin"260>3122f="+come" c6ass="726seqt < 27r9e31"1erne29631" n60hrefwvoidlgronfai()rnsignupd9l3_0 *22_power0f="ke2ne2unfikupd9l3_0 *22_powerl6=">()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns hre6s39431min>3143askypeclas0 *22fa9l31v"hr32e" name="L47 c#L470f="ke2ne2unf6r3BALANCEr6"href="kerneperitv"hr;thr6_rq< 602timgros2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignchiliso74" id="L374"chiliv"hre"22> 4316=an clasmiso74" id="L374" cldicfwansse" ct <74" id=chiliso74" id="L374"chiliv"hr/lef_2fs_rq_lisL31L29>317.()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign0 *221>2="sr2" +id="0 *22rant,migronfai()rnsignsd mgros 4316=an clasmiso74" id="L374" cldicfwansse" ct <74" id=0 *22sso74" id="L374"0 *22sl6="/lef_2fs_rq_lisL30L>(sta> = 30L>(sta> = 31060nisicouldcoggnur.dstncpu r.# hrervalsytad+clea2href hrervall6="e"22> 4316=an clasmsecs_to_jiffiesu 4asslin"22timmsecs_to_jiffiesl6=">gronfai()rnsignmiso74" id="L374" cldicfwansse" ct <74" id=b n21N2_ hrervalsytad+clea2hrefb n21N2_ hrervalv"hr3/lef_2fs_rq_lisL>316
 4316=an clastadm21>2="sr2" +id="tadm2l6=">gronfai()rnsign hrervalsytad+clea2href hrervall6=", 1ULns6s39431min>3143maxtifs__b n21N2_ hrervalsytad+clea2hrefmaxtifs__b n21N2_ hrervalv"hr3/lef_2fs_rq_lisL31"2611a> *(sta> = 2="sr2" +id="sga hrefwansse" ct <74" id=next_upd9l31>2="sr2" +id="next_upd9l3l6="e"22> 4316=an clasjiffiesu 4asslin"22timjiffiesl6=" +>30L>(sta> = 61hrefwansseLBF_SOME_PINNED"hr;<0x04="s683BALANCEr6="kernep)untdomain="s6e"lin61346"71f="kernrnen!s2iid_idlest;odchiliso74" id="L374"chiliv"hrusros27r9e31"3erne29631se 61signed lomre"hrafsract0L>(sta> = gronfai()rnsignmiso74" id="L374" cldicns6s39431min>3143askypeclas0 *22fa9l31v"hr3/lef_2fs_rq_lisL2r;)un6ea hr61update6 48c31se >31.pulame=s#L4=7kern6 8 4317"7e"de=pse7 69531"61lity6  * updats39431min>3143power0f="ke2ne2unfikpowerl6=" 9tc"t=mSD_LOAD_BALANCErq"   2f"21>2769922>3138="srkern6kernepolic6e21 a!o74" id="L374" clER6SCAID62046"71f="kernrnende=minthr;24r_ea1D_OVERLAPv"hrusros)untmigron be_co3migronfdyaytrtpencpu?/*u target.dif#L374" id="L39m319kerne29t36_aff2="hed6n=r0masweighl=843121erne26t31" 62rq be migronfdyaytrtpencpu?#################* 1D_OVERLAP rneupds cannot dyaume9that chili 0 *22sl6target.dif#L374" id="L39m319kerne29t36_3BALANCEr6ref"22nli7e<9a3124">312.c6L430"6272.c#L425" id="< 4316/316k href="ke62> 721312 cl6hr;31c2="sref"22asskern69c31L29>317.c#L430" s2iid_idlest;odfor_each_askypeclas0 *22fa9for_each_askne29t"22timgroupdtafaskypeclas0 *22fa9l31v"hrns6s39431min>3143s9m31_0 *22fsrpf1>2="sr2" +id="s9m31_0 *22fsrpfl6=">gronfai()rnsignmi mgros20>3hrafsrac  * updats39431min>3143power0f="ke2ne2unfikpowerl6=" +9t31" n21N2=6= * power_ofmgros/ (obviously), orr################* !1D_OVERLAP rneupds can dyaume9that chili 0 *22sl6target.dif#L374" id="L39m319kerne29t36sctl_a>)un6migron be_cost * 4316/316saff2="hed69t31ct  4316/316s3BALANCEr6tmigron be_cost *
(sta> = 2="sr2" +id="0 *22rante"22> 4316=an clasthiliso74" id="L374"chiliv"hrfwansse" ct <74" id=0 *22sso74" id="L374"0 *22sl6="/lef_2fs_rq_lisL31L29>317.c#L430" dosros31L29>317.c#L430" 2="sr2" +id="0 *22rantfwansse" ct <74" id=tg21>2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL20>3hrafsrac  * updats39431min>31430 *221>2="sr2" +id="0 *22rante"22> 4316=an clas0 *221>2="sr2" +id="0 *22rantfwansse" ct <74" id=next1>2="sr2" +id="nextl6="/lef_2fs_rq_lisL2="sr2" +id="0 *22rante!"22> 4316=an clasthiliso74" id="L374"chiliv"hrfwansse" ct <74" id=0 *22sso74" id="L374"0 *22sl6="3/lef_2fs_rq_lisL2263fs_t6=21686st264 *6233air6193="sref"6129c31>62>314641a> *(sta> = 2="sr2" +id="sga hrefwansse" ct <74" id=power_ori mgros 4316=an classd mgros2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6=" 9t31" n21N2=6= * power0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL314=64s_als  LA href="kernefor2 231 a 3erne29t31mi6_vrun64>3133 migronfdyaytrtpencpu?/*u target.dif#L374" id="L39m319kerne29t36ec * migronfdyaytrtpencpu?#* Try and fix6up9capaci#7 for tiny sibpergs,p*22fa2faneeded whenu target.dif#L374" id="L39m319kerne29t36eu 4s=")4"6"   2f"21>27r9e31>5erne29631me 64726> 41661_min_2runth26 ir.#*p*22rgs like 1D_ASYM_PACKINGaneed f_b_g9t31select dnother sibpergu target.dif#L374" id="L39m319kerne29t36ena!lass4"6 +id="L374" clER_tafsracl6shotn64line"de=cf6_rq" 68.+co  4316/3161L296" cl66 * update6th9s31L29>314hr6f="ke64e* Aggressive migron belifh *u target.dif#L374" id="L39m319kerne29t36eff2="hed_6f6_rq" 68.+codeeeeeeeeeee6 We#d64fkermigronftehsesernisiarehre6See upd9l3_sd_pick_bus"hrt() and 9m3ck_asym_packerg()rne29t31"22> 4316/316se >314
/ (obviously), orr*qu target.dif#L374" id="L39m319kerne29t36srne29t31>6oa22)=canfkerbe migronfdy6ytrtp651a> *erne61*31L29>313>(sta>in" ct <=31" n>319.c#in" ct8>31L hrt.dif#L374" id="L39m319kerne29t36saff2="hed6a 72ef="+cosref_c*Lwit3)"6by ca65hrefws2iid_idlest;odfix_small_capaci#70f="ke2ne2unfikfix_small_capaci#7l6=">()r 4ass2iid_idlest;ode9m31_rneupd1>2="sr2" +id="s9m31_rneupdu ntmigronfai()rnsignmiso74" id="L374" cldicns()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign0 *221>2="sr2" +id="0 *22rant32e" name="L47 c#L470f="ke2ne2unf6sne29t31se6ef"22nli6th9L3124">315="k6rne22652timgros * migronfdyaytrtpencpu?#########* Only sibpergs can have e6* 41661_min_2runth26 ir.#########*qu target.dif#L374" id="L39m319kerne29t36sna!lass4"6ntmigron bet_aff upda lom6o"+nr6572=6= 39>20>3rnen!>gronfai()rnsignmiso74" id="L374" cldicfwansse" ct <74" id=flagsso74" id="L374"flagsldic &nm2;gnur.dstncpu r.#1D_SHARE_CPUPOWER2timgro1>24r_ea1D_SHARE_CPUPOWERv"hr332e" name="L47 c#L470f="ke2ne2unf6sL296" cl66inuetity *8e3157erne26t31la65="sr6s * update6co9s3IDtie" c"t=mSD_LOAD_BALANCErq"   2f"21>2764"line"de=6"6co9 31" n>315="kerne21f6>621465air6qcoppdate_6129131>22>3138="srkern6 & Oerne2*6pr Remember72c#etpero()r 6hapbe66046"71f="kern migronfdyaytrtpencpu?/*u target.dif#L374" id="L39m319kerne29t36erne2* pr 6u"_ea un_gr (e. We#eastwa6 +pic66CPU d byayttput_allowed, orr########* If ~90l317;ted_*2e ==6/powera2fastill9th3re, wel31L2re goodrne29t31"22> 4316/316*Lwerne2* 6r meetdload ince()  goals6by pu66rq be migronfdyaytrtpencpu?#########*qu target.dif#L374" id="L39m319kerne29t36 ne29t31se6ef="ke31ate>316="kerne22n6i722266346"71f="kernrnende=minthr;2="sr2" +id="0 *22rantfwansse" ct <74" id=tg21>2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6="#* 32 wans de=minthr;2="sr2" +id="0 *22rantfwansse" ct <74" id=tg21>2="sr2" +id="sga hrefwansse" ct <74" id=power_ori mgros31c2="sref"22asskern6 _BALANCEr66co8r31L29>31L0" class="l66elta66446"6e276 aff2="hed6L4="sreffffff4caLBF_SOME_6INNED66/ (obviously), orr* upd9l3_sg_lbnernes - Upd9l3 s9m31_0 *22l31L2s3erne6stics for 0.adhb n21Nergrne29t31"22> 4316/316wednsigned6lomre"hrafsrput_allowed 46="lin67CPU d byayttput_allowed, orre @env: Tre 0.adhb n21Nerg environed, rne29t31"22> 4316/316wLwerne2* 6 a <4<#lin"22timgros 4316/316nne29t31se6" id="L374" cl""hLBF_SOME6PINNE6772.c#L425" id="< 4316/316nnsigned l6cpu a <4" id="L374" cl""h6ew_ds67>3133 migronfdyaytrtpencpu?#i @ifcal_0 *22: Does 0 *22 containp*2isfsrprne29t31"22> 4316/316nc * migronfdyaytrtpencpu?#* @b n21N2: Should we b n21N2rne29t31"22> 4316/316n_BALANCEr69t31se clity6  4316/316d_n=r0masw6ighl=843176erne29t31se cl6ty6  67line"de=cf6_rq" 68.+co 319.c#in" ct8>31Lvoidlgronfai()rnsignupd9l3_sg_lbnernes0f="ke2ne2unfikupd9l3_sg_lbnernesl6=">()r 4ass2iid_idlest;odlbnenv0f="ke2ne2unfiklbnenvrantmigronfai()rnsignenv0f="ke2ne2unfikenvrantnt.dif#L374" id="L39m319kerne29t362"line"de=6ernisiwe found atleast on6to()r67nisicouldcoggon be_cooooooooo()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign0 *221>2="sr2" +id="0 *22rant,m hre6s39431min>3143ifs__idx0f="ke2ne2unfikifs__idxl6="nt.dif#L374" id="L39m319kerne29t36" c.9" ssp6s= ~id="L374" cl""hLBF_AL6_PINN68/a> * *ros20>ate6*<8n30.c#>30L>(sta> = 2="sr2" +id="nr_runnergv"hrns6s39431min>3143maxtnr_runnerg1>2="sr2" +id="maxtnr_runnergv"hrns6s39431min>3143mintnr_runnerg1>2="sr2" +id="mintnr_runnergl6="/lef_2fs_rq_lisL *30L>(sta> = 3143maxt==6/ifs_0f="ke2ne2unfikmaxt==6/ifs_v"hrns6s39431min>3143mint==6/ifs_0f="ke2ne2unfikmint==6/ifs_l6="/lef_2fs_rq_lisL3143first/"22afaskypeclas0 *22fa9first/"22afaskl6=" 9tc"t=mSD_LOAD_BALANCErq"   2f"21>276"c31L29>317.ate6*<8n30.c#>30L>(sta> = 276"_BALANCEr6st319.c#il6="/lef_2fs_rq_lisL31c.c6L430"68update6 48c31se >31.pulame=s#L4=7kern6816 3>21686class="sre6ncfs>686="sree6eeeee68="sr6s * updarnende=minthr;3143b n21N2_askypeclas0 *22fa9b n21N2_askl6=" 9tgronfai()rnsign0 *22_b n21N2_askypeclas0 *22fa90 *22_b n21N2_askl6=">6s39431min>31430 *221>2="sr2" +id="0 *22rant3/lef_2fs_rq_lisL319hre6, ct 691a> *3177ulamerneTally6up9tre 0.adhed_all CPUs i" *2e 0 *22 *qu target.dif#L374" id="L39m319kerne29t36"ew_dstncp6ypeclas0 *22fa9l3191erne26t31" 691N2=6= 39>20>3a6er8e31" n>31maxt==6/ifs_0f="ke2ne2unfikmaxt==6/ifs_v"hr 9tc"t=mSD_LOAD_BALANCErq"   2f"21>276"nr_srelun6 href="kerneperitv"hr;thr6 *276"nsigned l6c#Ls_rq< 20>3a6er8e31" n>31maxtnr_runnerg1>2="sr2" +id="maxtnr_runnergv"hr 9tc"t=mSD_LOAD_BALANCErq"   2f"21>276"c31L29>317.6s39431min>3143mintnr_runnerg1>2="sr2" +id="mintnr_runnergl6=" 9t~0UL"t=mSD_LOAD_BALANCErq"   2f"21>276"_BALANCEr6n_24tuntifs_alCONFIG_SCAI6STATS6968>31t=mSD_LOAD_BALANCErq"   2f"21>276"_n=r0masw62c#L_rq< 31L29>317.6s39431min>3143for_each_ask_an_0f="ke2ne2unfikfor_each_ask_an_l6=">6s39431min>3143i <=31" n>319.c#il6="ns6s39431min>3143s9m31_0 *22fsrpf1>2="sr2" +id="s9m31_0 *22fsrpfl6=">gronfai()rnsign0 *221>2="sr2" +id="0 *22rant3ns6s39431min>3143env0f="ke2ne2unfikenvranterne29t31ct 2="sr2" +id="srpfl6="usros318"630c3 4316=an class=6/shot 4asslin"22ti==6/shne29t"22timgroupdtafi <=31" n>319.c#il6="3/lef_2fs_rq_lisL22>3138="srkern7rne29t30--7cfs_t6=an class=6ke8n30--7>30"
70/a> *(sta> = 2="sr2" +id="nr_runnergv"hre"22> 4316=an classhot 4asslin"22tish+comerne29t31ct 2="sr2" +id="nr_runnergv"hr/lef_2fs_rq_lisL319hre7lin"270>3122f="+come" c6ass="726seqt < 27r9e31"1erne29731" n702a> *3177ulamerneBiashb n21Nerg toward ==6shed_our rneupd *qu target.dif#L374" id="L39m319kerne29t37r3BALANCEr7"href="kerneperitv"hr;thr7_rq< 703a> *319.c#il6="3 &nm2;&nm2;g!s2iid_idlest;odfirst/"22afaskypeclas0 *22fa9first/"22afaskl6=" &nm2;&nm2;os31L29>317.c#L430"                         2> 4316=an class=6mase_test/askypeclas0 *22fa9l31mase_test/askl6=">6s39431min>3143i <=31" n>319.c#il6="ns6s39431min>3143s9m31_0 *22fmase=8r3092erne29t3s9m31_0 *22fmasel6=">gronfai()rnsign0 *221>2="sr2" +id="0 *22rant3)usros31L29>317.c#L430"  4316=an clasfirst/"22afaskypeclas0 *22fa9first/"22afaskl6=" 9t1/lef_2fs_rq_lisL20>3hrafsrac  * upda        2> 4316=an clasb n21N2_askypeclas0 *22fa9b n21N2_askl6=" 9tgronfai()rnsigni <=31" n>319.c#il6="/lef_2fs_rq_lisL31070air6qcoppdate_6129131>22>3138="srkern78n31"->>317
(sta> = 6s39431min>3143i <=31" n>319.c#il6="ns6s39431min>3143ifs__idx0f="ke2ne2unfikifs__idxl6="3/lef_2fs_rq_lisL31"271tl_a>)untmigron be_co} els36ef="kerneperitv"hr;thr;712a> *6s39431min>3143i <=31" n>319.c#il6="ns6s39431min>3143ifs__idx0f="ke2ne2unfikifs__idxl6="3/lef_2fs_rq_lisL)untdomain="s7e"lin713a> *27r9e31"3erne29731se 71signed lomre"hrafsracanuntdst1f="kern30L>(sta> = 31L29>317.c#L430"  4316=an clasmint==6/ifs_0f="ke2ne2unfikmint==6/ifs_l6=" 9tde=minthr;2r;)un7ea hr71update6 48c31se >31.pulame=s#L4=7kern7 8 4317"7e"de=pse7 79531"71="sr6s * update6co9s32="sr2" +id="nr_runnergv"hrewans de=minthr;2="sr2" +id="maxtnr_runnergv"hr32e" name="L47 c#L470f="ke2ne2unf7k9BALANCEr7n=r0masweighl=8431"8erne27t31.c71nisicouldcoggon be_cooooooooo1f="kern30L>(sta> = 2="sr2" +id="maxtnr_runnergv"hr 9t9t31ct 2="sr2" +id="nr_runnergv"hr/lef_2fs_rq_lisL *2="sr2" +id="nr_runnergv"hr32e" name="L47 c#L470f="ke2ne2unf79e312kerne79t31lass="sr7ne"set_nex7_79d31l72tl_a>)untmigron be_co 4316=an clasmintnr_runnerg1>2="sr2" +id="mintnr_runnergl6=" 9t9t31ct 2="sr2" +id="nr_runnergv"hr/lef_2fs_rq_lisL *312.c7L430"72s_als  LA href="kernefor2 231 a (sta> = 312 cl7hr;31L29>317.c#L430" 6s39431min>3143mgsso74" id="L374"sgsldicfwansse" ct <74" id=sumtnr_runnerg1>2="sr2" +id="sumtnr_runnergigned+9t31" n21N2=6= * nr_runnerg1>2="sr2" +id="nr_runnergv"hr/lef_2fs_rq_lisL31L29>317.c#L430" s2iid_idlest;odmgsso74" id="L374"sgsldicfwansse" ct <74" id=sumtasight31_ifs_0f="ke2ne2unfiksumtasight31_ifs_igned+9t31" n21N2=6= * asight31_==6ifs_0f="ke2ne2unfikasight31_==6ifs_ne29t"22timgroupdtafi <=31" n>319.c#il6="3/lef_2fs_rq_lisL20>3hrafsracrnende=minthr;319.c#il6="332e" name="L47 c#L470f="ke2ne2unf798)un7migron be_cost * *3177ulamernu target.dif#L374" id="L39m319kerne29t37saff2="hed79t31ct 
3133 migronfdyaytrtpencpu?#########* rneupds. I" *2e newly "22a =ase, we will9allow_all *2e ==6l31L2sratarget.dif#L374" id="L39m319kerne29t37sc * migronfdyaytrtpencpu?#########* to dos*2e newly "22a 0.adhb n21N2rne29t31"22> 4316/3179u 4s=")4"7ansse" ct <.lin"22timgros7/ixec73726> 41661_min_2runth26 ir.#########*qu target.dif#L374" id="L39m319kerne29t37sna!lass4"7n=r0masweighl=8r31-6erne27t31L27372=6= 39>20>3rnende=minthr;)untmigron be_cost * 4316=an clasCPU_NEWLY_ID"22timgro1>24r_eaCPU_NEWLY_ID"2rant3sros2273nisicouldcoggon be_cooooooooornende=minthr; 4316=an clasenv0f="ke2ne2unfikenvranterne29t31ct 21687st274/a> *277erne29t31>7233air6193="sref"6129c31>72>31474tl_a>)untmigron be_co *314=743a> *2> 4316=an clasenv0f="ke2ne2unfikenvranterne29t31ct 3143env0f="ke2ne2unfikenvranterne29t31ct 2="sr2" +id="sga hrefwansse" ct <74" id=next_upd9l31>2="sr2" +id="next_upd9l3l6="332e" name="L47 c#L470f="ke2ne2unf7ec31L29>317.c#L430" ttttttttde=minthr;2> 4316=an clasenv0f="ke2ne2unfikenvranterne29t31ct 3143env0f="ke2ne2unfikenvranterne29t31ct 27r9e31>5erne29731me 74446"6e31.pulame=s#L4=7kern71L296" cl67 * update6th9s31L29>314hr7f="ke74lity6  * update6<28"31se >3177ulamerneAdjust by IDlative CPU powerted_*2e 0 *22 *qu target.dif#L374" id="L39m319kerne29t37eff2="hed_7f6_rq" 68.+codeeeeeeeeeee7 We#d74nisicouldcoggnur.dstncpu r.#sgsso74" id="L374"sgsldicfwansse" ct <74" id=avgtifs_so74" id="L374"avgtifs_v"hr 9t>gronfai()rnsignmgsso74" id="L374"sgsldicfwansse" ct <74" id=0 *22/ifs_0f="ke2ne2unfik0 *22/ifs_igne*de=minthr;24r_ea195er_POWER_SCA"2l6=") /t31" n21N2=6= * 0 *221>2="sr2" +id="0 *22rantfwansse" ct <74" id=tg21>2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6="/lef_2fs_rq_lisL7oa22)=canfkerbe migronfdy7ytrtp751a> *3177ulamernu target.dif#L374" id="L39m319kerne29t37saff2="hed7a 72ef="+cosref_c*Lwit3)"7by ca75rq be migronfdyaytrtpencpu?#########* Consider_*2e 0 *22 unb n21N2d when_*2e imb n21N2a2falargeru target.dif#L374" id="L39m319kerne29t37sne29t31se7ef"22nli6th9L3124">315="k7rne227572.c#L425" id="< 4316/317dnsigned l7mre"hrafsrput_allowed 4s=7lin"275>3133 migronfdyaytrtpencpu?#########*ne29t31"22> 4316/317dc * migronfdyaytrtpencpu?#########* APZ: with c0 *22 *2e avg tase wsighthcan vary wildly andne29t31"22> 4316/317du 4s=")4"7n=r0masweighl=8r31l5erne27t31.c75726> 41661_min_2runth26 ir.#########*######mighthnot be a suitab2a number_- should we keep ane29t31"22> 4316/317dna!lass4"7ntmigron bet_aff upda lom7o"+nr75line"de=cf6_rq" 68.+co  *8e3157erne27t31la75e* Aggressive migron belifh ########*######*2e hierarchy?ratarget.dif#L374" id="L39m319kerne29t37sff2="hed_7"6co9 31" n>315="kerne21f7>621475fkermigronftehsesernisiarehr########*qu target.dif#L374" id="L39m319kerne29t37 & Oerne2*7pr Remember72c#etpero()r 7hapbe76046"71f="kern nende=minthr;2="sr2" +id="sumtnr_runnergigne32e" name="L47 c#L470f="ke2ne2unf7erne2* pr 7u"_ea un_gr (e. We#eastwa7 +pic76tl_a>)untmigron be_co3e" ct <74" id=avgtifs__per_tase=8r3092erne29t3avgtifs__per_tasel6=" 9ts2iid_idlest;odmgsso74" id="L374"sgsldicfwansse" ct <74" id=sumtasight31_ifs_0f="ke2ne2unfiksumtasight31_ifs_igned/t31" n21N2=6= * sgsso74" id="L374"sgsldicfwansse" ct <74" id=sumtnr_runnerg1>2="sr2" +id="sumtnr_runnergigne/lef_2fs_rq_lisL316="kerne22n7i722276346"71f="kernrnennde=minthr; 4316=an clasmint==6/ifs_0f="ke2ne2unfikmint==6/ifs_l6=") &ne29t31" n21N2=6= * avgtifs__per_tase=8r3092erne29t3avgtifs__per_tasel6=" &nm2;&nm2;os2="sr2" +id="maxtnr_runnergv"hr - 2> 4316=an clasmintnr_runnerg1>2="sr2" +id="mintnr_runnergl6=") &ne2 132e" name="L47 c#L470f="ke2ne2unf7ec
e==kkkkk* o7rne2*76<8>31L29>317.c#L430" 6s39431min>3143mgsso74" id="L374"sgsldicfwansse" ct <74" id=0 *22/imb0f="ke2ne2unfik0 *22/imbl6=" 9t1/lef_2fs_rq_lisL277 aff2="hed7L4="sreffffff4caLBF_SOME_7INNED7678>31L29>317.6s39431min>3143mgsso74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci#70f="ke2ne2unfik0 *22/capaci#7l6=" 9ts2iid_idlest;odDIV_ROUND_CLOSEST2timgro1>24r_eaDIV_ROUND_CLOSESTl6=">2> 4316=an clas0 *221>2="sr2" +id="0 *22rantfwansse" ct <74" id=tg21>2="sr2" +id="sga hrefwansse" ct <74" id=power0f="ke2ne2unfikpowerl6="nt.dif#L374" id="L39m319kerne29t37 L296" cl67lity6/ * update6 28a31se 7316#L76="sr6s * update6co9s324r_ea195er_POWER_SCA"2l6=")/lef_2fs_rq_lisL *(sta> = 2> 4316=an clasenv0f="ke2ne2unfikenvranterne29t31ct 31430 *221>2="sr2" +id="0 *22rant3/lef_2fs_rq_lisL2="sr2" +id="0 *22rantfwansse" ct <74" id=0 *22/asight0f="ke2ne2unfik0 *22/asightl6="/lef_2fs_rq_lisL2="sr2" +id="sumtnr_runnergigne32e" name="L47 c#L470f="ke2ne2unf7nnsigned l7cpu a <4" id="L374" cl""h7ew_ds77signed lomre"hrafsract0L>(sta> =  *" c6ass="726seqt < 277d_n=r0masw7ighl=843176erne29t31se cl7ty6  77line"de=cf6_rq" 68.+co  4316/317" c.9" ssp7s= ~id="L374" cl""hLBF_AL7_PINN78l1) ogghl>/ (obviously), orr* @sds:_s9m31_rneupdterne6sticsne29t31"22> 4316/317"ednsigned7n=r0masweighl=84318kerne27t31ct78CPU d byayttput_allowed, orre @sg6/319.c#il6="3/lef_2fs_rq_lisL3147mintn7872.c#L425" id="< 4316/276"_7ALANCEr6st 4316/<"6278e31"22>317"ednsigned7n=r0masweighl=84374" id="Le6 48c31se >31.pulame=s#L7=7ker78ne"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergigne30f="ke2ne27nfikifcal_0 *22rant32e" n7me="L77 c#L4nfiklbnenvrantmigronfabooervall6="e"22> 43ooe68>3143env0f="ke2ne2unfikenadhb n21Nerg ent31ct 2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign0 *221>2="sr2" 7cf6_rq" 687+codeee6eeeee68nisicouldc7ggon 78r0masweighl=8431L8erne27t31--76946"71f="kerne26t31ct681a> *ros2="sr2" 7cL374" cl""21N2_askl6=">6s39431min>37430 *721>2="sr2" +id="0 *22re27t31--76946"71f="kerne26t31ct681a> *ros *2="sr2" 76up9tre 0.7dhed_all CPUs i" *2e 0 *27 *qu 79l_a>)untmigron be_co20>ate6*<8n30.c#>30L>(sta> = 3143maxtnr_runnerg1>2="sr2" +i7="kerneper7tv"hr;thr6 *2="sr2" +id="sumtnr_runnergigne32e" name"22timgro1>24r_ea195er_POWER_SCA"2l6&lmre"hrafnde=minthr;rdr;od"s_rnsd a 36=" &nm2;&nm2;os279d="L374" cldicns6s394oned, r430 *221>2="sr2"alswer0f="ke2ne2unf"alsw1f="kernrnende=minthr;37L29>377.6s39ernrnende=minthr;276"_7fs_alCONFIG_SCAI6STATS6967>31t=7SD_LOAD_BALANCe. We#eastwa7 +pic76tl_a>)untmigron be_co3e" ct <74" id=avgtifs__per_tase=8r3092erne29t3avgtifs__per_tasel6=" 9d="L374" cl""h7ew_ds77signed lomre"hrafsract0L>(sta> = 2="sr2ernwer0f="ke2ne2unfernw1f="kernrnende=minthr;3143b n21N2_askypet=mSD_LOAD_BALANCErq"   2f"21>277 aff2="hed7L4="sreffffff4caLBF_SOME_7INNED7678>31ci#70f="ke2ne2unfik0 *22/capaci#7l_L374" cl""" +id="nr_runnergv"hre"227 4316791>2="sr2" +id="0 *22roned, r430 *221>2="sr2ernwer0f="ke2ne2unfernw1f="kernrnende=minthr;2="sr2" +id="8r_run807a 72ef="+cosref_c*Lwit3)"7by ca75rq 8rneBiashb 821Nerg toward ==6shed_our8rneup802e 0 *22 unb n21N2d when_*2e imb n21N2a2falargeru target.dif#L374" id="L39m389t37r3BALA8CEr7"href="kerneperitv"hr8thr7_80="k7rne227572.c#L425" id="< 43?ratar1" s_v"hr 9tc"t=mSD_,39m319n>3e marko1N2r> 4316/316saff2="hed69t3182;&nm2;g!s8iid_idlest;odfirst/"22afa8kypec803134erne27t31" 735a> * migronfdyaytrtphigh###*a27tour.l f l_0 usy"6278e31"22>317"ednsigned7n=r0masweighl=843i <=31" 8>319.c#il6="ns6s39431min>8143s98027t31.c75726> 41661_min_2runth26 ir.#runnerg1>2="sr2" +id="sumtnr_runnergigne8href="kern87r7BALANCEr7"c#L_rq< 317.c#L43e#eastwa7 +pic76tl_a>)untmigron be_co3e" ct <74" id=avgtifs__per_tase=8r3092erne29t3avgtifs__per_tasel6=" 9d=2> 4316=an clasmintnr_runnerg1>2="sr2" +i8c#il6="/le8_2fs_rq_lisL>317
2="sr2" +id="0 *22re27t31--oned, r430 *221>2="sr2ernwer0f="ke2ne2unfernw1f="kernrnende=minthr;319.c8il6="817a 72ef="+cosref_c*Lwit3)"7by ca75rq 8st1f="kern80L>(sta> = 2="sr2" +id="0 *22 s0 *22refwansseLBF_ALL_PINNED"s0 *22refwednsigned7lomre"hrasdr;od"s_rnsd a 3143i <=31" n>319.c8il6="8s6s39431min>3143ifs__idx0f="keoned, r430 *221>2="sr2ernwer0f="ke2ne2unfernw1f="kernrnende=minthr;2="sr2"alswer0f="ke2ne2unf"alsw1f="kernrnende=minthr;8="sr2" +id8"maxtnr_runnergv"hr32e" n8me="L81igronftehsesernisiarehre6@etarget.dif#L374" id="L39m319kerne29t372"li8rg1>2="sr28 +id="nr_runnergv"hr/lef_8fs_rq81usly), orr* @sds:_s9m31_rneupdst/askyadhowed, orre @env: Tre 0.anfiken21Nerg environed, rne29t31"22> 4316/316wLwerne2* 6 a <4&8g1>2="sr2"8+id="nr_runnergv"hr32e" n8me="L82rre @sg6/ 4316/317"ednsigned7n=r0masweighl=8rg1>2="sr28 +id="nr_runnergv"hr/lef_8fs_rq82199m31767C39mlass=6/shot 4asslirne6stics for *22fa0 *22rne29t31"22> 4316/316d8231 a  4316/316d82r7"#Ls_rq8sgsldicfwansse" ct <74" i8=0 *282h6ew_ds67>3133 migronfdyaytrtrunnerg1>2="sr2" +id="sumtnr_runnergigne81" n21N2=68 * ifs_0f="ke2ne2unfikifs8v"hr/8ef_2fsnfiklbnenvrantmigronfai()rnsignenv0f="ke2ne2unfikenvrantnt.dif#L374" id="L39m319keda"kernenr;od"s_rnsd a 2="sr2" +id="s9m31_0 *22rantmigronfai()rnsign0 *221>2="sr2" 8gned+9t31"8n21N2=6= * nr_runnerg1>2=8sr2" 8id="nr_runnergv"hr/lefffffffffffffffffffffffff="L47 c#L470f="ke2ne2unf6"ednsigned6n=r0masweighl=84318kerne26t31ct681a> *ros2="sr2" +id="0 *22rant32e" name="L47 c#L470f="ke2ne2unf6schil =  *2="sr28)un7migron be_cost * * *ros)untmigron be_co3e"kernrnende=minthr;3143ifcal_0 *220f="ke2ne2unfikifcal_0 *22rant,m min>3143ifcal_0 p143er_.######e2ne2unfikifcalp143er_.######2ran22t()r - eastehsetp m2poto7gue  742a>8e migronfd8aytrtpencpu?#########* Fi8st "283*qu target.dif#L374" id="L39m319kerne8319kerne29837s3BALANCEr7tmigron be_c8st *<83id_idlest;odm<74" id=sumtnr_runnchil = 317.c#L43e#eastwa7 +pic7chil =  *8e3157erne26t31la65="sr6s * update6co9s3IDtie" c"t=mSD_LOADPREF0 *2IBL16ildicfwansse" ct ADPREF0 *2IBL16i2ran2ef="+cosref_c*Lwit3)"7by ca75rq 8ne29t37s h8ef="ke79t31" n21N2=6/a>
<8 hre683d="L374" cldicns6s394in>3143ifcal_0 p143er_.######e2ne2unfikifcalp143er_.######2ran22tmSD_LOAD_BALANCErq"   2f"21>277d_n8L39m319ker8e29t37sc 81661_83D_LOAD_BALANCErq"   2f"21>27*220f="ke2ne2unfikifcal_0 *22rant,m22timgros27r9e31>5erne29731me 74446"6e24r_eaC8U_NEW8Y_ID"2rant3sros78>31478tl_a>)untmigron be_co22>0 *221>2="sr2" +id="0 *22rant3)usros2="sr2" +id="srpfl6="usros318"630csldicfwansse" ct )untmigron be_co3e", 018kizeof43b n21N2_askypet=mSD_LOAD_BALANCErq"   2222ne2unfik0 *22/asightl6=" 9ts2iid8*19kerne298de=minthr;2="sr2" +id="s9m31_0 *22rant6e#eastwa7 +pic76tdicfwansse" ct )untmigron be_co3e"22ne2unfik0 *22/asightl6=" 9ts2iid8*e29t37s h8ranterne29t31ct 31430 *821>2=8sr2" +id="0 *22rantfwainthr;317.c#L430(7 c#L470f="ke2ne2unf6"ednsigned6n=r0masweighl=84322ef="+cosref_c*Lwit3)"7by ca75rq 8ne2unfiken8ranterne29t31ct 3122nli6th9<31se7>314=743a> *384hr7f84thr; 4317"sref"22s 7979ot 43 ct <4" id="L774" c72726tl_a>)untmigron be_co3e".#L470f="ke2ne2unf6*n =tg21>2="sr2" +id="sga hrefwansseth9<31se7>314=743a> *7oa22)=canfkerbe migronfdy7ytrtp751a> *3177ulamernu tar8gnmgsso74"8id="L374"sgsldicfwansse" 8t <7484aftarget/ifs_0f="ke2ne2unfiktarget/if8et.dif#L378" id="L39m319kerne29t37sa8f2="h85l_a>)untmigron be_co316saff2="hed69t3189kerne29t38sne29t31se7ef"22nli6th9L3824">385="k7rne227572.c#L425" id="<316saff2="hed69t3189e29t37s h8_allowed 4s=7lin"275>31338migro8fdyaytrtpencpu?#########*ne29t31"22> ssssssss*#ll9amove21N2rne29excessbe a s away. Wefikw_##*a*2d=0 *22/caa href="6278e31"22>316saff2="hed69t31892timjiffi8aytrtpencpu?#########* AP8: wit8 c0 *22 *2e avg tase wsighthcan vary ssssssss*#17dc<###migonm319fd2unfik 317d8 4s=")4"7n=r0masweighl=8r81l5er8e27t31.c75726> 41661_min_2runth26 ir.ssssssss*#*a*s29excessbe a s, i.e.2e hierarchy&lmre<74" id=0 *22/.6stis_rq_lisL *8e8157er8e27t31la75e* Aggressive migron belifhssssssss*#heav22> 4316/ suitab2ae a soutuitabs#*a*2e a s o 9tc"tsystem)e29t31"22> 4316/316d8"71f="kern8nende=minthr;2="sr2" +id="sumtnr_runnergigne82e" name="847 c#L470f="ke2ne2unf7ern82* pr86l_a>)untmigron be_co317.c#L430"              e2ne2unfikenvranterne29t31ct 317.c#L43igned7lomre"hrasdr;od"s_rnsd a )untmigron be_co3e".#L470f="ke2ne2unf6*n  hr6  miso74" id="L374" cldicns6s39431min>31430 *221>2="sr2m +id="0 *22rant32m47 c#L43b n21N2_askypet=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2unf6*n  hr6  miso74" id="L374" cldicns6s39431min, 1UL22ne2unfik0 *22/asightl6=" 9ts2iid8s_0f="ke2n82unfikmaxt==6/ifs_v"hr - 8> 4318=an clasmint==6/ifs_0f="ke2ne2unfikmin8==6/ifs_l68") &ne29t31" n21N2=6= * a8gtifs86d="L374" cldicns6s394inthr; 4316=8="mintnr_r8nnergl6=") &ne2 132e" nam8="L478c#L470f="ke2ne2unfmtasssssssssid="L774" c72726dr;od"s_rnsd a  4317"sref"22s 7979hish> 431min>31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u"22timgro1>24r_ea195er_POWER_SCA"2l2ne2unfik0 *22/asightl6=" 9ts2iid8s1"22>317d8sL31430 *221>2="sr2t=dicfwansse" ct 31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u31se7ef="ke31ate>316="kerne22n7i722276346"71f="kernrnennde=minthr;24r86" ct <)4" id="7374" 7ssssssssid="L774" c72726dr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1min>31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u31seq_lisL31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2uff2="h7n_BALANCEr79t31se clity6 2="sr2" +id="0 *22re27t31--igned7lomre"hrasdr;od"s_rnsd a 31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u="hed7n=r1masweighl=9#31l9erne27t31)"kernrnennde=minthr;2="sunfikenadhb n21Nerg ent31ct 2="sr2" +id="s9m31_0 *22rant6e#eastwa7 +pic76dr;od"s_rnsd a )untmigron be_co3e"2so74" id="L374""22a"sr6s!"22> 4316=8idlest;od08*221>2="sr2" +id="0 *22ra8tfwan870f="ke2ne2unfiksumtasssssssssid="L774" c72726dr;od"s_rnsd a 36=" &nm2;&nm2;os31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u"22timgro1>24r_ea195er_POWER_SCA"2l2ne2unfik0 *22/asightl6=" 9ts2iid8="L374"sgs8dicfwansse" ct <74" id=0 822/ca876s39431min>3143ifs__idx0f="ke2ne2unfikifs__isdr;od"s_rnsd a 31430 *221>2="sr2t=dicfwansse" ct 316="kerne22n7i722276346"71f="kernrnennde=minthr;31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u="hed7n=r1masweighl=9#31l9erne27t31)"kernrnennde=minthr;317d8=843176erne29t31se cl7ty68 77li87o8r31L29>31L0" class=ssssssssid="L774" c72726dr;od"s_rnsd a 31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2uff2="h hr6  miso74" id="L374" cldicns6s39431minkernrnennde=minthr;21687st 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2u31seq_lisL31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2uff2="h7n_BALANCEr79t31se clity6 31430 *221>2="sr2t=mSD_LOAD_BALANCErq"   2.#L470f="ke2ne2uff2="h"L374" cl""hLBF_SOME7PINNE77346"71f="kernrnende=minthr;8 (obv871>2="sr2" +id="0 *22re27t31--igned7lomre"hrasdr;od"s_rnsd a 31kernrnende=minthr;3148mintn880f="ke2ne2unfikupd9l3dif#L374" id="Lsldicfwansse" ct 31kernrnende=minthr;3143mint==6/ifs_0f=8ke2ne88unf7k href="kf while143b n21N2_askypet=dicfwansse" ct 274/a> *317d8ALANCEr6st31.pulame=s#L8=7ker88ne"de=cf6_rq" 68.+co  4316/316d8cL374" cl"821N2_askl6=">6s39431min>38430 *88usly), orr* @sds:_s9m31_rneup29t31"22> 4316/316d86up9tre 0.8dhed_all CPUs i" *2e 0 *28 *qu 89rre @sg6/ *289h6ew_ds67>3133 migronfdyaytrt wereads are199er.  Wghthin#ikw_##SMT me31s,#*a*2eereads a 0.s_rq_lisL38L29>389dyaytrtpencpu?#* @b n21N2: Shonr_form bettargeine29*a*y share1lessbcore resources.  Hene29ighthw#s_rq_lisL317d8fs_alCONFIG_SCAI6STATS6968>31t=89#*p@sgs: variab2a t31hold6=he3have199er2eereadsy "22aan, weemoupdtafne29t3gh###ones.s_rq_lisL2="sr2" +id="9r_run90rre @sg6/39kypec903134erne27t31" 735a> * migro*9tcis " c.  sticamount id=avgt taserne29t3122nli6edrnn * taserne2.s_rq_lisL 41661_min_2runus_rq_lisL 4316/317"ednsigned7n=r0masweighl=9c#il6="/le9_2fs_rq_lisL317"ednsigned7n=r0masweighl=9c8il6="/le9_lin"22ti==6/shne29t"22ti9ef="k90igronftehsesernisiarehre6@envrunnerg1>2="sr2" +id="sumtnr_runnergigne9 ifs_0f="k92ne2unfikifs_v"hr 9t"22ti9group901>2="nfiklbnnnernesl6="migronfai <=3_asym_ 31krchwansseLBF_ALL_Pi <=3_asym_ 31krchwedns)r67nisicouldcoggon be_cooooooooo()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rant8kerne26t31ct681a> *ros319.c9il6="917a 7274" id="L374""22a"sr6s!"22> 4316=9st1f="kern90L>(sta> = 3143i <=31" n>319.c9il6="91an clasmint==6/ifs_0f="ke2ne2unfikmin9_r7"#Ls_rq9"hr32e" name="L47 c#L470f9"ke2n92unf7k href="k_c#Lrne29t3avgtifs__pfsrput_allowed 47="lin771a> *(sta> = 92unfikifs_9"hr32e" name="L47 c#L470f9"ke2n91#*p@sernrnende=minthr;2="sr2" +id="nr_run9ergv"91" ct <)4" id="7374" 7oned, r()r - eastehsetp m2poto7gue  742a>928il6="/le9"maxtnr_runnergv"hr32e" n9me="L91igronr - eastehsetp m2poto7gue  742a>92ifs_0f="k9 +id="nr_runnergv"hr/lef_9fs_rq911>2="sr2" +idnesl6="migronfaNerg ened="L374" clER_tafsNerg ened="8>3122timgros9g1>2="sr2"9+id="nr_runnergv"hr32e" n9me="L92u"_ea un_gr (e. We#eastwa7 +pic7fsrput_allowed 47="lin771a> *(sta7 +id="L374" clER_tafsracl7shotn76&47 c#L470f="ke2ne2uNerg ened="L374" clER_tafsNerg ened="8>31ci#70f="ke2ne2unfik0 *22/capaci#79rg1>2="sr29 +id="nr_runnergv"hr/lef_9fs_rq920f="ke2ne2unfiksumtasoned, r()r - eastehsetp m2poto7gue  742a>9231 a 2="sr2" +idnesl6="migronfaf" c6ass="726seqt < 3122timgros36=" &nm2;&nm2;os*e2ne2unfikifs__isdr;od"s_rnsd a 2=9sr2" 92#*p@sernrnende=minthr;316saff2="hed69t319e migronfd9aytrtpencpu?#########* Fi9st "293199m31767C39mlass=6/shot 4assllllllllllllllllllllllamongstd2unf316/316saff2="hed69t319e31 a  4316/316wLwerne2* 6 a <4&9ne29t37s h9ef="ke79t31" n21N2=6/a>
<9 hre693dyaytrtpencpu?#########*ne29* verne6sticsne29t31"22> 4316/317"ednsigned7n=r0masweighl=9L39m319ker9e29t37sc * migro*9@adgetSkerne29t36id=avgte" name="L47 whosgt taserne29t31updtafialculmgrd"6278e31"22>317"ednsigned7n=r0masweighl=9Lned+9t31"9in"22timgros7/ixec73726> 91661_9327t31.c75726> 41661_min_2runurunnerg1>2="sr2" +id="sumtnr_runnergigne96= 39>20>39nende=minthr;2="sr2" +id="sumtnr_runnergigne96#il6="/le9cost *2="sr2" +id="s9m31_0 *22rant8kerne26t31ct681a> *ros24r_eaC9U_NEW9Y_ID"274" id="L374""22a"sr6s!"22> 4316=96g1>2="sr29e29t31ct 2="sr2" +idunsig6edrlongr430 *221>2="sr2ems33122t0oid_idlest;odmgsspwr_movec195er_POWER_SCAwr_move8>3122t070f="ke2ne2unfik0 *22/capaci#7l6=9rne29t31>7933air6193="sref"6129c31>79>31479tl_a>)untmigrounsig6edrnnernesl6="migronfa ta+id="0 *22rant32 ta+8>3122t270f="ke2ne2unfik0 *22/capaci#7l6=9r migronfd9untdst1f="kern" c6ass="729seqt 9 2="sr2sialnam usye> 43tnr_runnerg1>2="sr2" +idsialnam usye> 43tnr_runne8>31kernrnende=minthr; 4316=922timjiffi9sl6="ns6s39431min>31430 *921>2=9sr2" +id="0 *22rantfwa id=sumtnr_runnedr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1min>/e"hrafnde=minthr;rdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>unneernrnende=minthr;20>39cl67 * update6th9s31L29>394hr7f94erne787BALANCEr7id="L374" cl12rantfwa id=sumtnr_runnedr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1min2ef="+cosref_c*Lwit3)"7by ca75rq 9t by IDlat9ve CPU powerted_*2e 0 *229*qu t94" ct <)4" id="7374" 72rantfwa id=sumtnr_runn ta+id="0 *22rant32 ta+8>3122tn70f="ke2ne2unfik0 *22/capaci#7l6=9e clasCPU_9rq" 68.+codeeeeeeeeeee7 W9#d74n94_ID"2rant3sronsse" c74" id="L374""22a"sr6s!"22> 4316=92g1>2="sr29id="L374"sgsldicfwansse" 9t <74941>2="sr2" +id="0 *22r id=sumtnr_runnedr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1min>=4" id="L374""22a"sr6s!"22> 4316=9et.dif#L379" id="L39m319kerne29t37sa9f2="h95l_a>)untmigron be_co<="0 *22r id=sumtnr_runncpu_POWER_SCtnr_runnerg1>2="sr2" +idcpu_POWER_SCtnr_runnewednsigned7lomre"hrafsrput_allowed 47="lin771a> *(sta7 +id="L374" clER_tafsracl7shotn7#70f="ke2ne2unfik0 *22/capaci#7l6=9e migronfd9aytrtpencpu?#########* Co9sider95395an clasmint==6/ifs_0f="ke2ne2unfikmin99e29t37s h9_allowed 4s=7lin"275>31339migro953>2="sr2" +idnesl6="migronfasialnam usye> 43tnr_runnerg1>2="sr2" +idsialnam usye> 43tnr_runne8>3122timgros 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1minasmint==6/ifs_0f="ke2ne2unfikmin992timjiffi9aytrtpencpu?#########* AP9: wit95erne7nc27sialnam usye> 43tnr_runnerg1>2="sr2" +idsialnam usye> 43tnr_runne8>312/e"hrafnde=minthr;rdr;od"s_rnsd a  *8e9157er95" ct <)4" id=<74" id=sumtnr_runnedr;od"s_rnsd a 36=" &nm2;&nm2;os-sid="L774" c72726dr;od"s_rnsd a  4317"sref"22s 7979hish> 431min>+CErq"   2f"21>27sialnam usye> 43tnr_runnerg1>2="sr2" +idsialnam usye> 43tnr_runne8>312unne=4" id="L374""22a"sr6s!"22> 4316=9e clasCPU_921475fkermigronftehsesern9siare95r0masweighl=8431L8erne27t31--" id=sumtnr_runneialnam usye> 43tnr_runnerg1>2="sr2" +idsialnam usye> 43tnr_runne8>312*e2ne2unfikifs__i ta+id="0 *22rant32 ta+8>312so74" id="L374""22a"sr6s!"22> 4316=9"71f="kern9nende=minthr;3122timgros 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min70f="ke2ne2unfik0 *22/capaci#7l6=92e" name="947 c#L470f="ke2ne2unf7ern92* pr96l_a>)untmigron be_co<22nli6th9<31se7>314=743a> * 4319=an clasmint==6/ifs_0f="ke2ne2unfikmin9==6/ifs_l69") &ne29t31" n21N2=6= * a9gtifs96d="L374" cldin21N2d when_*2e imb n21N2a2falargeru target.dif#L374" id="L39m39="mintnr_r9nnergl6=") &ne2 132e" nam9="L47963134erne27t31" 735a> * migronfdyaytrtpOKy "22don21Nert3have1enought taserne294o justifyfmov> 43e a s,2a2falargeru target.dif#L374" id="L39m39=ned+9t31"9sL316saff2="hed69t319srn71L296"9wansse" ct <74" id=0 *22/9apaci96o"+nr75line"de=cf6_rq" 68.+co  43ehem"6278e31"22>317"ednsigned7n=r0masweighl=9iid_idlest9odDIV_ROUND_CLOSEST2timgr91>24r9627t31la75e* Aggressive migron belifhurunnerg1>2="sr2" +id="sumtnr_runnergigne9i clasCPU_9sL2="sr2" +idnesl6="migronfapwr_nowc195er_POWER_SCAwr_now8>3124" id="L774" c72726dr;od"s_rnsd a 96=" 9ts2ii9_idlest;odfix_small_capac9#70f=9ke2ne2unfikfix_small_csr2" +idnesl6="migronfam +id="0 *22rant32m47 c#L43b n21N2_askypetdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1mint6e#eastwa7 +pic76dr;od"s_rnsd a 36=" &nm2;&nm2;os96_0f="ke2n9dicfwansse" ct <74" id=0 922/ca976s39431min>3143ifs__idx0f="ke2ne2unfikifs__im +id="0 *22rant32m47 c#L43b n21N2_askypetdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1mint6e#eastwa7 +pic76dr;od"s_rnsd a  4317"sref"22s 7979hish> 431min#70f="ke2ne2unfik0 *22/capaci#7l6=9i=6/ifs_l69thr;2="sr2" +idnesl6="migronfapwr_nowc195er_POWER_SCAwr_now8>312/e"hrafnde=minthr;o74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci70f="ke2ne2unfik0 *22/capaci#7l6=9apaci#7l6=9 9t1/lef_2fs_rq_lisL317d9=843176erne29t31se cl7ty69 77li97o8r31L29>31L0n21N2d when_*2e imb n21N Amount id=sne29we21Nerd subtracthurunnerg1>2="sr2" +id="sumtnr_runnergigne96rn71L296"939m319kerne29t37216 3>21697st2="sr2ems3 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>*e2ne2unfikifs__io74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci) />2="sr2" +id="sumtnr_runnergigne96id_idlest9elifh * upd9l3_sd_pick_bu9"hrt 97" ct <)4" id="7374" 7id="L774" c72726dr;od"s_rnsd a 36=" &nm2;&nm2;os&47 c#L470f="ke2ne2uems39 (obv971>2="sr2" +id="0 *22rd_idlest;odmgsspwr_movec195er_POWER_SCAwr_move8>3124" id="L774" c72726dr;od"s_rnsd a 94318kerne29t31ct78CPU d byayttput_al9owed,98e2ne2unfikfix_small_csr2" +idnesl6="migronfam +id="0 *22rant32m47 c#L43b n21N2_askypetdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1mint6e#eastwa7 +pic76dr;od"s_rnsd a 36=" &nm2;&nm2;os-sid="L774" c7272ems33149mintn980f="ke2ne2unfn21N2d when_*2e imb n21N Amount id=sne29we21Nerd addhurunnerg1>2="sr2" +id="sumtnr_runnergigne94ans de=mi931min>3143mint==6/ifs_0f=9ke2ne98cfwansse" ct <74" id=sumtnr_runnedr;od"s_rnsd a 36=" &nm2;&nm2;os*e2ne2unfikifs__isdr;od"s_rnsd a 2="sr2" +id="sumtnr_runnergigne94paci#7l6=9st/"22afaskl6=" 9tc"t=mSD9LOAD_98r2" +id="0 *22rantfwa id=sumtnr_runnedr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>*e2ne2unfikifs__io74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci)>2="sr2" +id="sumtnr_runnergigne941"22>317d9ALANCEr6st2="sr2ems336=" &nm2;&nm2;os*e2ne2unfikifs__isdr;od"s_rnsd a 2="sr2" +id="sumtnr_runnergigne94rn71L296"9e6 48c31se >31.pulame=s#L9=7ker98erne787BALANCEr7id="L374" cl1id="L774" c72726dr;od"s_rnsd a 2="sr2" +id="sumtnr_runnergigne94id_idlest9nfikifcal_0 *22rant32e" n9me="L98" ct <)4" id=se" >2="sr2" +id="sumtnr_runnergigne94 clasCPU_9+codeee6eeeee68nisicouldc9ggon 98_ID"2rant3sros 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>*e2ne2unfikifs__io74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci) />2="sr2" +id="sumtnr_runnergigne9cL374" cl"921N2_askl6=">6s39431min>39430 *981>2="sr2" +id="0 *22re27t31--igned7lomre"hrasdr;od"s_rnsd a 2="sr2" +id="sumtnr_runnergigne96up9tre 0.9dhed_all CPUs i" *2e 0 *29 *qu 99e2ne2unfikfixd_idlest;odmgsspwr_movec195er_POWER_SCAwr_move8>3124" id="L774" c72726dr;od"s_rnsd a 9w_dstncp6y9eclas0 *22fa9l3191erne26t91" 69990f="ke2ne2unfiksumtasssssssssid="L774" c7272m +id="0 *22rant32m47 c#L43b n21N2_askypetdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idthish> 43tnr_runne1mint6e#eastwa7 +pic76dr;od"s_rnsd a  4317"sref"22s 7979hish> 431min>+CErq"   2f"21>27ems3 *312/e"hrafnde=minthr;o74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci70f="ke2ne2unfik0 *22/capaci#7l6=9wans de=mi92" erntafsra6lasho694N2=69 39>299ifs_0f="ke2ne2unfik0 *22/ifs_igned+9t9wpaci#7l6=9sraclasni) _t6iet <69<8>39L29>399r2" +id="0 *2n21N2d when_*2e imb n21N Move2<74we gar 9tcroughputhurunnerg1>2="sr2" +id="sumtnr_runnergigne9w1"22>317d9fs_alCONFIG_SCAI6STATS6969>31t=99d="L374" cldiinthr;312&47 c#L470f="ke2ne2upwr_nowc195er_POWER_SCAwr_now8>31)>2="sr2" +id="sumtnr_runnergigne9wrn71L296"9unfikfor_each_ask_an_l6="96s39499erne787BALANCEr7id="L id=sumtnr_runnf" c6ass="726seqt < 3122timgros 43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min70f="ke2ne2unfik0 *22/capaci#7l6=9wf="ke2ne2931_0 *22fsrpf1>2="sr2" +i9="s9m99" ct nernrnende=minthr;9wL374" cl"9" +id="nr_runnergv"hre"229 431699usly), orr* @sds:_s9m31_rnetarget.dif#L374" id="L39m319kerne29t372"l40ct 40ct7t31la75e* Aggressive migro*fialculmgrf taserne29- Calculmgrouvgtamount id= taserne29presen, ##*#i#####s_rq_lisL/pre>L374" id="L39m319kerne29t372"l40c1 40c199m31767C39mlass=6/shot 4assllllllllllllllllllllllf316/ *40c72.c#L425" id="<40cdyaytrtpencpu?#########*ne29* vadgetskerne29t36id=avgte" name="L47 whosgt taserne29t31updtafialculmgrd"6278e31"22>317"ednsigned7n=r0masweighl40c4 40cra>40c3134erne27t31" 735a> * migro*runnerg1>2="sr2" +id="sumtnr_runnergign40c5 40cd="L3nfiklbnenvrantmigronfai()rnsignenv0f="ke2ne2unfikenvr ntnt.dif#L374" id="Lialculmgrf taserne2ignenv0f="ke2neialculmgrf taserne2 c#L4)r67nisicouldcoggon be_cooooooooo()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rant8kerne26t31ct681a> *ros40cerne774" id="L374""22a"sr6s!"22> 431640c7 2="sr2" +40c1_>40c" ct <)4" id=unsig6edrlongr430 *221>2="sr2"kerpuN2&nm2;&nm2;os 43taboveBALANCEr79t31se clity6 <> 43taboveBALANCEr78>3122t~0UL70f="ke2ne2unfik0 *22/capaci#7l640c8 40cigronr - eastehsetp m2poto7gue  742a40c9 40c1>2="sr2" +idnesl6="migronfaedr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>/e"hrafnde=minthr;rdr;od"s_rnsd a 3143i <=31" n>319.4031m>4031fwansse" ct <74" id=sumtnr_runnedr;od"s_rnsd a  43164031 (sta> =  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min>=4" id="L374""22a"sr6s!"22> 43164032 3143i <=31" n>319.4031m>4036s39431min>3143ifs__idx0f="ke2ne2unfikifs__im +id="0 *22rant32m47 c#L43b n21N2_askypetdr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1mint6e#eastwa7 +pic76dr;od"s_rnsd a 24r_ea195er_POWER_SCA"2l270f="ke2ne2unfik0 *22/capaci#7l64033 403unf7k href="kf0f="ke2ne2unfik0 *22/capaci#7l64034 403.6s39ernrnende=minthr;403o8r31L29>31L0n21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign4016 403o"+nr75line"de=cf6_rq" 68.+co  4, certL47 scenarios9 numhaveunnerg1>2="sr2" +id="sumtnr_runnergign4017 2="sr2" +id="nr_ru40ner>40327t31la75e* Aggressive migron belifhu "ke6sne29lessbht/nerg1>2="sr2" +id="sumtnr_runnergign4018 403igronftehsesernisiarehre6@enn belifhu its9 pu_A"22t, while1ialculmgrchc"ker==6/..)8>nerg1>2="sr2" +id="sumtnr_runnergign4019 403usly), orr* @sds:_s9m31_rneun belifhurunnerg1>2="sr2" +id="sumtnr_runnergign402t 40+i0masweighl=8<74" id=sumtnr_runnedr;od"s_rnsd a 36=" &nm2;&nm2;os&l7 c#L470f="ke2ne2u6dr;od"s_rnsd a 24r_ea195er_POWER_SCA"2l2o74" id="L374""22a"sr6s!"22> 43164021 40+0f="ke2ne2unfiksumtasnesl6="migronfaf" c6ass="726seqt < 3122t070f="ke2ne2unfik0 *22/capaci#7l640+2 40+unf7k href="kf0f="ke2ne2unfik0 *22/capaci#7l64024 240n21>40+d="L374" cldiinthrt_f"lc31so74" id="L374""22a"sr6s!"22> 43164026 40+erne787BALANCEr7id="L 21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign4027 40+27t31la75e* Aggressive migron belifhn belifhu Don21Nert3aan, wo puN2 soc"kny3e a s94" idaf316/2="sr2" +id="sumtnr_runnergign4028 40" s39431min>3143ifs__idx0f="keeeeeeeeeeeeeeeeeeeeeeeee3b n21N2_askypetdr;od"s_rnsd a 40"0f="ke2ne2unfikupd9l3dif#L374" id="L> 43taboveBALANCEr79t31se clity6 <> 43taboveBALANCEr78>312*2t43b n21N2_askype <74" LOAD74"sgsldicfwansse" ct <74" LOAD74"sgs1min>*e2ne2unfikifs__io74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci)70f="ke2ne2unfik0 *22/capaci#7l64033 
40ef=>40"ifs_0f="ke2ne2unfik0 *22/ifs_igned+940"4 40"r2" +id="0 *22rantfwa id=sumtnr_runn> 43taboveBALANCEr79t31se clity6 <> 43taboveBALANCEr78>312/e"hrafnde=minthr;rdr;od"s_rnsd a 40in">40"5nf7k href="kf0f="ke2ne2unfik0 *22/capaci#7l64036 40"thr;2="sr2" +id="sumtnr_runnergign4038 24r_ea40EWL>40"igronftehsesernisiarehre6@enn belifhu We21Nerre try> 43eo geidaN2 2unfe27t eo#*a*aPOerageER_SC, soc"22don21Nertunnerg1>2="sr2" +id="sumtnr_runnergign4039 40"usly), orr* @sds:_s9m31_rneun belifhu3aan, wo push ourselves#above2ea*aPOerage R_SC, nortdoc"22wish eos_rq_lisL4033a>4033sly), orr* @sds:_s9m31_rneun belifhu3reducrouvgtmke6sne2edfe27dtalow2ea*aPOerage R_SC. A, weei.29c time,2a2falargeru target.dif#L374" id="L39m4031  4stA"licg e etc). Thus4we look8>2falargeru target.dif#L374" id="L39m4033 403dyaytrtpencpu?#########*ne29n belifhu3forouvgtminimumtA"s.###gt taserne2.unnerg1>2="sr2" +id="sumtnr_runnergign4044  * migronfdyaytrtpBe9 nr2"ul9of negative2?ratars#as9*a*y21NerN2 appear#as9Oery large value6/316saff2="hed69t34035 40327t31.c75726> 41661_min_2runth26 ir.# ##*#=unsig6edrlongs.s_rq_lisL40cl6>403o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4047 403" ct <)4" id= 30 *221>2="sr2"kerpuN2&nm2;&nm2;os36=" &nm2;&nm2;os-sid="L774" c72726dr;od"s_rnsd a 24r_ea195er_POWER_SCA"2lt6e#eastwa7 +pic7> 43taboveBALANCEr79t31se clity6 <> 43taboveBALANCEr78>31)70f="ke2ne2unfik0 *22/capaci#7l64048 403igronr - eastehsetp m2poto7gue  742a4049 4039 ct <)4" id= 21N2d when_*2e imb n21N How2muchssne29wo actuaN2ymmove2eo#equaNise=avgt taserne29*runnerg1>2="sr2" +id="sumtnr_runnergign405t 40"  ct <)4" id= 30 *221>2="sr2f" c6ass="726seqt < 3122timgros2="sr2" +id="sumtnr_runnergign4051 40"0f="ke2ne2unfiksumtas43b n21N2_askypetdr;od"s_rnsd a 24r_ea195er_POWER_SCA"2l>-sid="L774" c72726dr;od"s_rnsd a  4317"sref"22s 7979hish> 431min)2*e2ne2unfikifs__isdr;od"s_rnsd a 40"6s39431min>3143ifs__idx0f="ke/"hrafnde=minthr;o74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci70f="ke2ne2unfik0 *22/capaci#7l640"3 31340_al>40"ifs_0f="ke2ne2unfik0 *22/ifs_igned+94054 40"r2" +id="0 *2n21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign4055 40"27t31.c75726> 41661_min_2runth26 ir.# if * taserne29t31lessbht/2="sr2" +id="sumtnr_runnergign4056 40"o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4057  *840296>40"27t31la75e* Aggressive migron belifhu a9tcink#about bumprchyits value2eo#fore29 idleast#one2="sr2" +id="sumtnr_runnergign4058 40"igronftehsesernisiarehre6@enn belifhu move"unnerg1>2="sr2" +id="sumtnr_runnergign4059 40"usly), orr* @sds:_s9m31_rneun belifhurunnerg1>2="sr2" +id="sumtnr_runnergign406t 312&l7 c#L470f="ke2ne2u6dr;od"s_rnsd a  43tnr_runnerg1>2="sr2" +idNerg ene> 43tnr_runne1min2ef="+cosref_c*Lwit3)"7by ca75rq4061 4040f="ke2ne2unfiksumtasoned, r2="h7ena!lass4"404an clasmint==6/ifs_0f="ke2ne2unfikmi4043 404ifs_0f0f="ke2ne2unfik0 *22/capaci#7l64064 404.6s39ernrnende=minthr;404thr;40427t31la75e* Aggressive migrtarget.dif#L374" id="L39m319kerne29t372"l4068 404usly), orr* @sds:_s9m31_rneu# if ea*r29t31numimaserne2. If ea*r29t3n21Nert3numimaserne2, ll9get.dif#L374" id="L39m319kerne29t372"l407t 40_isly), orr* @sds:_s9m31_rneu# ###tusr_lhas opte"2foroA"22t-sav> 4s,yitsoned, sdaf316/2="sr2" +id="0 *22r40*22>40_199m31767C39mlass=6/shot 4asslCPUs9 numtaf u, wo 99er bysont31"22> 43thosgte a s9se" wa*r2,yifget.dif#L374" id="L39m319kerne29t372"l4072 40_72.c#L425" id="<40_3134erne27t31" 735a> * migro*9Alsocialculmgrsouvgtamount id=weightedrloe29which9sh_sometafmove"s_rq_lisL40_27t31.c75726> 41661_min_2runu wo restore9t31"222.s_rq_lisL214039m>40_o"+nr75line"de=cf6_rq" 68.+c*s_rq_lisL40_27t31la75e* Aggressive migro* verne6sticsne29t31"22> 4316/317"ednsigned7n=r0masweighl40_8 40_igronftehsesernisiarehre6@env @t31"222: Poin,er9wo a vari#L374inaicmgrchcif eaisl7shot78e31"22>317"ednsigned7n=r0masweighl40_9 40_usly), orr* @sds:_s9m31_rneu# ghl=8 43at eaisllevel"6278e31"22>317"ednsigned7n=r0masweighl408t 40t3"+nr75line"de=cf6_rq" 68.+c*s_rq_lisL40t199m31767C39mlass=6/shot 4asslR2nli6s:ghl=8- ea*a usg enf316/3140nne>40t72.c#L425" id="< 4s9t31"222,2a2falargeru target.dif#L374" id="L39m4083 3143mint==6/ifs_0f4031m>40tdyaytrtpencpu?#########*ne29* e2ne2unfiksumtasoned, rea*aleast#sne2edf316/40t3134erne27t31" 735a> * migro*99999999999999999 u, wo 99er bysont31"22> 43its e a s9onwo ourf316/<.s_rq_lisL40t27t31.c75726> 41661_min_2runurunnerg1>2="sr2" +id="sumtnr_runnergign40t6 31.pulame=s#40e6 >40tthr; *ros<" nam316/<;od"s_rnsd a 2="sr2" +id="sumtnr_runnergign40t7 40t27t31l="h7ena!lass4"40t_ID"274" id="L374""22a"sr6s!"22> 431640t9  *ros40dhhr;40d0f="ke2ne2unfnesl6="migronfamemsent31ct  *40dan clasmint==6/ifs_0f="ke2ne2unfikmi4093 40dd="L374" cldin21N2d when_*2e imb n21N2a2falargeru target.dif#L374" id="L39m40d4 40sra>40d3134erne27t31" 735a> * migronfdyaytrtpCom u,e=avgtvarioustskerne29t36relav"< 43at2a2falargeru target.dif#L374" id="L39m40d5 40d27t31.c75726> 41661_min_2runth26 ir.# eais level"6278e31"22>317"ednsigned7n=r0masweighl4096 40do"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4097 2="sr2" +4031_>40d" ct <)4" id= 30 *221>2="sr2updmgrf2="sr2" +id="s9m31_0 *22rant8signed lomrafsaaserne226t31la65="sr6saserne2wedn, &"sr6s * update6codr;od"s_rnsd a 40digronr - eastehsetp m2poto7gue  742a4099 40d9 ct <)4" id= 21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign41ct 41ct7t31la75e* Aggressive migroth26 ir.# eaisl7sh9t31notouvgtappropri#tnfe27 wo performcsne29t31"22> 43atunnerg1>2="sr2" +id="sumtnr_runnergign41c1 41c199m31767C39mlass=6/shot 4asth26 ir.# eais level"6278e31"22>317"ednsigned7n=r0masweighl41c2  *41c72.c#L425" id="<410cfwansse" ct <74"!(ds9m31_0 *221>2=aserne226t31la65="sr6saserne2wedn22ef="+cosref_c*Lwit3)"7by ca75rq41c4 41cra>410r2" +id="0 *22rantfwagowo s9m31_0 *221>2=rent31ct 31222timgros312||= 30 *221>2="sr2f" c6ass="726seqt < 31222timgros2="sr2" +41c1_>410" ct <)4" id="737imgros316="kerne2222/ck_asym_pack31awednss9m31_0 *221>2="sr2" +id="s9m31_0 *22rant8&"sr6s * update6codr;od"s_rnsd a 410_ID"2rant3sros41c1>2="0f="ke2ne2unfik0 *22/capaci#7l6411t 3143i <=31" n>319.4131m>4131fwansse" ct  21N2d when_*2e imb n21N Ta*r29t31no  usy .###> 43316/2="sr2" +id="sumtnr_runnergign4131 (sta> = 2="sr27dr;od"s_rnsd a 3143i <=31" n>319.4131m>4136s39431min>3143ifs__igowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l64133 411ifs_0f="ke2ne2unfik0 *22/ifs_igned+94134 411r2" +id="0 *2n30 *221>2="sr27dr;od"s_rnsd a 24r_ea195er_POWER_SCA"2l>2t43b n21N2_askype <74" d="L374"sgsldicfwansse" ct <74" id=0 *22/capaci2*e2ne2unfikifs__isdr;od"s_rnsd a  4317"sref"22s 7979ot 431min)2/"hrafnde=minthr;sdr;od"s_rnsd a 411d="L30f="ke2ne2unfik0 *22/capaci#7l64116 4116fwansse" ct  21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign4137 2="sr2" +id="nr_ru41ner>41327t31la75e* Aggressive migron belifhu If ea*a usg enf316/2="sr2" +id="sumtnr_runnergign4118 413igronftehsesernisiarehre6@enn belifhu worka acause=avgy rniumes#aN2 2u> 4s9ar29equaN,9which9typicaN2yunnerg1>2="sr2" +id="sumtnr_runnergign4119 413usly), orr* @sds:_s9m31_rneun belifhu9t3n21Nert3true due2eo#e27t_aN2owedfeonstraints9ll9tea*alik2.s_rq_lisL412t7t31la75e* Aggressive migroth26 ir.#runnerg1>2="sr2" +id="sumtnr_runnergign4121 4120f="ke2ne2unfinthhrafnde=minthr;sdr;od"s_rnsd a  72141+6s39431min>3143ifs__igowo s9m31_0 *221>2=fore2_aserne226t31la65="sr6s ore2_aserne2wedn"0f="ke2ne2unfik0 *22/capaci#7l641+3 412ifs_0f="ke2ne2unfik0 *22/ifs_igned+94124 2="sr2f" c6ass="726seqt < 31222timgros2="sr2" +id="sumtnr_runnergign4126 41+erne787BALANCEr7id="LLLLLLLLLrt_f"lc31s>2="sr2" +id="sumtnr_runnergign4127 412" ct <)4" id="7374" 7gowo s9m31_0 *221>2=fore2_aserne226t31la65="sr6s ore2_aserne2wedn"0f="ke2ne2unfik0 *22/capaci#7l641+8 2="sr2" +id="sumtnr_runnergign413t 413t7t31la75e* Aggressive migroth26 ir.# If ea*alocaNf316/2="sr2" +id="sumtnr_runnergign4131 413199m31767C39mlass=6/shot 4asth26 ir.# don21Nert3try9ll9tpuN2 kny3e a s.s_rq_lisL41372.c#L425" id="<
41ef=>413cfwansse" ct <74" id=sumtnr_runnedr;od"s_rnsd a  4317"sref"22s 7979hish> 431min>_affe"hrafnde=minthr;rdr;od"s_rnsd a 36=" &nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4134 41"r2" +id="0 *22rantfwagowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l641"5 41in">413d="L30f="ke2ne2unfik0 *22/capaci#7l64136 4136fwansse" ct  21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign41"7 24r_ea41EWL>41"igronftehsesernisiarehre6@enn belifhu POerage R_SC.get.dif#L374" id="L39m319kerne29t372"l4139 41"usly), orr* @sds:_s9m31_rneun belifhurunnerg1>2="sr2" +id="sumtnr_runnergign414t 4133a>414i0masweighl=8<74" id=sumtnr_runnedr;od"s_rnsd a  4317"sref"22s 7979hish> 431min>_affe"hrafnde=minthr;rdr;od"s_rnsd a 24r_ea195er_POWER_SCA"2l2>2="sr2" +id="sumtnr_runnergign4141 2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l64132 414an clasmint==6/ifs_0f="ke2ne2unfikmi4133 414cfwansse" ct <74" id=sumtnr_runnf" c6ass="726seqt < 31222timgros31so74" id="L374""22a"sr6s!"22> 43164144 41427t31la75e* Aggressive migron belifhn belifhu ea*r29t31no  taserne29between eaisfll9t usg enf316/2="sr2" +id="sumtnr_runnergign4148 414igronftehsesernisiarehre6@enn belifhn belifhu wr, wo 99er 7sh21Ners,yitsis9t31"222C.get.dif#L374" id="L39m319kerne29t372"l4149 414usly), orr* @sds:_s9m31_rneun belifhn belifhurunnerg1>2="sr2" +id="sumtnr_runnergign415t 415 s39431min>3143ifs__i<74"" id=sumtnr_runnedr;od"s_rnsd a _lffe"hrafnde=minthr;rdr;od"s_rnsd a + 1)2&"&"0f="ke2ne2unfik0 *22/capaci#7l64151 41"0f="ke2ne2unfiksumtastfwa 30 *221>2="sr27dr;od"s_rnsd a 316="kerne22Nerg ene7INNEDweightA"2l2>2="sr2" +id="sumtnr_runnergign4152 41"6s39431min>3143ifs__idx0f="kegowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l641"3 31341_al>415unf7k href="kf9se" o74" id="L374""22a"sr6s!"22> 43164154 415r2" +id="0 *22rantfwa 21N2d when_*2e imb n21Nunnerg1>2="sr2" +id="sumtnr_runnergign4155 41"27t31.c75726> 41661_min_2runth26 ir.n belifhu I41"o"+nr75line"de=cf6_rq" 68.+co  *841296>41"27t31la75e* Aggressive migron belifhn belifhurunnerg1>2="sr2" +id="sumtnr_runnergign4158 415_ID"2rant3sros36=" &nm2;&nm2;os&l7 e"hrafnde=minthr;f" c6ass="726seqt <  4317"sref"22s 7979hish> 431min)>2="sr2" +id="sumtnr_runnergign4159 4151>2="sr2" +id="0 *22re27t31--gowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l6416t 416*qu target.dif#L374" id="L39m319kern4162 414an cls9m31_0 *221>2=fore2_aserne226t31la65="sr6s ore2_aserne2wedn:arget.dif#L374" id="L39m319kern4163 416d="L374" cldin21N2d when_*2e imb n21N Loo s9lik2 ea*r29t31numimaserne2. Com u,e=ithurunnerg1>2="sr2" +id="sumtnr_runnergign4164 416r2" +id="0 *2n30 *221>2="sr2ialculmgrf taserne2ignenv0f="ke2neialculmgrf taserne2 c#L4s9m31_0 *221>2="sr2" +id="s9m31_0 *22rant8&"sr6s * update6codr;od"s_rnsd a 414thr;41627t31l="h7ena!lass4"out_aserne2317"sref"22s 797out_aserne23wedn:arget.dif#L374" id="L39m319kern4168 4161>2="sr2" +idnesl6="migronfaf" c6ass="726seqt < 3122t070f="ke2ne2unfik0 *22/capaci#7l6417t 4170="L374" cldioned, r2="h7ena!lass4"NULLdnsigned6n=r0maNULLwedn"0f="ke2ne2unfik0 *22/capaci#7l64171 2="sr2" +id="0 *22r41*22>41_199m3f0f="ke2ne2unfik0 *22/capaci#7l64172 417an clasmint==6/ifs_0f="ke2ne2unfikmi4173  * migro*9 /nam usg enequeu29-  /na ea*a usg enf="kqueu29amo 43thnfe27t inf316/<.s_rq_lisL41_27t31.c75726> 41661_min_2runurunnerg1>2="sr2" +id="sumtnr_runnergign4176 214139m>417thr; *rosrqt31ct 2=f/nam usg enequeu226t31la65="sr6s /nam usg enequeu2 c#L4)r67nisicouldcoggon be_cooooooooo()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22rant>2="sr2" +id="sumtnr_runnergign4177 417" ct <)4" id="7374" 7777777777777777777777kerne26t31ct681a> *ros<" nam316/<;od"s_rnsd a  431641_9 4179 ct <)4" id=kerne26t31ct681a> *rosrqt31ct 2=Nerg ent31ct 2=rqt31ct 2="sr2"ker6=" &nm2;&nm2;os2t070f="ke2ne2unfik0 *22/capaci#7l64181 4180f="ke2ne2unfin26t31ct681a> *rosidnsigned6n=r0ma2paci"0f="ke2ne2unfik0 *22/capaci#7l64182 3141nne>418an clasmint==6/ifs_0f="ke2ne2unfikmi4183 3143mint==6/ifs_0f4131m>4183>2="sr2" +idnesl6="migronfa or_eachl7sh26t31la65="sr6s or_eachl7sh c#L4s9m31_0 *221>2=idnsigned6n=r0ma2pacit8signed lomrafsar" nam316/2=ff2="fff4caLBF_SOME_7INNE1min)so74" id="L374""22a"sr6s!"22> 43164184 418r2" +id="0 *22rantfwaunsig6edrlongr430 *221>2="sr2;2=idnsigned6n=r0ma2paci2"0f="ke2ne2unfik0 *22/capaci#7l64185 41852" +id="0 *22rantfwaunsig6edrlongr430 *221>2="sr2ALANCEr79t31se clity6 3122t430 *221>2="sr2DIV_ROUND_CLOSEST9t31se clity6 2=;2="sr2" +id="sumtnr_runnergign41t6 31.pulame=s#41e6 >418erne787BALANCEr7id="LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLs9m31_0 *221>2=o74" id="L374"sgsldicfwansse" ct <74" id=0 *22/capaci)70f="ke2ne2unfik0 *22/capaci#7l641t7 418" ct <)4" id="7374" 7unsig6edrlongr430 *221>2="sr2w2&nm2;&nm2;os418igronr - eastehsetp m2poto7gue  742a41t9 31)>2="sr2" +id="sumtnr_runnergign419t 419 s39431min>3143ifs__idx0f="ke430 *221>2="sr2ALANCEr79t31se clity6 3122t430 *221>2="sr2 /itv hrefALANCEr79t31se clity6 < /itv hrefALANCEr7 c#L4s9m31_0 *221>2="sr2" +id="s9m31_0 *22rant_aff2="h7ena!lass4"s &nm2;&nm2;os *4196s39431min>3143ifs__iinthrt_f"lc2=idnsigned6n=r0ma2pacit8signed lomrafsa"sr2" +id="s9m31_0 *22rant_aff2="h7ena!lass4"7shs17"sref"22s 7977shs c#L22ef="+cosref_c*Lwit3)"7by ca75rq4193 41dd="L374" cldiiiiiiiiiiiiiiiiicontinue"0f="ke2ne2unfik0 *22/capaci#7l64194 41sra>419.6s39ernrnende=minthr;41952" +id="0 *22rantfwat31ct681a> *rosrqt31ct 2="sr2 pu_rqt31ct 2=idnsigned6n=r0ma2paci2"0f="ke2ne2unfik0 *22/capaci#7l64196 419erne787BALANCEr7id="L 30 *221>2="sr2w2&nm2;&nm2;os2="sr2weightede7sh6=" &nm2;&nm2;os2=idnsigned6n=r0ma2paci2"0f="ke2ne2unfik0 *22/capaci#7l64197 2="sr2" +4131_>41d" ct 0f="ke2ne2unfik0 *22/capaci#7l64198 419_ID"2rant3sros2="sr2" +id="sumtnr_runnergign4199 419usly), orr* @sds:_s9m31_rneun belifhn belifhu When s9mpar> 43##*#=imaserne2, use=weightede7sh6=" ()8>nerg1>2="sr2" +id="sumtnr_runnergign42ct 42ct7t31la75e* Aggressive migroth26 ir.n belifhu which9t31notoscaledr##*#=thnfe27oA"22t.s_rq_lisL42c199m31767C39mlass=6/shot 4asth26 ir.n belifhurunnerg1>2="sr2" +id="sumtnr_runnergign42c2  *4206s39431min>3143ifs__iinth430 *221>2="sr2ALANCEr79t31se clity6 312&"&""hrafnde=minthr;rqt31ct 312ef="+cosref_c*Lwit3)"7by ca75rq42c3 420d="L374" cldiiiiiiiiiiiiiiiiicontinue"0f="ke2ne2unfik0 *22/capaci#7l642c4 42cra>420.6s39ernrnende=minthr;42052" +id="0 *22rantfwattpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign42c6 420o"+nr75line"de=cf6_rq" 68.+co sonsr##*#=thnfoea*r 7sh21Ners,yionsid2timnerg1>2="sr2" +id="sumtnr_runnergign42c7 2="sr2" +42c1_>42027t31la75e* Aggressive migron belifhn belifhu ea*=weightede7sh6=" ()oscaledr##*#=thnfe27oA"22t, soc4" iimnerg1>2="sr2" +id="sumtnr_runnergign42c8 420igronftehsesernisiarehre6@enn belifhn belifhu uvgtsne29snumtafmove"2away9from#thnfe27o4" idistA"tre6iaN2yunnerg1>2="sr2" +id="sumtnr_runnergign42c9 420usly), orr* @sds:_s9m31_rneun belifhn belifhu ="ke31a  idaf2owersALANCEr7.s_rq_lisL3143i <=31" n>319.4231m>421t7t31la75e* Aggressive migroth26 ir.n belifhurunnerg1>2="sr2" +id="sumtnr_runnergign4231 (sta> = 2="sr2w2&nm2;&nm2;os2="sr2w2&nm2;&nm2;os3143i <=31" n>319.4231m>421an clasmint==6/ifs_0f="ke2ne2unfikmi4233 421d="L374" cldiiiiiiiiiinth430 *221>2="sr2w2&nm2;&nm2;os36=" &nm2;&nm2;os 43164234 421r2" +id="0 *22rantfwaiksumtas 30 *221>2="sr2"ker6=" &nm2;&nm2;os2t430 *221>2="sr2w2&nm2;&nm2;os42152" +id="0 *22rantfwaiksumtas 30 *221>2="sr2Nerg ent31ct 421erne787BALANCEr7id="Lf0f="ke2ne2unfik0 *22/capaci#7l64237 2="sr2" +id="nr_ru42ner>421" ct <)4" id=f0f="ke2ne2unfik0 *22/capaci#7l64238 421igronr - eastehsetp m2poto7gue  742a4219 4211>2="sr2" +idoned, r2="h7ena!lass4"Nerg ent31ct 422t7t31f0f="ke2ne2unfik0 *22/capaci#7l64221 422*qu target.dif#L374" id="L39m319kern4222 2="sr2" +id="sumtnr_runnergign42+3 422dyaytrtpencpu?#########*ne29* Max backoffiintwe encounterspin6edre a s. Ponety arbitrary value, buiimnerg1>2="sr2" +id="sumtnr_runnergign4224  * migro*9soclongrasyitsis9large enough.s_rq_lisL242n21>42227t31.c75726> 41661_min_2runurunnerg1>2="sr2" +id="sumtnr_runnergign4226 42+erne7#def6= r2="h7ena!lass4"MAX_PINN4" INTERVALdnsigned6n=r0maMAX_PINN4" INTERVAL>2="sr2" 512>2="sr2" +id="sumtnr_runnergign4227 422" ct 0f="ke2ne2unfik0 *22/capaci#7l642+8 2=Apumask_var_nt31ct 2="sr2" +idsne2_aserne2_tmpmnnepaci2"0f="ke2ne2unfik0 *22/capaci#7l6423t 423hhr;423199m3nfiklbnin26t31ct681a> *rosneedeactive_aserne226t31la65="sr6sneedeactive_aserne2 c#L4)r67nisicouldcoggon be_cooooooooo()r 4ass2iid_idlest;ods9m31_0 *221>2="sr2" +id="s9m31_0 *22ran2ef="+cosref_c*Lwit3)"7by ca75rq42"2 42372.c#74" id="L374""22a"sr6s!"22> 43164233 
42ef=>423cfwansse" ct kerne26t31ct681a> *ros<" name="L4717"sref"22s 797r" name="L47get;ods9m31_0 *221>2=s &nm2;&nm2;os42in">423d="L374" cldiinth 30 *221>2="sr2f" c6ass="726seqt < 31222timgros 43164236 423thr;2="sr2" +id="sumtnr_runnergign4238 24r_ea42EWL>42"igronftehsesernisiarehre6@enn belifhhhhhhhhh* ASYM_PACKING needs2eo#fore29migr#tnfe a s9from#tusy buiimnerg1>2="sr2" +id="sumtnr_runnergign4239 42"usly), orr* @sds:_s9m31_rneun belifhhhhhhhhh* higa*r ?rataredrCPUs9in order9wo pack#aN2 2 a sci2="sr2" +id="sumtnr_runnergign424t 4233a>424t7t31la75e* Aggressive migroth26 ir.n belifhu 2owest ?rataredrCPUs.s_rq_lisL312&"e2ne2unfikifs__ioD_ASYM_PACKINGldicfwansse" ct D_ASYM_PACKING1min#o&"&""hrafnde=minthr;"sr2" +id="s9m31_0 *22rant_aff2="h7ena!lass4"srce7sh26t31la65="sr6ssrce7shpaci2_affdnesl6="migronfaf" c6ass="726seqt < 424d="L374" cldiiiiiiiiiiiiiiiiioned, r1"0f="ke2ne2unfik0 *22/capaci#7l64244 424d="L30f="ke2ne2unfik0 *22/capaci#7l64236 42cl6>424erne787BALANConed, r2="h7ena!lass4"unlik2l79t31se clity6 2=ed&nm2;&nm2;os424igronr - eastehsetp m2poto7gue  742a4249 424usly)nfiklbnin26t31ct681a> *rosactive_sne2_aserne2_ pu_sto"fff4caLBF_SOME_active_sne2_aserne2_ pu_sto" c#L4voidods9m31_0 *221>2=data26t31la65="sr6sdatapaci2"0f="ke2ne2unfik0 *22/capaci#7l6425t 425hhr;425199m31767C39mlass=6/shot 4a1Nunnerg1>2="sr2" +id="sumtnr_runnergign4252 42572.c#L425" id="<31342_al>425dyaytrtpencpu?#########*ne29* e a scif ea*r29t31numimaserne2.unnerg1>2="sr2" +id="sumtnr_runnergign4254 4253134erne27t31" 735a> * migro*runnerg1>2="sr2" +id="sumtnr_runnergign4255 42"27t31nfiklbnin26t31ct681a> *rossne2_aserne2rg1>2="sr2" +idsne2_aserne2 c#L4in26t31ct681a> *roseaisl7shrg1>2="sr2" +ideaisl7shotcit8kerne26t31ct681a> *rosrqt31ct 2=eaislrqt31ct 2="sr2" +id="sumtnr_runnergign4256 425erne787BALANCEr7id="LLLLLLLLLkerne26t31ct681a> *ros<" name="L4717"sref"22s 797r" name="L47get;ods9m31_0 *221>2=s &nm2;&nm2;os2="sr2 pu_99erltyp2ignenv0f="ke2neipu_99erltyp2get;o2="h7ena!lass4"29erdnsigned6n=r0ma29er8>31t>2="sr2" +id="sumtnr_runnergign4257  *842296>425" ct <)4" id="7374" 777777777nnerds9m31_0 *221>2=aserne226t31la65="sr6saserne2wedn2ef="+cosref_c*Lwit3)"7by ca75rq4258 425_ID"274" id="L374""22a"sr6s!"22> 43164259 4251>2="sr2" +idin26t31ct681a> *rossd_move"rg1>2="sr2" +idsd_move"pacit8signed lomrafsacur_sd_move"rg1>2="sr2" +idcur_sd_move"pacit8signed lomrafsaactive_aserne226t31la65="sr6sactive_aserne2 c#L>2t070f="ke2ne2unfik0 *22/capaci#7l6426t 4260f="ke2ne2unfkerne26t31ct681a> *ros<" nam316/<;od"s_rnsd a 4262f="ke2ne2unfkerne26t31ct681a> *rosrqt31ct 2=Nerg ent31ct 426d="L374" cldiunsig6edrlongr430 *221>2="sr2flags17"sref"22s 797flags8>31"0f="ke2ne2unfik0 *22/capaci#7l64264 426r2" +id="0 *2kerne26t31ct681a> *rosApumaskt31ct 2=7shs17"sref"22s 7977shs c#L2e"hrafnde=minthr;__gene7sh_var17"sref"22s 797__gene7sh_var c#L4s9m31_0 *221>2=sne2_aserne2_tmpmnnerg1>2="sr2" +idsne2_aserne2_tmpmnnepaci2"0f="ke2ne2unfik0 *22/capaci#7l64265 42662" +id="0 *2kerne26t31ct681a> *ros_cooooooooo()r 4ass2iid_idlest;onesl6="migronfaf" c6ass="726seqt <  43164267 426" ct <)4" id="7374" 7.rgigne32e" names &nm2;&nm2;os 43164268 2="sr2" +ideaisl7shotcit4" id="L374""22a"sr6s!"22> 43164269 4261>2="sr2" +id="0 *22r.rgigne32e" namedenerqt31ct 2="sr2" +id=e"hrafnde=minthr;eaislrqt31ct 2="sr2" +id="sumtnr_runnergign427t 427 s39431min>3143ifs__i.rgigne32e" namedenegrpmnnerg1>2="sr2" +iddenegrpmnnes39431mie"hrafnde=minthr;r" nam316/2=ed&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4271 2="sr2" +id="0 *22r42*22>4270f="ke2ne2unfiksumtas.rgigne32e" name29erdnsigned6n=r0ma29er8>3122222222222e"hrafnde=minthr;29erdnsigned6n=r0ma29er8>31t>2="sr2" +id="sumtnr_runnergign4272 4276s39431min>3143ifs__i.rgigne32e" nameloop_breaerg1>2="sr2" +idsnop_breaes39431mine"hrafnde=minthr;r" namnr_migr#tn_breaerg1>2="sr2" +idr" namnr_migr#tn_breae8>31t>2="sr2" +id="sumtnr_runnergign4273 2="sr2" +id="sumtnr_runnergign4274 427r2" +id="0 *2f"0f="ke2ne2unfik0 *22/capaci#7l64275 427d="L30f="ke2ne2unfik0 *22/capaci#7l64276 214239m>4276fwansse" ct  9m31_0 *221>2=Apumask_cop79t31se clity6 2=Apus17"sref"22s 7977shs c#Ltt430 *221>2="sr2 pu_active_maskt31ct 2="sr2"ker=b_iter#tions17"sref"22s 797"ker=b_iter#tionsawan2e"hrafnde=minthr;7shmask_weightte>316="kerne227shmask_weight c#L4s9m31_0 *221>2=f" c6ass="726seqt < 2="sr2" +iddenegrpmnnes3942"0f="ke2ne2unfik0 *22/capaci#7l64278 427igronr - eastehsetp m2poto7gue  742a42_9 4271>2="sr2" +idnesl6="migronfapoto7nfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os31]2"0f="ke2ne2unfik0 *22/capaci#7l6428t 428hhr;4280f="kt31ct681a> *rosredot31ct 3142nne>4282>2="sr2" +idnesl6="migronfaff2="fff4caLBF_SOME_7INNE1min22t430 *221>2="sr2 /nam usg eneff2="fff4caLBF_SOME_ /nam usg eneff2=" c#L4&"sr6s * update6c"sr2" +id="s9m31_0 *22rant8signed lomrafsaaserne226t31la65="sr6saserne2wedn2"0f="ke2ne2unfik0 *22/capaci#7l64283 3143mint==6/ifs_0f4231m>428ifs_0f="ke2ne2unfik0 *22/ifs_igned+94284 428r2" +id="0 *2inthds9m31_0 *221>2=aserne226t31la65="sr6saserne2wedn>22t02ef="+cosref_c*Lwit3)"7by ca75rq4285 42852" +id="0 *22rantfwagowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l642t6 31.pulame=s#42e6 >428thr;428" ct <)4" id=inthrt_f"lc 43164288 428_ID"2rant3sros2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os316="kerne22sb_notusyaawan[hrafnde=minthr;29erdnsigned6n=r0ma29er8>31]2"0f="ke2ne2unfik0 *22/capaci#7l64289 42970masweighl=8f0f="ke2ne2unfik0 *22/capaci#7l64291 429*qu target.dif#L374" id="L39m319kern4292  *4292>2="sr2" +idnesl6="migronfaNerg ent31ct 42dd="L374" cldiinthrt_f"lc 43164294 42sra>429r2" +id="0 *22rantfwa esl6="migronfapoto7nfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os31]2"0f="ke2ne2unfik0 *22/capaci#7l642d5 42952" +id="0 *22rantfwagowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l64296 429erne787BALANCf0f="ke2ne2unfik0 *22/capaci#7l64297 2="sr2" +4231_>42d" ct 0f="ke2ne2unfik0 *22/capaci#7l64298 429_ID"2rant3sros9m31_0 *221>2=BUG_ON17"sref"22s 797BUG_ON c#L4s9m31_0 *221>2=Nerg ent31ct 429usly)0f="ke2ne2unfik0 *22/capaci#7l643ct 4300ID"2rant3sros9m31_0 *221>2=r" nanfik_add&nm2;&nm2;os2=ed&nm2;&nm2;os31]t8signed lomrafsa"sr2" +id="s9m31_0 *22ran.rgigne32e" name2m2unf6"ednsigned6n=r0ma2m2unf6"e8>312"0f="ke2ne2unfik0 *22/capaci#7l643c1 430*qu target.dif#L374" id="L39m319kern43c2  *4302>2="sr2" +idnesl6="migronfasd_move"rg1>2="sr2" +idsd_move"paci>2t070f="ke2ne2unfik0 *22/capaci#7l643c3 4303>2="sr2" +idnesl6="migronfasb_iter#tions17"sref"22s 797sb_iter#tionspaci>2t1"0f="ke2ne2unfik0 *22/capaci#7l643c4 43cra>430r2" +id="0 *2inths9m31_0 *221>2=Nerg ent31ct  431643c5 43052" +id="0 *22rantfwattpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign43c6 430o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +43c1_>43027t31la75e* Aggressive migron belifhn belifhu numimaserne2 buia usg ent_aff7ef="ke31a>&l7 e"1,#thnf316/430igronftehsesernisiarehre6@enn belifhn belifhu still unt31"222C. sd_move" simply stays zero, socitsisget.dif#L374" id="L39m319kerne29t372"l43c9 430usly), orr* @sds:_s9m31_rneun belifhn belifhu correctly treate"2a31numimaserne2.unnerg1>2="sr2" +id="sumtnr_runnergign431t 3143i <=31" n>319.4331m>431t7t31la75e* Aggressive migroth26 ir.n belifhurunnerg1>2="sr2" +id="sumtnr_runnergign4331 (sta> = 2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312|e"hrafnde=minthr;LBF_ALL_PINN4"17"sref"22s 797LBF_ALL_PINN4"wedn"0f="ke2ne2unfik0 *22/capaci#7l64332 3143i <=31" n>319.4331m>4316s39431min>3143ifs__i 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesrce7sh26t31la65="sr6ssrce7shpaci222e"hrafnde=minthr;Nerg ent31ct 431d="L374" cldiiiiiiiii 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesrcerqt31ct 431r2" +id="0 *22rantfwa 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesnop_maxrg1>2="sr2" +idsnop_max2" +ide"hrafnde=minthr;m4717"sref"22s 797m47get;4s9m31_0 *221>2=eysctl_r" namnr_migr#tnt31ct 431d="L30f="ke2ne2unfik0 *22/capaci#7l64316 431erne787BALANCEr7id="L2="h7ena!lass4"upd#tn_hr6=" &nm2;&nm2;os2=f" c6ass="726seqt < 431_ID"2rant3sros2="sr2" +idsncal_irq_sav2 c#L4s9m31_0 *221>2=flags17"sref"22s 797flags8>312"0f="ke2ne2unfik0 *22/capaci#7l64339 4311>2="sr2" +id="0 *22rrgigne32e" namedoubleerqr6=cerg1>2="sr2" +iddoubleerqr6=ce c#L4s9m31_0 *221>2=eaislrqt31ct 432hhr;4320f="ke2ne2unfiksumtas tpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign4322 2="sr2" +id="sumtnr_runnergign4323 432dyaytrtpencpu?#########*ne292ne2unfiksumtashu sd_move"     - cumulmgivetsne29move" across iter#tionspanerg1>2="sr2" +id="sumtnr_runnergign4324  * migro2ne2unfiksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign4325 243n21>43252" +id="0 *22rantfwat31ct681a> *roscur_sd_move"rg1>2="sr2" +idcur_sd_move"pacide"hrafnde=minthr;move_e a s26t31la65="sr6smove_e a s c#L4&"sr6s * update6c"sr2" +id="s9m31_0 *22ran2"0f="ke2ne2unfik0 *22/capaci#7l64326 432erne787BALANCEr7id="L2="h7ena!lass4"sd_move"rg1>2="sr2" +idsd_move"paci>+e"hrafnde=minthr;7ur_sd_move"rg1>2="sr2" +idcur_sd_move"paci"0f="ke2ne2unfik0 *22/capaci#7l64327 432" ct <)4" id="7374" 7Lgigne32e" namedoubleerqrun6=cerg1>2="sr2" +iddoubleerqrun6=ce c#L4s9m31_0 *221>2=eaislrqt31ct 432_ID"2rant3sros2="sr2" +idsncal_irq_r enore c#L4s9m31_0 *221>2=flags17"sref"22s 797flags8>312"0f="ke2ne2unfik0 *22/capaci#7l64329 432usly)0f="ke2ne2unfik0 *22/capaci#7l6433t 433 s39431min>3143ifs__i<74" 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312&""hrafnde=minthr;LBF_NEED_BREAK17"sref"22s 797LBF_NEED_BREAKwedn)"74" id="L374""22a"sr6s!"22> 43164331 4330f="ke2ne2unfiksumtastfwa"kerresl6="migronfa"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312&"= ~hrafnde=minthr;LBF_NEED_BREAK17"sref"22s 797LBF_NEED_BREAKwedn"0f="ke2ne2unfik0 *22/capaci#7l643"2 4336s39431min>3143ifs__idx0f="kegowo s9m31_0 *221>2=more_aserne226t31la65="sr6smore_aserne2f="k"0f="ke2ne2unfik0 *22/capaci#7l643"3 
43ef=>433d="L374" cldiiiiiiiiif0f="ke2ne2unfik0 *22/capaci#7l64334 433.6s39ernrnende=minthr;43in">43352" +id="0 *22rantfwattpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign4336 433o"+nr75line"de=cf6_rq" 68.+co 24r_ea43EWL>433_ID"2rant3sros *roscur_sd_move"rg1>2="sr2" +idcur_sd_move"pacid&"&""hrafnde=minthr;"sr2" +id="s9m31_0 *22ran.rgigne32e" namedene7sh26t31la65="sr6sdene7sh c#L2!e"hrafnde=minthr;rmp_processor_id&nm2;&nm2;os4331>2="sr2" +id="0 *22re27t31--hrafnde=minthr;r e" nam7sh26t31la65="sr6sr e" nam7sh c#L4s9m31_0 *221>2=f" c6ass="726seqt < 4333a>434hhr;2="sr2" +id="sumtnr_runnergign4332 43472.c#L425" id="<2="sr2" +id="sumtnr_runnergign4333 434dyaytrtpencpu?#########*ne292ne2unfiksumtashu usfll9tmoverehem1updencaltern#tnfdene7sh9in our D" nam316/<1mnerg1>2="sr2" +id="sumtnr_runnergign4334  * migro2ne2unfiksumtashu wa*r29ehey9snumrun. Tvgtupp*r limit on how many times weunnerg1>2="sr2" +id="sumtnr_runnergign4335 43427t31.c75726> 41661_min_2run2ne2unfiksumtashu iter#tecon s hr srce7shois depend"<< on ?ratar offe27t infourunnerg1>2="sr2" +id="sumtnr_runnergign4336 43cl6>434o"+nr75line"de=cf6_rq" 68.+co 43427t31la75e* Aggressive migron belifhn belifhus_rq_lisL434igronftehsesernisiarehre6@enn belifhn belifhu Tais changes sne29aserne2 semanticsfl bit on who9snummoveunnerg1>2="sr2" +id="sumtnr_runnergign4349 434usly), orr* @sds:_s9m31_rneun belifhn belifhu sne29upde givene7sh. Incaddition9updthnf3ivene7sh itselfunnerg1>2="sr2" +id="sumtnr_runnergign435t 435t7t31la75e* Aggressive migroth26 ir.n belifhu (oroa iid_csh acting on itsmtahalf wa*r293ivene7sh ispanerg1>2="sr2" +id="sumtnr_runnergign4351 435199m31767C39mlass=6/shot 4aoth26 ir.n belifhu nohz-29er),twe now haveraserne2_ pu infa position9updmoveunnerg1>2="sr2" +id="sumtnr_runnergign4352 43572.c#L425" id="<31343_al>435dyaytrtpencpu?#########*ne29n belifhn belifhu conflictsm(aserne2_ pu ll9tgivene7sh/iid_csh decid31a1mnerg1>2="sr2" +id="sumtnr_runnergign4354 4353134erne27t31" 735a> * migron belifhn belifhu _independ"<2="sr2" +id="sumtnr_runnergign4355 43527t31.c75726> 41661_min_2run2ne2unfiksumtashu givene7sh)9snusing exceess sne29updtafmove"2todgivene7sh.1mnerg1>2="sr2" +id="sumtnr_runnergign4356 435o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4357  *843296>43527t31la75e* Aggressive migron belifhn belifhu moreovar subsequ"<< sne29aserne2 cycles should1correcta hrimnerg1>2="sr2" +id="sumtnr_runnergign4358 435igronftehsesernisiarehre6@enn belifhn belifhu excess sne29move".1mnerg1>2="sr2" +id="sumtnr_runnergign4359 435usly), orr* @sds:_s9m31_rneun belifhn belifhurunnerg1>2="sr2" +id="sumtnr_runnergign436t 2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312&""hrafnde=minthr;LBF_SOME_PINN4"17"sref"22s 797LBF_SOME_PINN4"wedn)"&"&""hrafnde=minthr;"sr2" +id="s9m31_0 *22ran.rgigne32e" name2m2unf6"ednsigned6n=r0ma2m2unf6"e8>31>_affd0"&"&">2="sr2" +id="sumtnr_runnergign4361 4360f="ke2ne2unfiksumtastfwa"kerrrrrrrrrnesl6="migronfasb_iter#tions17"sref"22s 797sb_iter#tionspaci++>&l7 = 30 *221>2="sr2"ker=b_iter#tions17"sref"22s 797"ker=b_iter#tionsawan)"74" id="L374""22a"sr6s!"22> 43164362 436an clasmint==6/ifs_0f="ke2ne2unfikmi4363 436d="L374" cldiiiiiiiiirrrrrrrrnesl6="migronfaeaislrqt31ct 2="sr2 pu_rqt31ct 2="sr2" +id="s9m31_0 *22ran.rgigne32e" namenew_dene7sh26t31la65="sr6snew_dene7sh c#L2"0f="ke2ne2unfik0 *22/capaci#7l64364 436r2" +id="0 *22rantfwarrrrrrrrnesl6="migronfaf" c6ass="726seqt < 2="sr2" +ie"hrafnde=minthr;eaislrqt31ct 43652" +id="0 *22rantfwaiksumtas 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namedene7sh26t31la65="sr6sdene7sh c#L22" +ie"hrafnde=minthr;"sr2" +id="s9m31_0 *22ran.rgigne32e" namenew_dene7sh26t31la65="sr6snew_dene7sh c#L"0f="ke2ne2unfik0 *22/capaci#7l64366 436erne787BALANCEr7id="Liksumtas 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312222222&"= ~hrafnde=minthr;LBF_SOME_PINN4"17"sref"22s 797LBF_SOME_PINN4"wedn"0f="ke2ne2unfik0 *22/capaci#7l64367 436" ct <)4" id="7374" 7iksumtas 30 *221>2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesnoprg1>2="sr2" +idsnop ct <)4" id="2t070f="ke2ne2unfik0 *22/capaci#7l64368 2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesnop_breaerg1>2="sr2" +idsnop_breaes39431me"hrafnde=minthr;r" namnr_migr#tn_breaerg1>2="sr2" +idr" namnr_migr#tn_breae8>3170f="ke2ne2unfik0 *22/capaci#7l64369 4361>2="sr2" +id="0 *22riksumtas tpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign437t 437t7t31la75e* Aggressive migroth26 ir.n belifhhhhhhhhh* Go back2tod"more_aserne2"craea*r th5e*"redo"csince weunnerg1>2="sr2" +id="sumtnr_runnergign4371 2="sr2" +id="0 *22r43*22>437199m31767C39mlass=6/shot 4aoth26 ir.n belifhhhhhhhhh* need2todcontinuer##*#=s hr srce7sh.1mnerg1>2="sr2" +id="sumtnr_runnergign4372 43772.c#L425" id="<2=more_aserne226t31la65="sr6smore_aserne2f="k"0f="ke2ne2unfik0 *22/capaci#7l64374 437r2" +id="0 *22rantfwaf0f="ke2ne2unfik0 *22/capaci#7l64375 437d="L30f="ke2ne2unfik0 *22/capaci#7l64376 214339m>437erne787BALANCEr7id="L2tehsesernisiarehre6@e/* AN2 2 a scon9uais runqueu2 werespin6edrbyrCPU aff6=ityh*runnerg1>2="sr2" +id="sumtnr_runnergign4377 437" ct <)4" id="7374" 7<74"t31ct681a> *rosunlik2l79t31se clity6 2="sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312&""hrafnde=minthr;LBF_ALL_PINN4"17"sref"22s 797LBF_ALL_PINN4"wedn))"74" id="L374""22a"sr6s!"22> 43164378 437_ID"2rant3sros2="sr2Apumask_cleare7sh26t31la65="sr6sApumask_cleare7sh c#L4s9m31_0 *221>2= pu_oft31ct 2=aerg ent31ct 2="sr2 pus17"sref"22s 7977shs c#L2"0f="ke2ne2unfik0 *22/capaci#7l643_9 4371>2="sr2" +id="0 *22riksumtasinthrt_f"lc2= pus17"sref"22s 7977shs c#L2)"74" id="L374""22a"sr6s!"22> 4316438t 438 s39431min>3143ifs__is2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" namesnoprg1>2="sr2" +idsnop ct <2t070f="ke2ne2unfik0 *22/capaci#7l64381 4380f="ke2ne2unfiksumtastfwa"kerrrrrrrrrnesl6="migronfa"sr2" +id="s9m31_0 *22ran.rgigne32e" namesnop_breaerg1>2="sr2" +idsnop_breaes3943e"hrafnde=minthr;r" namnr_migr#tn_breaerg1>2="sr2" +idr" namnr_migr#tn_breae8>3170f="ke2ne2unfik0 *22/capaci#7l64382 3143nne>4386s39431min>3143ifs__idx0f="keeeeeeeeegowo s9m31_0 *221>2=redot31ct 3143mint==6/ifs_0f4331m>438d="L374" cldiiiiiiiiiiiiiiiiif0f="ke2ne2unfik0 *22/capaci#7l64384 438r2" +id="0 *22rantfwarrrrrrrrgowo s9m31_0 *221>2=out_aserne2317"sref"22s 797out_aserne23wedn"0f="ke2ne2unfik0 *22/capaci#7l64385 43852" +id="0 *22rantfwaf0f="ke2ne2unfik0 *22/capaci#7l64386 31.pulame=s#43e6 >438erne787BALANCf0f="ke2ne2unfik0 *22/capaci#7l643t7 438" ct 0f="ke2ne2unfik0 *22/capaci#7l64388 438_ID"2rant3srointhrt_f"lc2="sr2" +idsd_move"paci)"74" id="L374""22a"sr6s!"22> 43164389 2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os31]2"0f="ke2ne2unfik0 *22/capaci#7l6439t 439 s39431min>3143ifs__i tpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign4391 439199m31767C39mlass=6/shot 4aoth26 ir.n belifhu Increhot dthnffaclureycountersonlycon9periodic aserne2.unnerg1>2="sr2" +id="sumtnr_runnergign4392  *43972.c#L425" id="<439dyaytrtpencpu?#########*ne29n belifhn belifhu frequ"<<, pollutedthnffaclureycounterssnusingunnerg1>2="sr2" +id="sumtnr_runnergign4394 43sra>4393134erne27t31" 735a> * migron belifhn belifhu excessivet7a22/_hotomigr#tions ll9t ctive aserne2s.s_rq_lisL43927t31.c75726> 41661_min_2run2ne2unfiksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign4396 439erne787BALANCEr7id="L<74"t31ct681a> *ros29erdnsigned6n=r0ma29er8>312!e"hrafnde=minthr;CPU_NEWLY_IDgsldicfwansse" ctCPU_NEWLY_IDgs1min#>2="sr2" +id="sumtnr_runnergign4397 2="sr2" +4331_>439" ct <)4" id="7374" 7iksumtas 30 *221>2="sr2ed&nm2;&nm2;os439igronr - eastehsetp m2poto7gue  742a43d9 4391>2="sr2" +id="0 *22r<74"t31ct681a> *rosneedeactive_aserne226t31la65="sr6sneedeactive_aserne2 c#L4&"sr6s * update6c"sr2" +id="s9m31_0 *22ran2)"74" id="L374""22a"sr6s!"22> 431644ct 440 s39431min>3143ifs__is2=raw_spinr6=ce_irqsav2rg1>2="sr2" +idraw_spinr6=ce_irqsav2 c#L4&"sr6s * update6caerg ent31ct 2="sr2" +id6=ce c#Lt8signed lomrafsaflags17"sref"22s 797flags8>312"0f="ke2ne2unfik0 *22/capaci#7l644c1 440*qu target.dif#L374" id="L39m319kern44c2  *4406s39431min>3143ifs__idx0f="ke2tehsesernisiarehre6@e/* don21Nertmkick eae active_sne2_aserne2_ pu_sto",unnerg1>2="sr2" +id="sumtnr_runnergign44c3 440dyaytrtpencpu?#########*ne29n belifhn belifhksumtashucif ea* curr 2 a con9Nerg en 7sh snu21Nertmtaunnerg1>2="sr2" +id="sumtnr_runnergign44c4 44cra>4403134erne27t31" 735a> * migron belifhn belifhksumtashucmove"2todeaisl7shotnerg1>2="sr2" +id="sumtnr_runnergign44c5 44027t31.c75726> 41661_min_2run2ne2unfiksumtashksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign44c6 440erne787BALANCEr7id="Liksumtasinthrt_f"lc2=eaisl7shrg1>2="sr2" +ideaisl7shotcit4" id="L374""22a"sr6s!"22> 431644c7 2="sr2" +44c1_>440" ct <)4" id="7374" 7iksumtassssssssssssssssss9m31_0 *221>2=esk_cpus_al2owe317"sref"22s 797esk_cpus_al2owe3 c#L4s9m31_0 *221>2=aerg ent31ct  431644c8 440_ID"2rant3sros2=raw_spinrun6=ce_irqr enorerg1>2="sr2" +idraw_spinrun6=ce_irqr enore c#L4&"sr6s * update6caerg ent31ct 2="sr2" +id6=ce c#Lt4" id="L374""22a"sr6s!"22> 431644c9 4401>2="sr2" +id="0 *22riksumtas id="7374" 7iksumtassssssssssssssssss9m31_0 *221>2=flags17"sref"22s 797flags8>312"0f="ke2ne2unfik0 *22/capaci#7l6441t 3143i <=31" n>319.4431m>441 s39431min>3143ifs__is2="sr2"sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312|e"hrafnde=minthr;LBF_ALL_PINN4"17"sref"22s 797LBF_ALL_PINN4"wedn"0f="ke2ne2unfik0 *22/capaci#7l64431 (sta> = 2=out_one_pin6ed17"sref"22s 797out_one_pin6edwedn"0f="ke2ne2unfik0 *22/capaci#7l64432 3143i <=31" n>319.4431m>4416s39431min>3143ifs__iiiiiiiiif0f="ke2ne2unfik0 *22/capaci#7l64433 441ifs_0f="ke2ne2unfik0 *22/ifs_igned+94434 441r2" +id="0 *22rantfwaiksumtas tpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign4435 44127t31.c75726> 41661_min_2run2ne2unfiksumtashksumtashu t_affactive_aserne2 synchronizes lccesses up1mnerg1>2="sr2" +id="sumtnr_runnergign4416 441o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4437 2="sr2" +id="nr_ru44ner>44127t31la75e* Aggressive migron belifhn belifhksumtashu onlycafters ctive sne29aserne2 is  /nishe".1mnerg1>2="sr2" +id="sumtnr_runnergign4438 441igronftehsesernisiarehre6@enn belifhn belifhksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign4439 4411>2="sr2" +id="0 *22rrrrrrrrrinthrt_f"lc 4316442t 442 s39431min>3143ifs__is2="sr2Nerg ent31ct 4420f="ke2ne2unfiksumtass2="sr2Nerg ent31ct 2="sr2" +idpushl7shs3943e"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shotci"0f="ke2ne2unfik0 *22/capaci#7l64422 442d="L374" cldiiiiiiiiiiiiiiiiif0f="ke2ne2unfik0 *22/capaci#7l64424 2="sr2" +idraw_spinrun6=ce_irqr enore c#L4&"sr6s * update6caerg ent31ct 2="sr2" +id6=ce c#Ltss9m31_0 *221>2=flags17"sref"22s 797flags8>312"0f="ke2ne2unfik0 *22/capaci#7l64425 244n21>442d="L30f="ke2ne2unfik0 *22/capaci#7l64426 442erne787BALANCEr7id="LLLLLLLLL<74"t31ct681a> *rosactive_aserne226t31la65="sr6sactive_aserne2 c#L)"74" id="L374""22a"sr6s!"22> 43164427 442" ct <)4" id="7374" 72rantfwarrrrrrrrnesl6="migronfasto"_one_ pu_nowaint31ct 2= pu_oft31ct 2=aerg ent31ct  43164428 2=aerg ent31ct  43164429 4421>2="sr2" +id="0 *22riksumtas id="7374" 7iksu&"sr6s * update6caerg ent31ct 443 s39431min>3143ifs__iiiiiiiiif0f="ke2ne2unfik0 *22/capaci#7l64431 443*qu target.dif#L374" id="L39m319kern44"2 4436s39431min>3143ifs__idx0f="ke tpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign44"3 
44ef=>443dyaytrtpencpu?#########*ne29n belifhn belifhksumtashucWe21Nerve kicke9t ctive aserneing, r ee dthnffaclureunnerg1>2="sr2" +id="sumtnr_runnergign44"4 4433134erne27t31" 735a> * migron belifhn belifhksumtashuccounter.1mnerg1>2="sr2" +id="sumtnr_runnergign44"5 44in">44327t31.c75726> 41661_min_2run2ne2unfiksumtashksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign4436 443erne787BALANCEr7id="Liksumtas 30 *221>2="sr2ed&nm2;&nm2;os24r_ea44EWL>443_ID"2rant3sro} else0f="ke2ne2unfik0 *22/capaci#7l64439 4431>2="sr2" +id="0 *22r 30 *221>2="sr2ed&nm2;&nm2;os4433a>444hhr; *roslik2l79t31se clity6  43164432 4446s39431min>3143ifs__i tehsesernisiarehre6@e/* W2 weresunt31"222C, socr ee dthnfaserneing intervalhurunnerg1>2="sr2" +id="sumtnr_runnergign4433 444d="L374" cldiiiiiiiii 30 *221>2="sr2ed&nm2;&nm2;os31430 44sl6>4444ID"2rant3sro} else"74" id="L374""22a"sr6s!"22> 43164435 44452" +id="0 *22rantfwattpencpu?#########*ne21Nunnerg1>2="sr2" +id="sumtnr_runnergign4436 44cl6>444o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4437 44427t31la75e* Aggressive migron belifhn belifhu case"may9notobeycoveredrbyreae all_pin6ed logiccif ea*reunnerg1>2="sr2" +id="sumtnr_runnergign4448 444igronftehsesernisiarehre6@enn belifhn belifhu is onlyc1 2 a con9thnfausy runqueu2 (besnusetwe don21Nertmcallunnerg1>2="sr2" +id="sumtnr_runnergign4449 444usly), orr* @sds:_s9m31_rneun belifhn belifhu move_e a s).1mnerg1>2="sr2" +id="sumtnr_runnergign445t 445t7t31la75e* Aggressive migroth26 ir.n belifhurunnerg1>2="sr2" +id="sumtnr_runnergign4451 4450f="ke2ne2unfiksumtas<74"t31ct681a> *rosed&nm2;&nm2;os2="sr2rd&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4452 4456s39431min>3143ifs__idx0f="ke 31ct681a> *rosed&nm2;&nm2;os31344_al>445d="L374" cldif0f="ke2ne2unfik0 *22/capaci#7l64454 445.6s39ernrnende=minthr;44552" +id="0 *2gowo s9m31_0 *221>2=out17"sref"22s 797outotci"0f="ke2ne2unfik0 *22/capaci#7l64456 445thr; *844296>44527t31l="h7ena!lass4"out_aserne2317"sref"22s 797out_aserne23wedn:arget.dif#L374" id="L39m319kern4458 445_ID"2rant3sros9m31_0 *221>2=r" nanfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os31]2"0f="ke2ne2unfik0 *22/capaci#7l64459 445usly)0f="ke2ne2unfik0 *22/capaci#7l6446t 2=rd&nm2;&nm2;os446*qu target.dif#L374" id="L39m319kern4462 446an cls9m31_0 *221>2=out_one_pin6ed17"sref"22s 797out_one_pin6edwedn:arget.dif#L374" id="L39m319kern4463 446d="L374" cldi tehsesernisiarehre6@e/* tungtupdthnfaserneing intervalhurunnerg1>2="sr2" +id="sumtnr_runnergign4464 446r2" +id="0 *2<74""4s9m31_0 *221>2="sr2" +id="s9m31_0 *22ran.rgigne32e" nameflags17"sref"22s 797flags8>312&""hrafnde=minthr;LBF_ALL_PINN4"17"sref"22s 797LBF_ALL_PINN4"wedn)"&"&">2="sr2" +id="sumtnr_runnergign4465 2="sr2MAX_PINN4"_INTERVALt31ct 2="sr2" +id="sumtnr_runnergign4466 446erne787BALANCEr7id="Liksumtas"t31ct681a> *rosed&nm2;&nm2;os2="sr2rd&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4467 446" ct <)4" id="7374" 7 31ct681a> *rosed&nm2;&nm2;os4461>2="sr2" +idsigned lomrafsasd_move"rg1>2="sr2" +idsd_move"paci>2t070f="ke2ne2unfik0 *22/capaci#7l6447t 447t7t31l9m31_0 *221>2=out17"sref"22s 797outotci:arget.dif#L374" id="L39m319kern4471 2="sr2" +id="0 *22r44*22>4470f="ke2ne2unfreturndsigned lomrafsasd_move"rg1>2="sr2" +idsd_move"paci70f="ke2ne2unfik0 *22/capaci#7l64472 44772.c#f0f="ke2ne2unfik0 *22/capaci#7l64473 4473134erne27t31" 735a> * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4475 44727t31.c75726> 41661_min_2run* 29er_aserne2 is calledrbyrtnr_rule()cif eaisl7sh is about9updta1_meunnerg1>2="sr2" +id="sumtnr_runnergign4476 214439m>447o"+nr75line"de=cf6_rq" 68.+c* 29er. Attempts up puN2 2 a scfromfoea*r CPUs.s_rq_lisL44727t31la75e* Aggressive migrourunnerg1>2="sr2" +id="sumtnr_runnergign4478 447_ID"2voiddsigned lomrafsa29er_aserne2dnsigned6n=r0ma29er_aserne2 c#L4int"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shotci, struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;eaislrqt31ct 2="sr2" +id="sumtnr_runnergign44_9 4471>2="74" id="L374""22a"sr6s!"22> 4316448t 448 s39431min>31struct"hrafnde=minthr;r" namdoma4717"sref"22s 797r" namdoma47>2="s*hrafnde=minthr;ed&nm2;&nm2;os4480f="ke2ne2unfint"hrafnde=minthr;puN2nam2 a rg1>2="sr2" +idpuN2nam2 a paci>2t070f="ke2ne2unfik0 *22/capaci#7l64482 3144nne>4486s39431min>31unsig6ed long 2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2paci2e"hrafnde=minthr;jiffg et31ct 448r2" +id="0 *2hrafnde=minthr;eaislrqt31ct 2="sr2" +idc6=ce c#L70f="ke2ne2unfik0 *22/capaci#7l64485 448d="L30f="ke2ne2unfik0 *22/capaci#7l64486 31.pulame=s#44e6 >448erne787BALANC<74"t31ct681a> *roseaislrqt31ct 2="sr2rysctl_r" nammigr#tion_coent31ct 2="sr2" +id="sumtnr_runnergign44t7 448" ct <)4" id="7374" 7return70f="ke2ne2unfik0 *22/capaci#7l64488 448igronr - eastehsetp m2poto7gue  742a4489  * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign449t 449t7t31la75e* Aggressive migroth26 ir.* Dropdthnfrqt_aff6=ce, but9keep IRQ/preempt disable".1mnerg1>2="sr2" +id="sumtnr_runnergign4491 449199m31767C39mlass=6/shot 4aoth26 ir.urunnerg1>2="sr2" +id="sumtnr_runnergign4492  *44922" +id="0 *2hrafnde=minthr;raw_spinrun6=cet31ct 2="sr2" +id6=ce c#L2"0f="ke2ne2unfik0 *22/capaci#7l64493 449ifs_0f="ke2ne2unfik0 *22/ifs_igned+94494 44sra>449r2" +id="0 *2hrafnde=minthr;upd#tn_shar et31ct 2=eaisl7shrg1>2="sr2" +ideaisl7shotci2"0f="ke2ne2unfik0 *22/capaci#7l64495 44952" +id="0 *2hrafnde=minthr;rcu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64496 449erne787BALANCrgigne32e" namefor_eachmdoma4717"sref"22s 797for_eachmdoma47 c#L4s9m31_0 *221>2=eaisl7shrg1>2="sr2" +ideaisl7shotcit8signed lomrafsaed&nm2;&nm2;os 43164497 2="sr2" +4431_>449" ct <)4" id="7374" 7unsig6ed long 2="h7ena!lass4"intervalt31ct 449_ID"2rant3sros2t1"0f="ke2ne2unfik0 *22/capaci#7l644d9 449usly)0f="ke2ne2unfik0 *22/capaci#7l645ct 450 s39431min>3143ifs__iinthr"t31ct681a> *rosed&nm2;&nm2;os312&""hrafnde=minthr;SD_LOAD_BALANCE17"sref"22s 797SD_LOAD_BALANCE1min##>2="sr2" +id="sumtnr_runnergign45c1 4500f="ke2ne2unfiksumtass *450an clasmint==6/ifs_0f="ke2ne2unfikmi45c3 450d="L374" cldiiiiiiiii<74"t31ct681a> *rosed&nm2;&nm2;os312&""hrafnde=minthr;SD_BALANCE_NEWIDgsldicfwansse" ctSD_BALANCE_NEWIDgsawan)"74" id="L374""22a"sr6s!"22> 431645c4 45cra>450r2" +id="0 *22rantfwaiksumtas tpencpu?#########*ne21N If we21Nerve puN2na 2 a scovar stopdsearching:.urunnerg1>2="sr2" +id="sumtnr_runnergign45c5 45052" +id="0 *22rantfwaiksumtas 30 *221>2="sr2puN2nam2 a rg1>2="sr2" +idpuN2nam2 a paci>2t2="h7ena!lass4"6=e2_aserne2rg1>2="sr2" +id6=e2_aserne2 c#L4s9m31_0 *221>2=eaisl7shrg1>2="sr2" +ideaisl7shotcit8signed lomrafsaeaislrqt31ct 2="sr2" +id="sumtnr_runnergign45c6 450erne787BALANCEr7id="Liksumtasssssssssssssssssssssssssssss9m31_0 *221>2=ed&nm2;&nm2;os450" ct <)4" id="7374" 7f0f="ke2ne2unfik0 *22/capaci#7l645c8 450igronr - eastehsetp m2poto7gue  742a45c9 4501>2="sr2" +id="0 *22r2="h7ena!lass4"intervalt31ct 2t2="h7ena!lass4"msecs_to_jiffg et31ct 2=ed&nm2;&nm2;os319.4531m>451 s39431min>3143ifs__i<74"t31ct681a> *roseime_aftert31ct 2=next_aserne226t31la65="sr6snext_aserne2pacit8signed lomrafsaed&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4531 (sta> = 319.4531m>4516s39431min>3143ifs__i<74"t31ct681a> *rospuN2nam2 a rg1>2="sr2" +idpuN2nam2 a paci)"74" id="L374""22a"sr6s!"22> 43164533 451d="L374" cldiiiiiiiiirrrrrrrrnesl6="migronfaeaislrqt31ct 451r2" +id="0 *22rantfwaiksumtasbreae70f="ke2ne2unfik0 *22/capaci#7l64535 45152" +id="0 *22rantfwaf0f="ke2ne2unfik0 *22/capaci#7l64516 451erne787BALANCf0f="ke2ne2unfik0 *22/capaci#7l64537 2="sr2" +id="nr_ru45ner>451" ct <)4" id=hrafnde=minthr;rcu_readrun6=cet31ct 451igronr - eastehsetp m2poto7gue  742a4539 4511>2="sr2" +idsigned lomrafsaraw_spinr6=cet31ct 2="sr2" +id6=ce c#L2"0f="ke2ne2unfik0 *22/capaci#7l6452t 452hhr;4520f="ke2ne2unf<74"t31ct681a> *rospuN2nam2 a rg1>2="sr2" +idpuN2nam2 a paci>||rnesl6="migronfaeime_aftert31ct 2=jiffg et31ct  43164522  * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4523 452dyaytrtpencpu?#########*ne29n belifhn belifhu We ar29going i9er. next_aserne2"may9b2 set basna onunnerg1>2="sr2" +id="sumtnr_runnergign4524  * migron belifhn belifhu afausy processor. Socr ee dnext_aserne2.1mnerg1>2="sr2" +id="sumtnr_runnergign4525 245n21>45227t31.c75726> 41661_min_2run2ne2unfiksumtashurunnerg1>2="sr2" +id="sumtnr_runnergign4526 452erne787BALANCEr7id="Lsigned lomrafsaeaislrqt31ct 452" ct <)4" id=f0f="ke2ne2unfik0 *22/capaci#7l64528 453t7t31la75e* Aggressive migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4531 453199m31767C39mlass=6/shot 4ao* active_sne2_aserne2_ pu_sto" is runrbyr7sh sto"per. It pushesunnerg1>2="sr2" +id="sumtnr_runnergign45"2 45372.c#L425" id="<
45ef=>453dyaytrtpencpu?#########*ne29* leastc1 2 a cupdtafrunning on each physical CPU wherespossible,fll91mnerg1>2="sr2" +id="sumtnr_runnergign45"4 4533134erne27t31" 735a> * migro* avoids physical / logical 2m2unf6"es.s_rq_lisL45in">45327t31.c75726> 41661_min_2runurunnerg1>2="sr2" +id="sumtnr_runnergign4536 453erne7nfikiccint"hrafnde=minthr;active_sne2_aserne2_ pu_sto"26t31la65="sr6sactive_sne2_aserne2_ pu_sto" c#L(voidd*hrafnde=minthr;data26t31la65="sr6sdataotci#>2="sr2" +id="sumtnr_runnergign45"7  43164538 24r_ea45EWL>453_ID"2rant3srostruct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;ausg enlrqt31ct 4531>2="sr2" +id2="sr2" +idausg enl7shpaci2e"hrafnde=minthr; pu_oft31ct 2=aerg enlrqt31ct 4533a>4540>2="sr2" +id2="sr2" +idtargenl7shpaci2e"hrafnde=minthr;aerg enlrqt31ct 2="sr2" +idpushl7shs394"0f="ke2ne2unfik0 *22/capaci#7l64541 2="s*hrafnde=minthr;eargenlrqt31ct 2=targenl7shrg1>2="sr2" +idtargenl7shpaci2"0f="ke2ne2unfik0 *22/capaci#7l64542 4546s39431min>31struct"hrafnde=minthr;r" namdoma4717"sref"22s 797r" namdoma47>2="s*hrafnde=minthr;ed&nm2;&nm2;os454ifs_0f="ke2ne2unfik0 *22/ifs_igned+94534 2="sr2" +id6=ce c#L2"0f="ke2ne2unfik0 *22/capaci#7l64535 454d="L30f="ke2ne2unfik0 *22/capaci#7l64536 45cl6>454erne787BALANCrtpencpu?#########*ne21N mak2 sureythnfrequ"stna 7sh hasn21Nertmgone downd2="sr2" +id="sumtnr_runnergign4537 454" ct <)4" id=<74"t31ct681a> *rosunlik2l79t31se clity6 2=ausg enl7shrg1>2="sr2" +idausg enl7shpaci2!e"hrafnde=minthr;smp_processor_id&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4548 454_ID"2rant3sros4541>2="sr2" +id="0 *22rgowo s9m31_0 *221>2=out_un6=cet31ct 455hhr;4550f="ke2ne2unf tpencpu?#########*ne21N Is ea*reflly 2 a cupdmove?nurunnerg1>2="sr2" +id="sumtnr_runnergign4552 4556s39431min>31<74"t31ct681a> *rosNerg enlrqt31ct 31345_al>455d="L374" cldiiiiiiiiigowo s9m31_0 *221>2=out_un6=cet31ct 455.6s39ernrnende=minthr;45552" +id="0 *2la75e* Aggressive migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4556 455o"+nr75line"de=cf6_rq" 68.+co 2="sr2" +id="sumtnr_runnergign4557  *845296>45527t31la75e* Aggressive migron belifh*twe needcupdfix4it. Originallyfreportedrbyunnerg1>2="sr2" +id="sumtnr_runnergign4558 455igronftehsesernisiarehre6@enn belifh* Bjorn Helgaascon9a 128-7sh setup.s_rq_lisL455usly), orr* @sds:_s9m31_rneun belifhurunnerg1>2="sr2" +id="sumtnr_runnergign456t 2=BUG_ONt31ct 2=aerg enlrqt31ct 456*qu target.dif#L374" id="L39m319kern4562 4562rne787BALANCrtpencpu?#########*ne21N move9a 2 a cfromfausg enlrq2todeargenlrqhurunnerg1>2="sr2" +id="sumtnr_runnergign4563 456d="L374" cldi rafnde=minthr;doubler6=ce_aserne226t31la65="sr6sdoubler6=ce_aserne2 c#L4s9m31_0 *221>2=aerg enlrqt31ct 456.6s39ernrnende=minthr;456erne787BALANCrgigne32e" namercu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64567 456" ct <)4" id=hrafnde=minthr;for_eachmdoma4717"sref"22s 797for_eachmdoma47 c#L4s9m31_0 *221>2=eargenl7shrg1>2="sr2" +idtargenl7shpacit8signed lomrafsaed&nm2;&nm2;os 43164568 312&""hrafnde=minthr;SD_LOAD_BALANCE17"sref"22s 797SD_LOAD_BALANCE1min#"&"&">2="sr2" +id="sumtnr_runnergign4569 4561>2="sr2" +id="0 *22riksuhrafnde=minthr; pumask_teene7sh26t31la65="sr6sApumask_teene7sh c#L4s9m31_0 *221>2=ausg enl7shrg1>2="sr2" +idausg enl7shpacit8signed lomrafsae" namdoma47_nerg17"sref"22s 797r" namdoma47_nerg c#L4s9m31_0 *221>2=ed&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign457t 457 s39431min>3143ifs__is2="sr2" +id="0 *22r45*22>4570f="ke2ne2unff0f="ke2ne2unfik0 *22/capaci#7l64572 457an clasmint==6/ifs_0f="ke2ne2unfikmi4573  *roslik2l79t31se clity6 2=ed&nm2;&nm2;os 43164574 457r2" +id="0 *22rantfwastruct"hrafnde=minthr;lb_"sr2" +id="s9m31_0lb_"sr2" +ihrafnde=minthr;"sr2" +id="s9m31_0 *22ran ="74" id="L374""22a"sr6s!"22> 43164575 45752" +id="0 *22rantfwaiksumtas.rgigne32e" nameed&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign4576 214539m>457erne787BALANCEr7id="Liksumtas.rgigne32e" namedenl7shrg1>2="sr2" +iddenl7shpaci2ksumtase"hrafnde=minthr;eargenl7shrg1>2="sr2" +idtargenl7shpacit>2="sr2" +id="sumtnr_runnergign4577 457" ct <)4" id="7374" 72rantfwa.rgigne32e" namedenlrqt31ct 2="sr2" +id="sumtnr_runnergign4578 457_ID"2rant3sros2="sr2" +idercl7shpaci2ksumtase"hrafnde=minthr;Nerg enlrqt31ct 2="sr2" +id="sumtnr_runnergign458t 458 s39431min>3143ifs__is31__is2="sr2" +id="sumtnr_runnergign4581 4580f="ke2ne2unfffffffff}70f="ke2ne2unfik0 *22/capaci#7l64582 3145nne>458an clasmint==6/ifs_0f="ke2ne2unfikmi4583 3143mint==6/ifs_0f4531m>458d="L374" cldiiiiiiiii 30 *221>2="sr2eke2nnfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os458.6s39ernrnende=minthr;45852" +id="0 *22rantfwa<74"t31ct681a> *rosmove_one_2 a rg1>2="sr2" +idmove_one_2 a  c#L4&"sr6s * update6c"sr2" +id="s9m31_0 *22ran))>2="sr2" +id="sumtnr_runnergign4586 31.pulame=s#45e6 >458erne787BALANCEr7id="Liksumtas 30 *221>2="sr2eke2nnfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os458" ct <)4" id="7374" 7else0f="ke2ne2unfik0 *22/capaci#7l64588 458_ID"2rant3sros2="sr2eke2nnfik_incrg1>2="sr2" +idr" nanfik_inc c#L4s9m31_0 *221>2=ed&nm2;&nm2;os6s39431min>4521N>4581>2="sr2" +idf0f="ke2ne2unfik0 *22/capaci#7l6459t 4590ID"2rant3sros9m31_0 *221>2=rcu_readrun6=cet31ct 2=doublerun6=ce_aserne226t31la65="sr6sdoublerun6=ce_aserne2 c#L4s9m31_0 *221>2=aerg enlrqt31ct  *459an cls9m31_0 *221>2=out_un6=cet31ct 459d="L374" cldi rafnde=minthr;Nerg enlrqt31ct 2="sr2" +id6=ce c#L2"0f="ke2ne2unfik0 *22/capaci#7l64595 45952" +id="0 *2returnd070f="ke2ne2unfik0 *22/capaci#7l64596 459erne7f0f="ke2ne2unfik0 *22/capaci#7l64597 2="sr2" +4531_>459" ct 0f="ke2ne2unfik0 *22/capaci#7l64598 459_ID"2#ifdef"hrafnde=minthr;CONFIG_NO_HZt31ct 459usly), orr* @sds:_s9m31_rne1Nunnerg1>2="sr2" +id="sumtnr_runnergign46ct 460t7t31la75e* Aggressive migro* 29er sne29aserneing detaclsunnerg1>2="sr2" +id="sumtnr_runnergign46c1 460199m31767C39mlass=6/shot 4ao* - When one of9thnfausy CPUs9noticeythat ea*refmay9b2 7C329er reaserneingunnerg1>2="sr2" +id="sumtnr_runnergign46c2  *46072.c#L425" id="<460dyaytrtpencpu?#########*ne29*   sne29aserneing forflN2 2hnf29er CPUs.s_rq_lisL46cra>4603134erne27t31" 735a> * migro*runnerg1>2="sr2" +id="sumtnr_runnergign46c5 46052" +nfikiccstruct"74" id="L374""22a"sr6s!"22> 431646c6 460erne787BALANCrgigne32e" nameApumask_var_t26t31la65="sr6sApumask_var_t2" +ihrafnde=minthr;29er_Apus_m a rg1>2="sr2" +id29er_Apus_m a awan70f="ke2ne2unfik0 *22/capaci#7l646c7 2="sr2" +46c1_>460" ct <)4" id=hrafnde=minthr;atomic_t26t31la65="sr6satomic_t2" +ihrafnde=minthr;nr_Apus26t31la65="sr6snr_Apusawan70f="ke2ne2unfik0 *22/capaci#7l646c8 460_ID"2rant3srounsig6ed long 2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2paci;" id=ha75e* Aggressive migr1N in jiffyounitso*runnerg1>2="sr2" +id="sumtnr_runnergign46c9 4601>2="} 2="h7ena!lass4"nohz26t31la65="sr6snohz2" +ihrafnde=minthr;____ a22/unne_alig6ed26t31la65="sr6s____ a22/unne_alig6edawan70f="ke2ne2unfik0 *22/capaci#7l6461t 3143i <=31" n>319.4631m>461hhr;(sta> = 2="sr2" +id2n3143i <=31" n>319.4631m>4616s39474" id="L374""22a"sr6s!"22> 43164633 461d="L374" cldi2=nohz26t31la65="sr6snohz2" +.rgigne32e" name29er_Apus_m a rg1>2="sr2" +id29er_Apus_m a awan2"0f="ke2ne2unfik0 *22/capaci#7l64634 461.6s39ernrnende=minthr;46152" +id="0 *2<74"t31ct681a> *rosilb17"sref"22s 797ilb c#L2&l7 = 30 *221>2="sr2nr_Apu_ids26t31la65="sr6snr_Apu_ids8>312&"&""hrafnde=minthr;29er_Apurg1>2="sr2" +id29er_Apu c#L4s9m31_0 *221>2=ilb17"sref"22s 797ilb c#L))>2="sr2" +id="sumtnr_runnergign4616 461erne787BALANCEr7id="Lreturndsigned lomrafsailb17"sref"22s 797ilb c#L"0f="ke2ne2unfik0 *22/capaci#7l64637 2="sr2" +id="nr_ru46ner>461" ct 0f="ke2ne2unfik0 *22/capaci#7l64638 461_ID"2rant3sroreturndsigned lomrafsanr_Apu_ids26t31la65="sr6snr_Apu_ids8>31"0f="ke2ne2unfik0 *22/capaci#7l64639 4611>2="f0f="ke2ne2unfik0 *22/capaci#7l6462t 462hhr;462199m31767C39mlass=6/shot 4a1Nunnerg1>2="sr2" +id="sumtnr_runnergign4622 2="sr2" +id="sumtnr_runnergign4623 462dyaytrtpencpu?#########*ne29*fnohz_sne2_aserne2r CPU (if ea*re is one)foea*rwisnffallback2to lly 29er8>nerg1>2="sr2" +id="sumtnr_runnergign4624  * migro* CPU (if ea*re is one).s_rq_lisL246n21>46227t31.c75726> 41661_min_2run*runnerg1>2="sr2" +id="sumtnr_runnergign4626 462erne7nfikiccvoiddsigned lomrafsanohz_aserne2r_kick26t31la65="sr6snohz_aserne2r_kick c#L42="sr2" +id="sumtnr_runnergign4627 462" ct 74" id="L374""22a"sr6s!"22> 43164628 2="sr2" +id2lb_Apu8>31"0f="ke2ne2unfik0 *22/capaci#7l64629 462usly)0f="ke2ne2unfik0 *22/capaci#7l6463t 4630ID"2rant3sros9m31_0 *221>2=nohz26t31la65="sr6snohz2" +.rgigne32e" namenext_aserne226t31la65="sr6snext_aserne2paci++"0f="ke2ne2unfik0 *22/capaci#7l64631 463*qu target.dif#L374" id="L39m319kern46"2 46322" +id="0 *2hrafnde=minthr;ilb_Apurg1>2="sr2" +id2lb_Apu8>312e"hrafnde=minthr;find_new_ilb17"sref"22s 797find_new_ilb c#L4hrafnde=minthr;csh26t31la65="sr6sApupaci)"0f="ke2ne2unfik0 *22/capaci#7l64633 
46ef=>463ifs_0f="ke2ne2unfik0 *22/ifs_igned+946"4 463r2" +id="0 *2<74"hrafnde=minthr;ilb_Apurg1>2="sr2" +id2lb_Apu8>312_affe"hrafnde=minthr;nr_Apu_ids26t31la65="sr6snr_Apu_ids8>31)>2="sr2" +id="sumtnr_runnergign46"5 46in">46352" +id="0 *22rantfwareturn70f="ke2ne2unfik0 *22/capaci#7l64636 463thr; *rosteeneand_set_aint31ct 2=ilb_Apurg1>2="sr2" +id2lb_Apu8>31)))>2="sr2" +id="sumtnr_runnergign4638 24r_ea46EWL>463_ID"2rant3sros4631>2="sr2" +idrne27t31" 735a> * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign464t 4633a>464t7t31la75e* Aggressive migroth26 ir.* Usnfsmp_send_retnr_rule()cinstead of9retnr_r_Apu().s_rq_lisL46472.c#L425" id="<464dyaytrtpencpu?#########*ne29n belifh* will tafrun taforerreturning fromfthnfIPI.s_rq_lisL * migron belifh*runnerg1>2="sr2" +id="sumtnr_runnergign4635 46452" +id="0 *2hrafnde=minthr;smp_send_retnr_rule&nm2;&nm2;os2=ilb_Apurg1>2="sr2" +id2lb_Apu8>31)70f="ke2ne2unfik0 *22/capaci#7l64636 46cl6>464erne787BALANCreturn70f="ke2ne2unfik0 *22/capaci#7l64637 464" ct f0f="ke2ne2unfik0 *22/capaci#7l64648 464igronr - eastehsetp m2poto7gue  742a4649 4641>2="nfikicchrafnde=minthr;2n2="sr2" +id2n2="sr2" +id="sumtnr_runnergign465t 465hhr;<74" id="L374""22a"sr6s!"22> 43164651 4650f="ke2ne2unf<74"t31ct681a> *rosunlik2l79t31se clity6 2=teeneaint31ct 2=csh26t31la65="sr6sApupaci))))"74" id="L374""22a"sr6s!"22> 43164652 4656s39431min>3143ifs__irrafnde=minthr; pumask_clear_7sh26t31la65="sr6sApumask_clear_7sh c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsanohz26t31la65="sr6snohz2" +.rgigne32e" name29er_Apus_m a rg1>2="sr2" +id29er_Apus_m a awan2"0f="ke2ne2unfik0 *22/capaci#7l64653 31346_al>465d="L374" cldiiiiiiiiihrafnde=minthr;atomic_decrg1>2="sr2" +idatomic_dec c#L4&"sr6s * update6cnohz26t31la65="sr6snohz2" +.rgigne32e" namenr_Apus26t31la65="sr6snr_Apusawan2"0f="ke2ne2unfik0 *22/capaci#7l64654 465r2" +id="0 *22rantfwasigned lomrafsaclear_aint31ct 2=csh26t31la65="sr6sApupaci))"0f="ke2ne2unfik0 *22/capaci#7l64655 46552" +id="0 *2f0f="ke2ne2unfik0 *22/capaci#7l64656 465erne7f0f="ke2ne2unfik0 *22/capaci#7l64657  *846296>465" ct 0f="ke2ne2unfik0 *22/capaci#7l64658 465igronnfikicchrafnde=minthr;2n2="sr2" +id2n2="sr2" +id="sumtnr_runnergign4659 4651>2="74" id="L374""22a"sr6s!"22> 4316466t 2="s*hrafnde=minthr;ed&nm2;&nm2;os4660f="ke2ne2unfint"hrafnde=minthr;csh26t31la65="sr6sApupacise"hrafnde=minthr;emp_processor_id&nm2;&nm2;os466an clasmint==6/ifs_0f="ke2ne2unfikmi4663 466d="L374" cldi<74"rt_f"lc2=csh26t31la65="sr6sApupaci)))asmint==6/ifs_0f="ke2ne2unfikmi4664 466r2" +id="0 *22rantfwareturn70f="ke2ne2unfik0 *22/capaci#7l64665 2=csh26t31la65="sr6sApupaci))70f="ke2ne2unfik0 *22/capaci#7l64666 466thr;466" ct <)4" id=hrafnde=minthr;rcu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64668 2=csh26t31la65="sr6sApupacit8signed lomrafsaed&nm2;&nm2;os4661>2="sr2" +id="0 *22rhrafnde=minthr;atomic_incrg1>2="sr2" +idatomic_inc c#L4&"sr6s * update6ced&nm2;&nm2;os2=rcu_readrun6=cet31ct 467an clasmint==6/ifs_0f="ke2ne2unfikmi4673 2="sr2" +id="sumtnr_runnergign4674 467r2" +74" id="L374""22a"sr6s!"22> 43164675 46752" +id="0 *2struct"hrafnde=minthr;r" namdoma4717"sref"22s 797r" namdoma47>2="s*hrafnde=minthr;ed&nm2;&nm2;os214639m>467erne787BALANCint"hrafnde=minthr;csh26t31la65="sr6sApupacise"hrafnde=minthr;emp_processor_id&nm2;&nm2;os *rosteeneaint31ct 2=csh26t31la65="sr6sApupaci)))asmint==6/ifs_0f="ke2ne2unfikmi4679 4671>2="sr2" +id="0 *22rreturn70f="ke2ne2unfik0 *22/capaci#7l6468t 4680ID"2rant3sros9m31_0 *221>2=set_aint31ct 2=csh26t31la65="sr6sApupaci))70f="ke2ne2unfik0 *22/capaci#7l64681 468*qu target.dif#L374" id="L39m319kern4682 3146nne>46822" +id="0 *2hrafnde=minthr;rcu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64683 3143mint==6/ifs_0f4631m>468d="L374" cldi rafnde=minthr;for_eachmdoma4717"sref"22s 797for_eachmdoma47 c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsaed&nm2;&nm2;os468r2" +id="0 *22rantfwasigned lomrafsaatomic_decrg1>2="sr2" +idatomic_dec c#L4&"sr6s * update6ced&nm2;&nm2;os468" ct 0f="ke2ne2unfik0 *22/capaci#7l64688 468igronftehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign4689 469t7t31la75e* Aggressive migro* Taisrinfo will tafusna in performing 29er sne29aserneing 2="sr2" +id="sumtnr_runnergign4691 469199m31767C39mlass=6/shot 4ao*runnerg1>2="sr2" +id="sumtnr_runnergign4692  *469an clvoiddsigned lomrafsaselect_nohz_sne2_aserne2rt31ct 469d="L374" id="L374""22a"sr6s!"22> 43164694 46sra>469r2" +id="0 *2int"hrafnde=minthr;csh26t31la65="sr6sApupacise"hrafnde=minthr;emp_processor_id&nm2;&nm2;os46927t31la75e* Aggressive migron belifh*tIf eaisrcpu is going down,9thnn noeaing needscupdtafdon2.1mnerg1>2="sr2" +id="sumtnr_runnergign4698 469igronftehsesernisiarehre6@enn belifh*runnerg1>2="sr2" +id="sumtnr_runnergign4699 4691>2="sr2" +id<74"rt_f"lc2=csh26t31la65="sr6sApupaci))>2="sr2" +id="sumtnr_runnergign47ct 470 s39431min>3143ifs__ireturn70f="ke2ne2unfik0 *22/capaci#7l647c1 470*qu target.dif#L374" id="L39m319kern47c2  *4706s39431min>31<74"t31ct681a> *rossto"_kickt31ct  431647c3 470d="L374" cldiiiiiiiii<74"t31ct681a> *rosteeneaint31ct 2=csh26t31la65="sr6sApupaci)))>2="sr2" +id="sumtnr_runnergign47c4 47cra>470r2" +id="0 *22rantfwaiksumtasreturn70f="ke2ne2unfik0 *22/capaci#7l647c5 470d="L30f="ke2ne2unfik0 *22/capaci#7l647c6 470erne787BALANCEr7id="Lsigned lomrafsaApumask_senl7shrg1>2="sr2" +idApumask_senl7sh c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsanohz26t31la65="sr6snohz2" +.rgigne32e" name29er_Apus_m a rg1>2="sr2" +id29er_Apus_m a awan2"0f="ke2ne2unfik0 *22/capaci#7l647c7 2="sr2" +47c1_>470" ct <)4" id="7374" 7hrafnde=minthr;atomic_incrg1>2="sr2" +idatomic_inc c#L4&"sr6s * update6cnohz26t31la65="sr6snohz2" +.rgigne32e" namenr_Apus26t31la65="sr6snr_Apusawan2"0f="ke2ne2unfik0 *22/capaci#7l647c8 470_ID"2rant3sros2=set_aint31ct 2=csh26t31la65="sr6sApupaci))"0f="ke2ne2unfik0 *22/capaci#7l647c9 4701>2="sr2" +idf0f="ke2ne2unfik0 *22/capaci#7l6471t 3143i <=31" n>319.4731m>471 s39431min>31return70f="ke2ne2unfik0 *22/capaci#7l64731 (sta> = 319.4731m>471an clasmint==6/ifs_0f="ke2ne2unfikmi4733 471d="L3nfikiccint"hrafnde=minthr;__Apuinint31ct 2="s*hrafnde=minthr;nfb17"sref"22s 797nfbpacitasmint==6/ifs_0f="ke2ne2unfikmi4734 471r2" +id="0 *22rantfwaiksumtasssssssssssssssssunsig6ed long 2="h7ena!lass4"actio717"sref"22s 797actio7pacit8voidd*hrafnde=minthr;hcsh26t31la65="sr6shApupaci)>2="sr2" +id="sumtnr_runnergign4735 47152" +74" id="L374""22a"sr6s!"22> 43164716 471erne787BALANCswitch4"t31ct681a> *rosactio717"sref"22s 797actio7paci2&""~t31ct681a> *rosCPU_TASKS_FROZENt31ct  43164737 2="sr2" +id="nr_ru47ner>471" ct <)4" id=case"hrafnde=minthr;CPU_DYINGt31ct 471_ID"2rant3sros2=clear_nohz_kick_sto"ped26t31la65="sr6sclear_nohz_kick_sto"ped c#L4hrafnde=minthr;emp_processor_id&nm2;&nm2;os4711>2="sr2" +id="0 *22rreturnrs9m31_0 *221>2=NOTIFY_OKt31ct 472 s39431min>31default:arget.dif#L374" id="L39m319kern4721 4720f="ke2ne2unfffffffffreturnrs9m31_0 *221>2=NOTIFY_DONsldicfwansse" ctNOTIFY_DONsawan70f="ke2ne2unfik0 *22/capaci#7l64722 472dyaytf0f="ke2ne2unfik0 *22/capaci#7l64724 247n21>472d="L30f="ke2ne2unfik0 *22/capaci#7l64726 472erne7nfikiccs9m31_0 *221>2=DEFINE_SPINLOCKt31ct 472" ct 0f="ke2ne2unfik0 *22/capaci#7l64728 473t7t31la75e* Aggressive migro* Taisrtrades sne2-aserne2clatencycon9largerfmach9kesnforfless cross talk.1mnerg1>2="sr2" +id="sumtnr_runnergign4731 473199m31767C39mlass=6/shot 4ao*runnerg1>2="sr2" +id="sumtnr_runnergign47"2 473an clvoiddsigned lomrafsaupdate_max_intervalt31ct 2="sr2" +id="sumtnr_runnergign4733 
47ef=>473d="L374" id="L374""22a"sr6s!"22> 431647"4 473r2" +id="0 *2signed lomrafsamax_sne2_aserne2_intervalt31ct 47in">47352" +f0f="ke2ne2unfik0 *22/capaci#7l64736 473thr;24r_ea47EWL>473igronftehsesernisiarehre6@en* It nr_cks each tnr_ruling doma47cupdsee <74it is duecupdtafaserne2d,unnerg1>2="sr2" +id="sumtnr_runnergign4739 473usly), orr* @sds:_s9m31_rneuu ll9tininiates a9aserneing operation if so.1mnerg1>2="sr2" +id="sumtnr_runnergign474t 4733a>474t7t31la75e* Aggressive migroNunnerg1>2="sr2" +id="sumtnr_runnergign4741 47472.c#L425" id="<31)>2="sr2" +id="sumtnr_runnergign4744  43164735 47452" +id="0 *22="s*hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr; pulrqt31ct 2=csh26t31la65="sr6sApupaci)70f="ke2ne2unfik0 *22/capaci#7l64737 474" ct <)4" id=unsig6ed long 2="h7ena!lass4"intervalt31ct 4748rne787BALANCstruct"hrafnde=minthr;r" namdoma4717"sref"22s 797r" namdoma47>2="s*hrafnde=minthr;ed&nm2;&nm2;os4741>2="sr2" +idrne27t31" 735a> * migr1N Earlg en eimenwhnn we have to do reasernee aga47c*runnerg1>2="sr2" +id="sumtnr_runnergign475t 4750 ct <)4" id=unsig6ed long 2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2pacise"hrafnde=minthr;jiffg e26t31la65="sr6sjiffg epacis+ 60*hrafnde=minthr;HZt31ct 4756s39431min>31int"hrafnde=minthr;need_serializ226t31la65="sr6sneed_serializ2 ct 70f="ke2ne2unfik0 *22/capaci#7l64753 31347_al>475ifs_0f="ke2ne2unfik0 *22/ifs_igned+94754 475r2" +id="0 *2signed lomrafsaupdate_sharee26t31la65="sr6supdate_sharee c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupaci)70f="ke2ne2unfik0 *22/capaci#7l64755 475d="L30f="ke2ne2unfik0 *22/capaci#7l64756 475erne787BALANCrgigne32e" namercu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64757  *847296>475" ct <)4" id=hrafnde=minthr;for_eachmdoma4717"sref"22s 797for_eachmdoma47 c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsaed&nm2;&nm2;os 43164758 475_ID"2rant3sros312&""hrafnde=minthr;SD_LOAD_BALANCE17"sref"22s 797SD_LOAD_BALANCE1min#)>2="sr2" +id="sumtnr_runnergign4759 4751>2="sr2" +id="0 *22riksumtascontinue"0f="ke2ne2unfik0 *22/capaci#7l6476t 4760f="ke2ne2unfffffffff2="h7ena!lass4"intervalt31ct 4766s39431min>3143ifs__i<74"hrafnde=minthr;i9erdnsigned6n=r0ma29er8>31_!e"hrafnde=minthr;CPU_IDgsldicfwansse" ctCPU_IDgs1min)>2="sr2" +id="sumtnr_runnergign4763 476d="L374" cldiiiiiiiiiffffffff2="h7ena!lass4"intervalt31ct 476.6s39ernrnende=minthr; * migr1N scaleymscupdjiffg ec*runnerg1>2="sr2" +id="sumtnr_runnergign4766 476erne787BALANCEr7id="Lsigned lomrafsaintervalt31ct 2=intervalt31ct 476igronr - eastehsetp m2poto7gue  742a4769 4761>2="sr2" +id="0 *22rhrafnde=minthr;need_serializ226t31la65="sr6sneed_serializ2 ct se"hrafnde=minthr;ed&nm2;&nm2;os312&""hrafnde=minthr;SD_SERIALIZE17"sref"22s 797SD_SERIALIZEpaci"0f="ke2ne2unfik0 *22/capaci#7l6477t 477hhr;2="sr2" +id="0 *22r47*22>4770f="ke2ne2unfffffffff<74"hrafnde=minthr;need_serializ226t31la65="sr6sneed_serializ2 ct )"74" id="L374""22a"sr6s!"22> 43164772 4776s39431min>3143ifs__iffffffff<74"rt_f"lc2="sr2" +idspinrtry6=ce c#L4&"sr6s * update6caserneingt31ct 2="sr2" +id="sumtnr_runnergign4773 477d="L30f="ke2ne2unfik0 *22/capaci#7l64776 214739m>477erne787BALANCEr7id="L<74"t31ct681a> *rostime_after_eqt31ct 2=jiffg e26t31la65="sr6sjiffg epacit8signed lomrafsaed&nm2;&nm2;os2=intervalt31ct  43164777 477" ct <)4" id="7374" 7Er7id="L<74"t31ct681a> *rossne2_aserne226t31la65="sr6s6ne2_aserne2 c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsarqt31ct 2="t8signed lomrafsaed&nm2;&nm2;os31, &"sr6s * update6caserne226t31la65="sr6saserne2 c#L2)"74" id="L374""22a"sr6s!"22> 43164778 477_ID"2rant3sros2="sr2" +id="sumtnr_runnergign4779 477usly), orr* @sds:_s9m31_rneuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu* We've pulled 2 a s over so eiea*r we'rnfnounnerg1>2="sr2" +id="sumtnr_runnergign478t 478t7t31la75e* Aggressive migroth26 ir.uuuuuuuuuuuuuuuuuuuuuuuu* long*r i9er.unnerg1>2="sr2" +id="sumtnr_runnergign4781 478199m31767C39mlass=6/shot 4aoth26 ir.uuuuuuuuuuuuuuuuuuuuuuuu*runnerg1>2="sr2" +id="sumtnr_runnergign4782 3147nne>4786s39431min>3143ifs__iffffffff77777777lrafnde=minthr;i9erdnsigned6n=r0ma29er8>31_e"hrafnde=minthr;CPU_NOT_IDgsldicfwansse" ctCPU_NOT_IDgspaci"0f="ke2ne2unfik0 *22/capaci#7l64783 3143mint==6/ifs_0f4731m>478d="L374" cldiiiiiiiiifffffffff0f="ke2ne2unfik0 *22/capaci#7l64784 478r2" +id="0 *22rantfwa77777777lrafnde=minthr;ed&nm2;&nm2;os31.pulame=s#47e6 >478erne787BALANCEr7id="L<74"t31ct681a> *rosneed_serializ226t31la65="sr6sneed_serializ2 ct )0f="ke2ne2unfik0 *22/capaci#7l64787 478" ct <)4" id="7374" 7Er7id="Lt_f"lc478igronfr6s * update6count31ct 6s39431min>4721N>4781>2="sr2" +id="0 *22r<74"t31ct681a> *rostime_aftert31ct 2=next_aserne226t31la65="sr6snext_aserne2pacit8signed lomrafsaed&nm2;&nm2;os2=intervalt31ct  4316479t 479 s39431min>3143ifs__iEr7id="Lt_f"lc2=intervalt31ct  *4796s39431min>3143ifs__if0f="ke2ne2unfik0 *22/capaci#7l64793 479ifs_0f="ke2ne2unfik0 *22/ifs_igned+94794 47sra>479r2" +id="0 *22rantfwala75e* Aggressive migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4795 47927t31.c75726> 41661_min_2runnnnnnnnnnnnnnnnn* Stopythnfsne29asernee at eaisrlevel. Ta*re is anoea*runnerg1>2="sr2" +id="sumtnr_runnergign4796 479erne7.c75726> 41661_min_2runnnnnnnnnnnnnnnnn* CPU in our ne6=" group which9is doing sne29aserneing mores_rq_lisL2="sr2" +4731_>47927t31la75e* Aggressive migron belifhnnnnnnnn* actively.unnerg1>2="sr2" +id="sumtnr_runnergign4798 479igronftehsesernisiarehre6@enn belifhnnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign4799 4791>2="sr2" +id="0 *22r<74"rt_f"lc2="sr2" +id="sumtnr_runnergign48ct 480 s39431min>3143ifs__iiiiiiiiibreak70f="ke2ne2unfik0 *22/capaci#7l648c1 4800f="ke2ne2unff0f="ke2ne2unfik0 *22/capaci#7l648c2  *48022" +id="0 *2hrafnde=minthr;rcu_readrun6=cet31ct 480ifs_0f="ke2ne2unfik0 *22/ifs_igned+948c4 48cra>480r2" +id="0 *2la75e* Aggressive migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign48c5 48027t31.c75726> 41661_min_2runnnnnnnnn* next_aserne2 will tafupdated onlynwhnn ea*re is a need.unnerg1>2="sr2" +id="sumtnr_runnergign48c6 480erne7.c75726> 41661_min_2runnnnnnnnn* Whnn ea*rcpu is attae6=" to null doma47cforfex,4it will noe taunnerg1>2="sr2" +id="sumtnr_runnergign48c7 2="sr2" +48c1_>48027t31la75e* Aggressive migron belifh*tupdated.unnerg1>2="sr2" +id="sumtnr_runnergign48c8 480igronftehsesernisiarehre6@enn belifh*runnerg1>2="sr2" +id="sumtnr_runnergign48c9 4801>2="sr2" +id<74"2="h7ena!lass4"6ik2l79t31se clity6 2=update_next_aserne226t31la65="sr6supdate_next_aserne2paci2)>2="sr2" +id="sumtnr_runnergign481t 3143i <=31" n>319.4831m>481 s39431min>3143ifs__isigned lomrafsarqt31ct 2="t_aff2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2pacise"hrafnde=minthr;next_aserne226t31la65="sr6snext_aserne2paci"0f="ke2ne2unfik0 *22/capaci#7l64831 (sta> = 319.4831m>481an clasmint==6/ifs_0f="ke2ne2unfikmi4833 481d="L3#ifdef"hrafnde=minthr;CONFIG_NO_HZt31ct 4813134erne27t31" 735a> * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4835 48127t31.c75726> 41661_min_2run* In CONFIG_NO_HZ=case,9thn 29er aserne2 kicke2 will do 2hnunnerg1>2="sr2" +id="sumtnr_runnergign4836 481erne7.c75726> 41661_min_2run* reaserneing forfall ea*rcpusnforfwhom tnr_ruler kicks are sto"ped.s_rq_lisL2="sr2" +id="nr_ru48ner>48127t31la75e* Aggressive migro*runnerg1>2="sr2" +id="sumtnr_runnergign4838 481igronnfikiccvoiddsigned lomrafsanohz_29er_aserne226t31la65="sr6snohz_29er_aserne2 c#L4int"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shpacit8enum"hrafnde=minthr;csh_29er_type26t31la65="sr6sApu_29er_types3943hrafnde=minthr;29erdnsigned6n=r0ma29er8>31)>2="sr2" +id="sumtnr_runnergign4839 4811>2="74" id="L374""22a"sr6s!"22> 4316482t 482 s39431min>31struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;eaislrqt31ct 2=eaisl7shrg1>2="sr2" +ideaisl7shpaci2"0f="ke2ne2unfik0 *22/capaci#7l64821 4820f="ke2ne2unfstruct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l64822 2="sr2" +idaserne2_7sh>2=""0f="ke2ne2unfik0 *22/capaci#7l64823 482ifs_0f="ke2ne2unfik0 *22/ifs_igned+94824 31_!e"hrafnde=minthr;CPU_IDgsldicfwansse" ctCPU_IDgs1min ||f="ke2ne2unfik0 *22/ifs_igned+94825 248n21>48252" +id="0 *2ffffrt_f"lc2=eaisl7shrg1>2="sr2" +ideaisl7shpaci22)>2="sr2" +id="sumtnr_runnergign4826 482erne787BALANCEr7id="Lgoupdsr6s * update6cend&nm2;&nm2;os2=""0f="ke2ne2unfik0 *22/capaci#7l64827 482" ct 0f="ke2ne2unfik0 *22/capaci#7l64828 2="sr2" +idfor_eachm7sh c#L4s9m31_0 *221>2=aserne2_7shrg1>2="sr2" +idaserne2_7sh>2="t8signed lomrafsanohz26t31la65="sr6snohz2" +.rgigne32e" name29er_Apus_m a rg1>2="sr2" +id29er_Apus_m a awan2"74" id="L374""22a"sr6s!"22> 43164829 4821>2="sr2" +id="0 *22r<74"t31ct681a> *rosaserne2_7shrg1>2="sr2" +idaserne2_7sh>2=" =e"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shpaci ||frt_f"lc2="sr2" +id29er_Apu c#L4s9m31_0 *221>2=aserne2_7shrg1>2="sr2" +idaserne2_7sh>2="2)>2="sr2" +id="sumtnr_runnergign483t 483 s39431min>3143ifs__iiiiiiiiicontinue"0f="ke2ne2unfik0 *22/capaci#7l64831 483*qu target.dif#L374" id="L39m319kern48"2 4836s39431min>3143ifs__irne27t31" 735a> * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign4833 
48ef=>483dyaytrtpencpu?#########*ne29n belifhhhhhhhhh*tIf eaisrcpu gets work to do, sto"ythnfsne29aserneingunnerg1>2="sr2" +id="sumtnr_runnergign4834 4833134erne27t31" 735a> * migron belifhhhhhhhhh*twork being donenforfoea*rrcpus. Nextfsne2unnerg1>2="sr2" +id="sumtnr_runnergign4835 48in">48327t31.c75726> 41661_min_2runnnnnnnnnnnnnnnnn* aserneing own*r will pick it up.s_rq_lisL483erne7.c75726> 41661_min_2runnnnnnnnnnnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign48"7  *rosneed_retnr_r26t31la65="sr6sneed_retnr_r c#L42)>2="sr2" +id="sumtnr_runnergign4838 24r_ea48EWL>483_ID"2rant3sros4833a>484 s39431min>3143ifs__isigned lomrafsaraw_spinr6=ce_irqt31ct 2=eaislrqt31ct 31430 48sl6>484.6s39ernrnende=minthr;48452" +id="0 *2ffffiiiihrafnde=minthr;reaserneemdoma47st31ct 2=aserne2_7shrg1>2="sr2" +idaserne2_7sh>2="t8signed lomrafsaCPU_IDgsldicfwansse" ctCPU_IDgs1min)"0f="ke2ne2unfik0 *22/capaci#7l64846 48cl6>484thr;484" ct <)4" id="7374" 7hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr; pulrqt31ct 2=aserne2_7shrg1>2="sr2" +idaserne2_7sh>2="2"0f="ke2ne2unfik0 *22/capaci#7l64848 484_ID"2rant3sros *rostime_aftert31ct 2=eaislrqt31ct 4841>2="sr2" +id="0 *22riksumtass9m31_0 *221>2=eaislrqt31ct 2="t_aff2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2paci"0f="ke2ne2unfik0 *22/capaci#7l6485t 4850 ct <)4" id=f0f="ke2ne2unfik0 *22/capaci#7l64851 4850f="ke2ne2unfsigned lomrafsanohz26t31la65="sr6snohz2" +.rgigne32e" namenext_aserne226t31la65="sr6snext_aserne2pacise"hrafnde=minthr;eaislrqt31ct 4856s394sr6s * update6cend&nm2;&nm2;os2=":arget.dif#L374" id="L39m319kern4853 31348_al>485d="L374" cldi rafnde=minthr;clear_aint31ct 2=eaisl7shrg1>2="sr2" +ideaisl7shpaci22"0f="ke2ne2unfik0 *22/capaci#7l64854 485r2" +f0f="ke2ne2unfik0 *22/capaci#7l64855 485d="L30f="ke2ne2unfik0 *22/capaci#7l64856 485erne7.c75726> 41661_min_2ru1Nunnerg1>2="sr2" +id="sumtnr_runnergign4857  *848296>48527t31la75e* Aggressive migro* Curr mi heuriskiccforfkicking thn 29er sne29aserneer92="sr2" +id="sumtnr_runnergign4858 485igronftehsesernisiarehre6@en* of hse29er cpu is thnfsystem.1mnerg1>2="sr2" +id="sumtnr_runnergign4859 485usly), orr* @sds:_s9m31_rneuu   - Taisrrq has moreythan onen2 a .1mnerg1>2="sr2" +id="sumtnr_runnergign486t 486199m31767C39mlass=6/shot 4ao*     ausyrcpu's exceeding thn group's power.1mnerg1>2="sr2" +id="sumtnr_runnergign4862 48672.c#L425" id="<486dyaytrtpencpu?#########*ne29*     doma47ctpencare i9er.unnerg1>2="sr2" +id="sumtnr_runnergign4864 4863134erne27t31" 735a> * migro*runnerg1>2="sr2" +id="sumtnr_runnergign4865 2=inf="ker1>2="sr2" +id2nf="k="L37int"hrafnde=minthr;nohz_kick_need_r26t31la65="sr6snohz_kick_need_r c#L4struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2=",2int"hrafnde=minthr;csh26t31la65="sr6sApupaci)>2="sr2" +id="sumtnr_runnergign4866 486erne774" id="L374""22a"sr6s!"22> 43164867 486" ct <)4" id=unsig6ed long 2="h7ena!lass4"now26t31la65="sr6snowpacise"hrafnde=minthr;jiffg e26t31la65="sr6sjiffg epaci"0f="ke2ne2unfik0 *22/capaci#7l64868 2="s*hrafnde=minthr;ed&nm2;&nm2;os486usly)0f="ke2ne2unfik0 *22/capaci#7l6487t 4870 ct <)4" id=<74"t31ct681a> *rosun6ik2l79t31se clity6 2=29er_Apurg1>2="sr2" +id29er_Apu c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupaci)))>2="sr2" +id="sumtnr_runnergign4871 2="sr2" +id="0 *22r48*22>4870f="ke2ne2unfffffffffreturnr070f="ke2ne2unfik0 *22/capaci#7l64872 487an clasmint==6/ifs_0f="ke2ne2unfikmi4873  41661_min_2ru1Nunnerg1>2="sr2" +id="sumtnr_runnergign4874 4873134erne27t31" 735a> * migron belif* We may tafrec mily 2. At thnffirstunnerg1>2="sr2" +id="sumtnr_runnergign4875 48727t31.c75726> 41661_min_2runnnnnnnn* ausyrkick afterfreturning from 29er, we will update thnfausyrnfiks.s_rq_lisL214839m>487erne7.c75726> 41661_min_2runnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign4877 487" ct <)4" id=hrafnde=minthr;senl7sh_sd_nfike_ausy&nm2;&nm2;os487usly)0f="ke2ne2unfik0 *22/capaci#7l6488t 4880 ct <)4" id=.c75726> 41661_min_2ru1Nunnerg1>2="sr2" +id="sumtnr_runnergign4881 488199m31767C39mlass=6/shot 4aoth26 ir.* Nonenare in kickless m1>2 ll9thene2 no needcforfNOHZ 29er sne2unnerg1>2="sr2" +id="sumtnr_runnergign4882 3148nne>48872.c#L425" id="<3143mint==6/ifs_0f4831m>488dyaytrtpencpu?#########*ne29n belifh*runnerg1>2="sr2" +id="sumtnr_runnergign4884 488r2" +id="0 *2<74"hrafnde=minthr;6ik2l79t31se clity6 31.pulame=s#48e6 >488thr;488" ct <)4" id=<74"t31ct681a> *rostime_beforker1>2="sr2" +idtime_befork c#L4hrafnde=minthr;now26t31la65="sr6snowpacit8signed lomrafsanohz26t31la65="sr6snohz2" +.rgigne32e" namenext_aserne226t31la65="sr6snext_aserne2paci2)>2="sr2" +id="sumtnr_runnergign4888 488_ID"2rant3sros4890 ct <)4" id=<74"t31ct681a> *rosrqt31ct 2="t_aff2="h7ena!lass4"nr_runningt31ct 2="sr2" +id="sumtnr_runnergign4891 4890f="ke2ne2unfffffffffgoupdsr6s * update6cneed_kickt31ct  *489an clasmint==6/ifs_0f="ke2ne2unfikmi4893 489d="L374" cldi rafnde=minthr;rcu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l64894 48sra>489r2" +id="0 *2 rafnde=minthr;for_eachmdoma4717"sref"22s 797for_eachmdoma47 c#L4s9m31_0 *221>2=csh26t31la65="sr6sApupacit8signed lomrafsaed&nm2;&nm2;os 43164895 48952" +id="0 *2ffffffffstruct"hrafnde=minthr;r" namgroup17"sref"22s 797r" namgroup>2="s*hrafnde=minthr;egt31ct 489erne787BALANCEr7id="Lstruct"hrafnde=minthr;r" namgroup_power17"sref"22s 797r" namgroup_power>2="s*hrafnde=minthr;egp17"sref"22s 797rgppacise"hrafnde=minthr;egt31ct 489" ct <)4" id="7374" 7489igronr - eastehsetp m2poto7gue  742a4899 4891>2="sr2" +id="0 *22r<74"hrafnde=minthr;ed&nm2;&nm2;os312&""hrafnde=minthr;SD_SHARE_PKG_RESOURCES17"sref"22s 797SD_SHARE_PKG_RESOURCES8>312&"&""hrafnde=minthr;nr_ausy&nm2;&nm2;os2="sr2" +id="sumtnr_runnergign49ct 490 s39431min>3143ifs__iiiiiiiiigoupdsr6s * update6cneed_kickrun6=cet31ct 490*qu target.dif#L374" id="L39m319kern49c2  *4906s39431min>3143ifs__i<74"hrafnde=minthr;ed&nm2;&nm2;os312&""hrafnde=minthr;SD_ASYM_PACKING17"sref"22s 797SD_ASYM_PACKING8>312&"&""hrafnde=minthr;nr_ausy&nm2;&nm2;os490d="L374" cldiiiiiiiiiffff&"&""4s9m31_0 *221>2=cshm a _first_and&nm2;&nm2;os2="sr2" +id29er_Apus_m a awan,arget.dif#L374" id="L39m319kern49c4 49cra>490r2" +id="0 *22rantfwaaaaaaaaaaaaaaaaaaaaaaaaaaahrafnde=minthr;r" namdoma47_nerg17"sref"22s 797r" namdoma47_nerg c#L4hrafnde=minthr;ed&nm2;&nm2;os490thr;2="sr2" +49c1_>490" ct <)4" id="7374" 7<74"!"hrafnde=minthr;ed&nm2;&nm2;os312&"""hrafnde=minthr;SD_SHARE_PKG_RESOURCES17"sref"22s 797SD_SHARE_PKG_RESOURCES8>312|"hrafnde=minthr;SD_ASYM_PACKING17"sref"22s 797SD_ASYM_PACKING8>312))>2="sr2" +id="sumtnr_runnergign49c8 490_ID"2rant3sros4901>2="sr2" +idf0f="ke2ne2unfik0 *22/capaci#7l6491t 3143i <=31" n>319.4931m>491 s39431min>31 rafnde=minthr;rcu_readrun6=cet31ct >4910f="ke2ne2unfreturnr070f="ke2ne2unfik0 *22/capaci#7l64932 3143i <=31" n>319.4931m>491an clasmint==6/ifs_0f="ke2ne2unfikmi4933 491d="L3sr6s * update6cneed_kickrun6=cet31ct 491r2" +id="0 *2 rafnde=minthr;rcu_readrun6=cet31ct 49127t31.r6s * update6cneed_kickt31ct 4916f="ke2ne2unfreturnr170f="ke2ne2unfik0 *22/capaci#7l64937 2="sr2" +id="nr_ru49ner>49127t31f0f="ke2ne2unfik0 *22/capaci#7l64918 491igron#else0f="ke2ne2unfik0 *22/capaci#7l64919 4911>2="nfikiccvoiddsigned lomrafsanohz_29er_aserne226t31la65="sr6snohz_29er_aserne2 c#L4int"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shpacit8enum"hrafnde=minthr;csh_29er_type26t31la65="sr6sApu_29er_types3943hrafnde=minthr;29erdnsigned6n=r0ma29er8>31) {df0f="ke2ne2unfik0 *22/capaci#7l6492t 492 s394#endif0f="ke2ne2unfik0 *22/capaci#7l64921 492*qu target.dif#L374" id="L39m319kern4922 2="sr2" +id="sumtnr_runnergign4923 492dyaytrtpencpu?#########*ne29* run_reaserneemdoma47s is triggeredrwhnn need_r from thnfsnr_ruler kick.s_rq_lisL * migro* Also triggeredrforfnohz 29er aserneing (withfnohz_aserneing_kick set).s_rq_lisL249n21>49227t31.c75726> 41661_min_2run*runnerg1>2="sr2" +id="sumtnr_runnergign4926 492erne7nfikiccvoiddsigned lomrafsarun_reaserneemdoma47st31ct 2="s*hrafnde=minthr;h17"sref"22s 797h8>31)>2="sr2" +id="sumtnr_runnergign4927 492" ct 74" id="L374""22a"sr6s!"22> 43164928 2="sr2" +ideaisl7shpacise"hrafnde=minthr;emp_processor_2917"sref"22s 797rmp_processor_29 c#L42"0f="ke2ne2unfik0 *22/capaci#7l64929 4921>2="sr2" +idstruct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;eaislrqt31ct 2=eaisl7shrg1>2="sr2" +ideaisl7shpaci2"0f="ke2ne2unfik0 *22/capaci#7l6493t 493 s39431min>31enum"hrafnde=minthr;csh_29er_type26t31la65="sr6sApu_29er_types3943hrafnde=minthr;29erdnsigned6n=r0ma29er8>31se"hrafnde=minthr;eaislrqt31ct 4930f="ke2ne2unfffffffffEr7id="LLLLLLLLLLLLLLLLLLLLLLLLL2="h7ena!lass4"CPU_IDgsldicfwansse" ctCPU_IDgs1min :"hrafnde=minthr;CPU_NOT_IDgsldicfwansse" ctCPU_NOT_IDgspaci"0f="ke2ne2unfik0 *22/capaci#7l649"2 493an clasmint==6/ifs_0f="ke2ne2unfikmi4933 
49ef=>493d="L374" cldi rafnde=minthr;reaserneemdoma47st31ct 2=eaisl7shrg1>2="sr2" +ideaisl7shpacit8hrafnde=minthr;29erdnsigned6n=r0ma29er8>31)"0f="ke2ne2unfik0 *22/capaci#7l649"4 493.6s39ernrnende=minthr;49in">49352" +id="0 *2L425" id="<24r_ea49EWL>493igronftehsesernisiarehre6@enn belifh* sto"ped.s_rq_lisL493usly), orr* @sds:_s9m31_rneuuuuuuuuu*runnerg1>2="sr2" +id="sumtnr_runnergign494t 4933a>494 s39431min>31 rafnde=minthr;nohz_29er_aserne226t31la65="sr6snohz_29er_aserne2 c#L4s9m31_0 *221>2=eaisl7shrg1>2="sr2" +ideaisl7shpacit8hrafnde=minthr;29erdnsigned6n=r0ma29er8>31)"0f="ke2ne2unfik0 *22/capaci#7l64941 494d="L3nfikiccs9m31_0 *221>2=inf="ker1>2="sr2" +id2nf="k="L37int"hrafnde=minthr;on_nullmdoma4717"sref"22s 797on_nullmdoma47 c#L4int"hrafnde=minthr;csh26t31la65="sr6sApupaci)>2="sr2" +id="sumtnr_runnergign4944  43164935 49452" +id="0 *2returnrrt_f"lc2=cshlrqt31ct 2=csh26t31la65="sr6sApupaci)t_aff2="h7ena!lass4"ed&nm2;&nm2;os49cl6>494thr;494" ct 0f="ke2ne2unfik0 *22/capaci#7l64948 494igronftehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign4949 494usly), orr* @sds:_s9m31_rneuu Trigger thnfSCHED_SOFTIRQ7<74it is time to do periodiccsne29aserneing.s_rq_lisL495t7t31la75e* Aggressive migro*runnerg1>2="sr2" +id="sumtnr_runnergign4951 4950f="kvoiddsigned lomrafsatrigger_sne2_aserne226t31la65="sr6strigger_sne2_aserne2 c#L4struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2=",2int"hrafnde=minthr;csh26t31la65="sr6sApupaci)>2="sr2" +id="sumtnr_runnergign4952 4956s39474" id="L374""22a"sr6s!"22> 43164953 31349_al>495d="L374" cldi tehsesernisiarehre6@e1N Don't needcto reasernee while attae6=" to NULL doma47c*runnerg1>2="sr2" +id="sumtnr_runnergign4954 495r2" +id="0 *2<74"hrafnde=minthr;time_after_eqt31ct 2=jiffg e26t31la65="sr6sjiffg epacit8signed lomrafsarqt31ct 2="t_aff2="h7ena!lass4"next_aserne226t31la65="sr6snext_aserne2paci2f&"&">2="sr2" +id="sumtnr_runnergign4955 49552" +id="0 *2ffff2="h7ena!lass4"6ik2l79t31se clity6 2="sr2" +id="sumtnr_runnergign4956 495erne787BALANCEr7id="Lsigned lomrafsaraise_toftirqt31ct  *849296>49527t31#ifdef"hrafnde=minthr;CONFIG_NO_HZt31ct 49582" +id="0 *2<74"hrafnde=minthr;nohz_kick_need_r26t31la65="sr6snohz_kick_need_r c#L4hrafnde=minthr;rqt31ct 2=",2hrafnde=minthr;csh26t31la65="sr6sApupaci)2&"&""hrafnde=minthr;6ik2l79t31se clity6 2="sr2" +id="sumtnr_runnergign4959 4951>2="sr2" +id="0 *22rhrafnde=minthr;nohz_aserneer_kickt31ct 4960f="kf0f="ke2ne2unfik0 *22/capaci#7l64962 496an clasmint==6/ifs_0f="ke2ne2unfikmi4963 496d="L3nfikiccvoiddsigned lomrafsarq_onf="k_2unft31ct 2="s*hrafnde=minthr;rqt31ct 2=")>2="sr2" +id="sumtnr_runnergign4964 496.6s3974" id="L374""22a"sr6s!"22> 43164965 496thr;496" ct 0f="ke2ne2unfik0 *22/capaci#7l64968 2="s*hrafnde=minthr;rqt31ct 2=")>2="sr2" +id="sumtnr_runnergign4969 4961>2="74" id="L374""22a"sr6s!"22> 4316497t 497 s39431min>31 rafnde=minthr;update_sysctlt31ct 49722" +id="0 *2htehsesernisiarehre6@e1N Ensure hsy throttl=" groups are reachaber ay pick_next_2 a c*runnerg1>2="sr2" +id="sumtnr_runnergign4973 2="2"0f="ke2ne2unfik0 *22/capaci#7l64974 497r2" +f0f="ke2ne2unfik0 *22/capaci#7l64975 497d="L30f="ke2ne2unfik0 *22/capaci#7l64976 214939m>497erne7#endif2htehsesernisiarehre6@e1N CONFIG_SMPc*runnerg1>2="sr2" +id="sumtnr_runnergign4977 497" ct 0f="ke2ne2unfik0 *22/capaci#7l64978 497igronftehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign4979 497usly), orr* @sds:_s9m31_rneuu snr_ruler kick hitting an2 a  of our ne6="uling  @sds:unnerg1>2="sr2" +id="sumtnr_runnergign498t 498t7t31la75e* Aggressive migro*runnerg1>2="sr2" +id="sumtnr_runnergign4981 498199m3nfikiccvoiddsigned lomrafsa2 a _kick_2unft31ct 2="s*hrafnde=minthr;rqt31ct 2=",2struct"hrafnde=minthr;2 a _structt31ct 2="s*hrafnde=minthr;curft31ct 2=",2int"hrafnde=minthr;queu_r26t31la65="sr6squeu_r>2=")>2="sr2" +id="sumtnr_runnergign4982 3149nne>4986s39474" id="L374""22a"sr6s!"22> 43164983 3143mint==6/ifs_0f4931m>498d="L374" cldistruct"hrafnde=minthr;cfslrqt31ct 498r2" +id="0 *2struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31se"&"sr6s * update6ccurft31ct 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31"0f="ke2ne2unfik0 *22/capaci#7l64985 498d="L30f="ke2ne2unfik0 *22/capaci#7l64986 31.pulame=s#49e6 >4986="L374" cldi rafnde=minthr;for_eachmr" nam miity&nm2;&nm2;os31)"74" id="L374""22a"sr6s!"22> 43164987 498" ct <)4" id="7374" 7hrafnde=minthr;cfslrqt31ct 31)"0f="ke2ne2unfik0 *22/capaci#7l64988 498_ID"2rant3sros31t8signed lomrafsaqueu_r26t31la65="sr6squeu_r>2=")"0f="ke2ne2unfik0 *22/capaci#7l64989 4990 ct f0f="ke2ne2unfik0 *22/capaci#7l64991 499*qu target.dif#L374" id="L39m319kern4992  *49972.c#L425" id="<499dyaytrtpencpu?#########*ne29* called onrfork withfea*rchildn2 a  as argu##*n from thnfpar mi's contextunnerg1>2="sr2" +id="sumtnr_runnergign4994 49sra>4993134erne27t31" 735a> * migro*  -rchildnnoe yet onrthnf2 a listunnerg1>2="sr2" +id="sumtnr_runnergign4995 49927t31.c75726> 41661_min_2run*  -rpreemptiog disaber2unnerg1>2="sr2" +id="sumtnr_runnergign4996 499erne7.c75726> 41661_min_2run*runnerg1>2="sr2" +id="sumtnr_runnergign4997 2="sr2" +4931_>499" ct nfikiccvoiddsigned lomrafsa2 a _fork_2unft31ct 2="s*hrafnde=minthr;p17"sref"22s 797p>2=")>2="sr2" +id="sumtnr_runnergign4998 499igron74" id="L374""22a"sr6s!"22> 43164999 4991>2="sr2" +idstruct"hrafnde=minthr;cfslrqt31ct 50ct2" +id="0 *2struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31se"&"sr6s * update6cp17"sref"22s 797p>2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31,s*hrafnde=minthr;curft31ct 2=""0f/pre>f="ke2ne2unfik0 *22/capaci#7l650c1 50c0f="ke2ne2unfint"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shpacise"hrafnde=minthr;emp_processor_2917"sref"22s 797rmp_processor_29 c#L42"0f="ke2ne2unfik0 *22/capaci#7l650c2  *50c22" +id="0 *2struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr;eaislrqt31ct 50cd="L374" cldiunsig6ed long 2="h7ena!lass4"flags17"sref"22s 797flags8>31"0f="ke2ne2unfik0 *22/capaci#7l650c4 50cra>50c.6s39ernrnende=minthr;50c52" +id="0 *2Lrafnde=minthr;raw_spinr6=ce_irqsav226t31la65="sr6sraw_spinr6=ce_irqsav2paci4&"sr6s * update6crqt31ct 2="t_aff2="h7ena!lass4"6=cet31ct 312"0f="ke2ne2unfik0 *22/capaci#7l650c6 50cthr;2="sr2" +50c1_>50c" ct <)4" id=hrafnde=minthr;update_rq_c6=cet31ct 2=rqt31ct 2="2"0f="ke2ne2unfik0 *22/capaci#7l650c8 50cigronr - eastehsetp m2poto7gue  742a50c9 50c9 ct <)4" id=hrafnde=minthr;cfslrqt31ct 2="2"0f="ke2ne2unfik0 *22/capaci#7l6501t 3143i <=31" n>319.5031m>5031 ct <)4" id=hrafnde=minthr;curft31ct 2="se"hrafnde=minthr;1fslrqt31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l65011 (sta> = 319.5031m>50322" +id="0 *2<74"t31ct681a> *rosun6ik2l79t31se clity6 2=2 a _cshrg1>2="sr2" +ide a _csh c#L4s9m31_0 *221>2=p17"sref"22s 797p>2=")s!e"hrafnde=minthr;eaisl7shrg1>2="sr2" +ideaisl7shpaci22"74" id="L374""22a"sr6s!"22> 43165033 503d="L374" cldiiiiiiiiihrafnde=minthr;rcu_readr6=cerg1>2="sr2" +idrcu_readr6=ce c#L42"0f="ke2ne2unfik0 *22/capaci#7l65034 503r2" +id="0 *22rantfwahrafnde=minthr;__senl2 a _cshrg1>2="sr2" +id__senl2 a _csh c#L4s9m31_0 *221>2=p17"sref"22s 797p>2="t8signed lomrafsaeaisl7shrg1>2="sr2" +ideaisl7shpaci2"0f="ke2ne2unfik0 *22/capaci#7l65035 50352" +id="0 *2ffffiiiihrafnde=minthr;rcu_readrun6=cet31ct 5036="L374" cldif0f="ke2ne2unfik0 *22/capaci#7l65037 2="sr2" +id="nr_ru50ner>503" ct 0f="ke2ne2unfik0 *22/capaci#7l65038 503_ID"2rant3srohrafnde=minthr;update_curft31ct 503usly)0f="ke2ne2unfik0 *22/capaci#7l6502t 50+i2" +id="0 *2<74"t31ct681a> *roscurft31ct 2=")>2="sr2" +id="sumtnr_runnergign50+1 50+0f="ke2ne2unfffffffff2="h7ena!lass4"e226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2="se"hrafnde=minthr;1urft31ct 2="t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2=""0f="ke2ne2unfik0 *22/capaci#7l65022 50+3sly)0f="ke2ne2unfik0 *22/capaci#7l65024 2="s&"&""hrafnde=minthr; miity_beforker1>2="sr2" +id miity_befork c#L4hrafnde=minthr;currt31ct 2=",2hrafnde=minthr;e226t31la65="sr6ssr8>31)2"74" id="L374""22a"sr6s!"22> 43165025 250n21>50+52" +id="0 *2ffffiiiih425" id="<50+erne7.c75726> 41661_min_2runnnnnnnnnnnnnnnnn* Upon rene6="uling, r" namc> 41::put_prevl2 a () will placeunnerg1>2="sr2" +id="sumtnr_runnergign50+7 50+27t31la75e* Aggressive migron belifhnnnnnnnn* 'curf mi' with2="sr2" +id="sumtnr_runnergign50+8 2="t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2=",2hrafnde=minthr;e226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2="2"0f="ke2ne2unfik0 *22/capaci#7l6503t 50" 2" +id="0 *2ffffiiiihrafnde=minthr;rene6="l2 a t31ct 2="2"0f="ke2ne2unfik0 *22/capaci#7l65031 50"0f="ke2ne2unff0f="ke2ne2unfik0 *22/capaci#7l65032 50"an clasmint==6/ifs_0f="ke2ne2unfikmi50"3 
50ef=>50"d="L374" cldi rafnde=minthr;e226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2="s-e"hrafnde=minthr;1fslrqt31ct 50in">50"52" +id="0 *2Lrafnde=minthr;raw_spinrun6=ce_irqrentorker1>2="sr2" +idraw_spinrun6=ce_irqrentorkpaci4&"sr6s * update6crqt31ct 2="t_aff2="h7ena!lass4"6=cet31ct 312"0f="ke2ne2unfik0 *22/capaci#7l65036 50"thr;24r_ea50EWL>50"igronftehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign50"9 50"usly), orr* @sds:_s9m31_rneuu Priority of thnf2 a  has changed. Check to ser <74werpreemptunnerg1>2="sr2" +id="sumtnr_runnergign504t 5033a>5033sly), orr* @sds:_s9m31_rneuu ea*rcurr mi 2 a .1mnerg1>2="sr2" +id="sumtnr_runnergign5031 2="s*hrafnde=minthr;rqt31ct 2=",2struct"hrafnde=minthr;2 a _structt31ct 2="s*hrafnde=minthr;p17"sref"22s 797p>2="t8int"hrafnde=minthr;oldprio17"sref"22s 797oldprio>2=")>2="sr2" +id="sumtnr_runnergign5044  43165035 50352" +id="0 *2<74"!sr6s * update6cp17"sref"22s 797p>2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31.rgigne32e" nameonlrqt31ct 2=")>2="sr2" +id="sumtnr_runnergign5046 50cl6>503erne787BALANCEr7id="Lreturn"0f="ke2ne2unfik0 *22/capaci#7l65047 503" ct 0f="ke2ne2unfik0 *22/capaci#7l65048 503_ID"2rant3srohtehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5049 503usly), orr* @sds:_s9m31_rneuuuuuuuuu* Rene6="ulr <74werare curr mily running onrthisrrunqueu_ and cnerg1>2="sr2" +id="sumtnr_runnergign505t 50" sly), orr* @sds:_s9m31_rneuuuuuuuuu* our priority decressed, or <74werare noe curr mily running on cnerg1>2="sr2" +id="sumtnr_runnergign5051 50"199m31767C39mlass=6/shot 4aoth26 ir.* thisrrunqueu_ and our priority isrhigher than ea*rcurr mi's cnerg1>2="sr2" +id="sumtnr_runnergign5052 50"72.c#L425" id="<31350_al>50"32" +id="0 *2<74"s9m31_0 *221>2=rqt31ct 2="t_aff2="h7ena!lass4"curft31ct 2=" =e"hrafnde=minthr;p17"sref"22s 797p>2=")s74" id="L374""22a"sr6s!"22> 43165054 50"r2" +id="0 *22rantfwa<74"s9m31_0 *221>2=p17"sref"22s 797p>2="t_aff2="h7ena!lass4"prio17"sref"22s 797prio>2="s_aff hrafnde=minthr;oldprio17"sref"22s 797oldprio>2=")>2="sr2" +id="sumtnr_runnergign5055 50"52" +id="0 *2ffffffffiiiiiiiihrafnde=minthr;rene6="l2 a t31ct 2="2"0f="ke2ne2unfik0 *22/capaci#7l65056 50"6="L374" cldif else0f="ke2ne2unfik0 *22/capaci#7l650"7  *850296>50"" ct <)4" id="7374" 7hrafnde=minthr;check_preempt_curft31ct 2=rqt31ct 2="t8signed lomrafsap17"sref"22s 797p>2="t802"0f="ke2ne2unfik0 *22/capaci#7l65058 50"8hr;50"usly)0f="ke2ne2unfik0 *22/capaci#7l6506t 2="s*hrafnde=minthr;rqt31ct 2=",2struct"hrafnde=minthr;2 a _structt31ct 2="s*hrafnde=minthr;p17"sref"22s 797p>2=")>2="sr2" +id="sumtnr_runnergign5061 50416s3974" id="L374""22a"sr6s!"22> 43165062 50422" +id="0 *2struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31se"&"sr6s * update6cp17"sref"22s 797p>2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31"0f="ke2ne2unfik0 *22/capaci#7l65063 504d="L374" cldistruct"hrafnde=minthr;cfslrqt31ct 31)"0f="ke2ne2unfik0 *22/capaci#7l65044 504.6s39ernrnende=minthr;2="sr2" +id="sumtnr_runnergign5046 504erne7.c75726> 41661_min_2runnnnnnnnn*tEnsure thnf2 a 's vruneime isrnormalized, so thatrwhnn its cnerg1>2="sr2" +id="sumtnr_runnergign5067 50427t31la75e* Aggressive migron belifh*tswite6=" back to thnfnner* Aggr thnfenqueu_m miity(.flags=0) will cnerg1>2="sr2" +id="sumtnr_runnergign5068 504usly), orr* @sds:_s9m31_rneuuuuuuuuu*s_rq_lisL50_igronftehsesernisiarehre6@enn belifh* I74it was onlrq,9thnn 2hn dequeu_m miity(.flags=0) will alreadys_rq_lisL2="sr2" +id="0 *22r50*22>50_199m31767C39mlass=6/shot 4aoth26 ir.* havernormalized 2hn vruneime,7<74it was !onlrq,9thnn only whnns_rq_lisL50_72.c#L425" id="<2="s&"&""hrafnde=minthr;p17"sref"22s 797p>2="t_aff2="h7ena!lass4"efik226t31la65="sr6ssfik2>2="s!e"hrafnde=minthr;TASK_RUNNING17"sref"22s 797TASK_RUNNING>2=")s74" id="L374""22a"sr6s!"22> 43165075 50_52" +id="0 *2ffffiiiih425" id="<50_igronftehsesernisiarehre6@enn belifhnnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign5079 50_1>2="sr2" +id="0 *22rhrafnde=minthr;placem miity&nm2;&nm2;os31t_aff2="h7ena!lass4"vruneime26t31la65="sr6svruneime>2="s-e"hrafnde=minthr;1fslrqt31ct 50t0f="ke2ne2unff0f="ke2ne2unfik0 *22/capaci#7l65082 3150nne>50t2hr;3143mint==6/ifs_0f5031m>50t3sly)0f="ke2ne2unfik0 *22/capaci#7l65084 50t3134erne27t31" 735a> * migr1Nunnerg1>2="sr2" +id="sumtnr_runnergign5085 50t27t31.c75726> 41661_min_2run* Wetswite6=" to thnfs" namnner* Aggr.s_rq_lisL31.pulame=s#50e6 >50terne7.c75726> 41661_min_2run*runnerg1>2="sr2" +id="sumtnr_runnergign50t7 50t" ct nfikiccvoiddsigned lomrafsaswite6="lto_2unft31ct 2="s*hrafnde=minthr;rqt31ct 2=",2struct"hrafnde=minthr;2 a _structt31ct 2="s*hrafnde=minthr;p17"sref"22s 797p>2=")>2="sr2" +id="sumtnr_runnergign5088 50tigron74" id="L374""22a"sr6s!"22> 431650t9 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31.rgigne32e" nameonlrqt31ct 2=")>2="sr2" +id="sumtnr_runnergign509t 50dhrne787BALANCEr7id="Lreturn"0f="ke2ne2unfik0 *22/capaci#7l65091 50d*qu target.dif#L374" id="L39m319kern5092  *50d22" +id="0 *2htehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5093 50ddyaytrtpencpu?#########*ne29nnnnnnnn* Wetwere most 6ik2l7tswite6=" from s" namrt, sounnerg1>2="sr2" +id="sumtnr_runnergign5094 50sra>50d3134erne27t31" 735a> * migronnnnnnnn* kick off thnfsnr_rule2<74running,foea*rwise just seeunnerg1>2="sr2" +id="sumtnr_runnergign5095 50d27t31.c75726> 41661_min_2runnnnnnnnn* <74werc572still preempt ea*rcurr mi 2 a .1mnerg1>2="sr2" +id="sumtnr_runnergign5096 50derne7.c75726> 41661_min_2runnnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign5097 2="sr2" +5031_>50d72" +id="0 *2<74"s9m31_0 *221>2=rqt31ct 2="t_aff2="h7ena!lass4"curft31ct 2=" =e"hrafnde=minthr;p17"sref"22s 797p>2=")>2="sr2" +id="sumtnr_runnergign5098 50d_ID"2rant3sros2="2"0f="ke2ne2unfik0 *22/capaci#7l65099 50d92" +id="0 *2else0f="ke2ne2unfik0 *22/capaci#7l651ct 5103>2="sr2" +id="0 *22rhrafnde=minthr;check_preempt_curft31ct 2=rqt31ct 2="t8signed lomrafsap17"sref"22s 797p>2="t802"0f="ke2ne2unfik0 *22/capaci#7l651c1 5100f="kf0f="ke2ne2unfik0 *22/capaci#7l65102  *510an clasmint==6/ifs_0f="ke2ne2unfikmi51c3 510dyaytrtpencpu?#########*ne2/* Accou*n for an2 a  changing its policy or group.1mnerg1>2="sr2" +id="sumtnr_runnergign51c4 51cra>5103134erne27t31" 735a> * migro*1mnerg1>2="sr2" +id="sumtnr_runnergign51c5 51027t31.c75726> 41661_min_2run* ThisrroutSCA isrmostl7tcalled to set cfslrqt_affcurf fieldrwhnn an2 a 1mnerg1>2="sr2" +id="sumtnr_runnergign51c6 510erne7.c75726> 41661_min_2run* migrates betwenn groups/6> 41er.s_rq_lisL2="sr2" +51c1_>51027t31la75e* Aggressive migro*runnerg1>2="sr2" +id="sumtnr_runnergign51c8 510igronnfikiccvoiddsigned lomrafsasenlcurfl2 a _2unft31ct 2="s*hrafnde=minthr;rqt31ct 2=")>2="sr2" +id="sumtnr_runnergign51c9 5101>2="74" id="L374""22a"sr6s!"22> 4316511t 3143i <=31" n>319.5131m>511t2" +id="0 *2struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31se"&"sr6s * update6crqt31ct 2="t_aff2="h7ena!lass4"curft31ct 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31"0f="ke2ne2unfik0 *22/capaci#7l65111 (sta> = 319.5131m>5112ID"2rant3srohrafnde=minthr;for_eachmr" nam miity&nm2;&nm2;os31)"74" id="L374""22a"sr6s!"22> 43165113 513d="L374" cldiiiiiiiiistruct"hrafnde=minthr;cfslrqt31ct 31)"0f="ke2ne2unfik0 *22/capaci#7l65134 511.6s39ernrnende=minthr;51352" +id="0 *2ffffiiiihrafnde=minthr;senlnext_ miity&nm2;&nm2;os511erne787BALANCEr7id="Lstpencpu?#########*ne2/* ensure bandwidth has benn allocated onrour new cfslrqo*runnerg1>2="sr2" +id="sumtnr_runnergign5137 2="sr2" +id="nr_ru51ner>511" ct <)4" id="7374" 7hrafnde=minthr;accou*n_cfslrq_runeime26t31la65="sr6saccou*n_cfslrq_runeime c#L4hrafnde=minthr;cfslrqt31ct 513_ID"2rant3srof0f="ke2ne2unfik0 *22/capaci#7l65139 513usly)f0f="ke2ne2unfik0 *22/capaci#7l6512t 51+i2" +0f="ke2ne2unfik0 *22/capaci#7l65121 5120f="kvoiddsigned lomrafsainit_cfslrqt31ct 2="sr2" +id="sumtnr_runnergign5122  43165123 512d="L374" cldi rafnde=minthr;1fslrqt31ct 31"0f="ke2ne2unfik0 *22/capaci#7l65124  *rosunnergl6=") hr6  du4.6s39)(-(1LL << 20)2"0f="ke2ne2unfik0 *22/capaci#7l65125 251n21>51+52" +#ifndef"hrafnde=minthr;CONFIG_64BIT c1ct 5126="L374" cldi rafnde=minthr;1fslrqt31ct 51+27t31#endif0f="ke2ne2unfik0 *22/capaci#7l651+8 512usly)0f="ke2ne2unfik0 *22/capaci#7l6513t 51" 2" +#ifdef"hrafnde=minthr;CONFIG_FAIR_GROUP_SCHED c1ct 2="s*hrafnde=minthr;p17"sref"22s 797p>2="t8int"hrafnde=minthr;onlrqt31ct 2=")>2="sr2" +id="sumtnr_runnergign5132 5136s39474" id="L374""22a"sr6s!"22> 431651"3 
51ef=>513d="L374" cldi tehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5134 5133134erne27t31" 735a> * migronnnnnnnn* If thnf2 a  was noe onrthnfrqoatrea*reime of this cgroup movem mi>2nerg1>2="sr2" +id="sumtnr_runnergign5135 51in">51327t31.c75726> 41661_min_2runnnnnnnnn* 2nerg1>2="sr2" +id="sumtnr_runnergign5136 513erne7.c75726> 41661_min_2runnnnnnnnn*tabsolute onrthnir oldfrqouneil wakeup (need_r for thnfnner*sleeper>2nerg1>2="sr2" +id="sumtnr_runnergign5137 24r_ea51EWL>51"igronftehsesernisiarehre6@eon belifh*s_rq_lisL51"usly), orr* @sds:_s9m31_rneunnnnnnnn* If it was onrthnfrq, we've just 'preempted' it, which does converi>2nerg1>2="sr2" +id="sumtnr_runnergign514t 5133a>5133sly), orr* @sds:_s9m31_rneunnnnnnnn* t_affvruneime to a relikivr asse.s_rq_lisL51472.c#L425" id="<514dyaytrtpencpu?#########*ne29nnnnnnnn* to anoea*r cgroup's rq. Thisrdoes somewhatrinterfere withfea*s_rq_lisL * migronnnnnnnn* nner*sleeper stuff for thnfnirst place* mi, butrwho csrer.s_rq_lisL51427t31.c75726> 41661_min_2runnnnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign5146 51cl6>513erne787BALANC tehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5147 51427t31la75e* Aggressive migron belifh*tWhnn !onlrq,9vruneime of thnf2 a  has usually NOTrbenn normalized.s_rq_lisL514igronftehsesernisiarehre6@enn belifh* Buirthnrerare some csses whnrerit has alreadyrbenn normalized:unnerg1>2="sr2" +id="sumtnr_runnergign5149 513usly), orr* @sds:_s9m31_rneuuuuuuuuu*unnerg1>2="sr2" +id="sumtnr_runnergign515t 51" sly), orr* @sds:_s9m31_rneuuuuuuuuu* - Moving anfork_r childnwhich isrwaiting for being woknn up bys_rq_lisL51"199m31767C39mlass=6/shot 4aoth26 ir.*   wake_up_newl2 a ().s_rq_lisL51"72.c#L425" id="<31351_al>515dyaytrtpencpu?#########*ne29nnnnnnnn*  rwaiting for actually being woknn up by s" namttwu_pending().s_rq_lisL5153134erne27t31" 735a> * migronnnnnnnn*s_rq_lisL51527t31.c75726> 41661_min_2runnnnnnnnn* To prev mi boost or penalty inrthnfnew cfslrqocaused by deltas_rq_lisL515erne7.c75726> 41661_min_2runnnnnnnnn*tmin_vruneime betwenn thnf2wo cfslrqs, we skip9vruneime adjustin_2.s_rq_lisL *851296>51527t31la75e* Aggressive migron belifh*runnerg1>2="sr2" +id="sumtnr_runnergign5158 515_ID"2rant3sro<74"!sr6s * update6conlrqt31ct 2="s&"&"""!sr6s * update6cp17"sref"22s 797p>2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31.rgigne32e" namesum_exec_runeime26t31la65="sr6ssum_exec_runeime>2="s||"hrafnde=minthr;p17"sref"22s 797p>2="t_aff2="h7ena!lass4"efik226t31la65="sr6ssfik2>2="s=e"hrafnde=minthr;TASK_WAKING17"sref"22s 797TASK_WAKING>2="))>2="sr2" +id="sumtnr_runnergign5159 5151>2="sr2" +id="0 *22rhrafnde=minthr;onlrqt31ct 2="s= 1"0f="ke2ne2unfik0 *22/capaci#7l6516t 5161ID"2rant3sro<74"!sr6s * update6conlrqt31ct 2=")>2="sr2" +id="sumtnr_runnergign5162 51422" +id="0 *2="0 *22rhrafnde=minthr;p17"sref"22s 797p>2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31.rgigne32e" namevruneime26t31la65="sr6svruneime>2="s-e"hrafnde=minthr;1fslrq_oft31ct 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31)t_aff2="h7ena!lass4"min_vruneime26t31la65="sr6smin_vruneime>2=""0f="ke2ne2unfik0 *22/capaci#7l65163 516d="L374" cldi rafnde=minthr;e2nl2 a _rqt31ct 2="t8signed lomrafsae a _cshrg1>2="sr2" +ide a _csh c#L4s9m31_0 *221>2=p17"sref"22s 797p>2=")2"0f="ke2ne2unfik0 *22/capaci#7l65144 516r2" +id="0 *2<74"!sr6s * update6conlrqt31ct 2=")>2="sr2" +id="sumtnr_runnergign5165 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31.rgigne32e" namevruneime26t31la65="sr6svruneime>2="s+e"hrafnde=minthr;1fslrq_oft31ct 2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31)t_aff2="h7ena!lass4"min_vruneime26t31la65="sr6smin_vruneime>2=""0f="ke2ne2unfik0 *22/capaci#7l65166 516thr;516" ct 0f="ke2ne2unfik0 *22/capaci#7l65168 2="s*hrafnde=minthr;tg&nm2;&nm2;os2=")>2="sr2" +id="sumtnr_runnergign5169 5161>2="74" id="L374""22a"sr6s!"22> 4316517t 517i2" +id="0 *22=""0f="ke2ne2unfik0 *22/capaci#7l65171 2="sr2" +id="0 *22r51*22>517*qu target.dif#L374" id="L39m319kern5172 5172ID"2rant3srohrafnde=minthr;destroy_cfslbandwidtht31ct 2=tg_cfslbandwidtht31ct 2=tg&nm2;&nm2;os2=")2"0f="ke2ne2unfik0 *22/capaci#7l65173 517r2" +id="0 *2hrafnde=minthr;for_eachmpossible_cshrg1>2="sr2" +idfor_eachmpossible_csh c#L4s9m31_0 *221>2=it31ct 2=")"74" id="L374""22a"sr6s!"22> 43165175 51_52" +id="0 *2ffffiiii<74"s9m31_0 *221>2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2="sr2" +id="sumtnr_runnergign5176 215139m>517erne787BALANCEr7id="Lid="0 *2hrafnde=minthr;kfreet31ct 2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2=it31ct 2="]2"0f="ke2ne2unfik0 *22/capaci#7l65177 517" ct <)4" id="7374" 7<74"s9m31_0 *221>2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31)0f="ke2ne2unfik0 *22/capaci#7l65178 517_ID"2rant3sros2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31[s9m31_0 *221>2=it31ct 2="]2"0f="ke2ne2unfik0 *22/capaci#7l65179 51_1>2="sr2" +idf0f="ke2ne2unfik0 *22/capaci#7l6518t 518i2" +0f="ke2ne2unfik0 *22/capaci#7l65181 51t0f="ke2ne2unfhrafnde=minthr;kfreet31ct 2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 3151nne>5182ID"2rant3srohrafnde=minthr;kfreet31ct 2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>312"0f="ke2ne2unfik0 *22/capaci#7l65183 3143mint==6/ifs_0f5131m>51t3sly)f0f="ke2ne2unfik0 *22/capaci#7l65184 518.6s39ernrnende=minthr;51t27t312="s*hrafnde=minthr;tg&nm2;&nm2;os2=",2struct"hrafnde=minthr;2 a _group&nm2;&nm2;os2="s*hrafnde=minthr;par mit31ct 31)0f="ke2ne2unfik0 *22/capaci#7l65186 31.pulame=s#51e6 >51terne774" id="L374""22a"sr6s!"22> 431651t7 518" ct <)4" id=struct"hrafnde=minthr;cfslrqt31ct 31"0f="ke2ne2unfik0 *22/capaci#7l65189 2=""0f="ke2ne2unfik0 *22/capaci#7l6519t 519i2" +0f="ke2ne2unfik0 *22/capaci#7l65191 5190f="ke2ne2unfhrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2="t8signed lomrafsaGFP_KERNEL17"sref"22s 797GFP_KERNEL8>312"0f="ke2ne2unfik0 *22/capaci#7l65192  *51d22" +id="0 *2<74"!sr6s * update6ctg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2="sr2" +id="sumtnr_runnergign5193 519d="L374" cldiiiiiiiiigoto"hrafnde=minthr; rft31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l65194 51sra>519r2" +id="0 *2hrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31se"hrafnde=minthr;kzalloct31ct 31)"*"hrafnde=minthr;nr_csh_ids17"sref"22s 797nr_csh_ids>2="t8signed lomrafsaGFP_KERNEL17"sref"22s 797GFP_KERNEL8>312"0f="ke2ne2unfik0 *22/capaci#7l65195 51952" +id="0 *2<74"!sr6s * update6ctg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31)0f="ke2ne2unfik0 *22/capaci#7l65196 519erne787BALANCEr7id="Lgoto"hrafnde=minthr; rft31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l65197 2="sr2" +5131_>519" ct 0f="ke2ne2unfik0 *22/capaci#7l65198 519_ID"2rant3srohrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"ehsrer26t31la65="sr6sshsrer8>31se"hrafnde=minthr;NICE_0_LOAD c1ct 2=""0f="ke2ne2unfik0 *22/capaci#7l65199 519usly)0f="ke2ne2unfik0 *22/capaci#7l652ct 5203>2="sr2" +idhrafnde=minthr;init_cfslbandwidtht31ct 2=tg_cfslbandwidtht31ct 2=tg&nm2;&nm2;os2=")2"0f="ke2ne2unfik0 *22/capaci#7l652c1 520*qu target.dif#L374" id="L39m319kern5202  *5202ID"2rant3srohrafnde=minthr;for_eachmpossible_cshrg1>2="sr2" +idfor_eachmpossible_csh c#L4s9m31_0 *221>2=it31ct 2=")"74" id="L374""22a"sr6s!"22> 431652c3 520d="L374" cldiiiiiiiii2="h7ena!lass4"cfslrqt31ct  431652c4 52cra>520r2" +id="0 *22rantfwaaaaaaaaaaaaaaaaaaaaaaasigned lomrafsaGFP_KERNEL17"sref"22s 797GFP_KERNEL8>31t8signed lomrafsacsh_to_nthrt31ct 2=it31ct 2=")2"0f="ke2ne2unfik0 *22/capaci#7l652c5 52052" +id="0 *2ffffiiii<74"!sr6s * update6ccfslrqt31ct 2="sr2" +id="sumtnr_runnergign52c6 520erne787BALANCEr7id="Lid="0 *2goto"hrafnde=minthr; rft31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l652c7 2="sr2" +52c1_>520" ct 0f="ke2ne2unfik0 *22/capaci#7l652c8 520_ID"2rant3sros31se"hrafnde=minthr;kzalloc_nthrt31ct  431652c9 5201>2="sr2" +id="0 *22raaaaaaaaaaaaaaaaaasigned lomrafsaGFP_KERNEL17"sref"22s 797GFP_KERNEL8>31t8signed lomrafsacsh_to_nthrt31ct 2=it31ct 2=")2"0f="ke2ne2unfik0 *22/capaci#7l6521t 3143i <=31" n>319.5231m>5213>2="sr2" +id="0 *22r<74"!sr6s * update6ce226t31la65="sr6ssr8>31)>2="sr2" +id="sumtnr_runnergign5211 (sta> = 2=""0f="ke2ne2unfik0 *22/capaci#7l65232 3143i <=31" n>319.5231m>521an clasmint==6/ifs_0f="ke2ne2unfikmi5213 523d="L374" cldiiiiiiiiihrafnde=minthr;init_cfslrqt31ct 521r2" +id="0 *22rantfwahrafnde=minthr;init_tg_cfsl miry&nm2;&nm2;os2=tg&nm2;&nm2;os2="t8signed lomrafsacfslrqt31ct 31t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31[s9m31_0 *221>2=it31ct 2="]2"0f="ke2ne2unfik0 *22/capaci#7l65235 52352" +id="0 *2f0f="ke2ne2unfik0 *22/capaci#7l65236 521erne70f="ke2ne2unfik0 *22/capaci#7l65237 2="sr2" +id="nr_ru52ner>521" ct <)4" id=return 1"0f="ke2ne2unfik0 *22/capaci#7l65238 523_ID"20f="ke2ne2unfik0 *22/capaci#7l65239 523usly)hrafnde=minthr; rf_free_rqt31ct 2=":0f="ke2ne2unfik0 *22/capaci#7l6522t 5223>2="sr2" +idhrafnde=minthr;kfreet31ct 2=cfslrqt31ct 5220f="khrafnde=minthr; rft31ct 2=":0f="ke2ne2unfik0 *22/capaci#7l65222 5223sly)f0f="ke2ne2unfik0 *22/capaci#7l65224 252n21>52+52" +voiddsigned lomrafsaunregister_2unfmr" namgroup&nm2;&nm2;os2="s*hrafnde=minthr;tg&nm2;&nm2;os2=",22="sr2" +idcsh c#L)>2="sr2" +id="sumtnr_runnergign5226 522erne774" id="L374""22a"sr6s!"22> 431652+7 522" ct <)4" id=struct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr;1sh_rqt31ct 2=cshrg1>2="sr2" +idcsh c#L)"0f="ke2ne2unfik0 *22/capaci#7l65228 2="sr2" +idflags>2=""0f="ke2ne2unfik0 *22/capaci#7l652+9 522usly)0f="ke2ne2unfik0 *22/capaci#7l6523t 5233>2="sr2" +idhtehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5231 523199m31767C39mlass=6/shot 4aoth26 ir* Only emptyn2 a  groupsrc572bn destroyed; so werc572speculikivrlys_rq_lisL52372.c#L425" id="<
52ef=>523dyaytrtpencpu?#########*ne29nnnnnnn*runnerg1>2="sr2" +id="sumtnr_runnergign5234 523r2" +id="0 *2<74"!sr6s * update6ctg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2=cshrg1>2="sr2" +idcsh c#L]t_aff2="h7ena!lass4"onllistrg1>2="sr2" +idonllist c#L)>2="sr2" +id="sumtnr_runnergign5235 52in">52352" +id="0 *2ffffiiiireturn"0f="ke2ne2unfik0 *22/capaci#7l65236 523erne70f="ke2ne2unfik0 *22/capaci#7l65237 2="t_aff2="h7ena!lass4"lockt31ct 2="t8signed lomrafsaflagsrg1>2="sr2" +idflags>2=")"0f="ke2ne2unfik0 *22/capaci#7l65238 24r_ea52EWL>523_ID"2rant3srohrafnde=minthr;list_del_leaf_cfslrqt31ct 2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2=cshrg1>2="sr2" +idcsh c#L])"0f="ke2ne2unfik0 *22/capaci#7l65239 5239 ct <)4" id=hrafnde=minthr;raw_spinlunlock_irqrestoret31ct 2="t_aff2="h7ena!lass4"lockt31ct 2="t8signed lomrafsaflagsrg1>2="sr2" +idflags>2=")"0f="ke2ne2unfik0 *22/capaci#7l6524t 5233a>5233sly)f0f="ke2ne2unfik0 *22/capaci#7l65231 2="s*hrafnde=minthr;tg&nm2;&nm2;os2=",2struct"hrafnde=minthr;cfslrqt31ct  43165243 524d="L374" cldiiiiiiiii<)4" id=struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31,22="sr2" +idcsh c#L,4" id="L374""22a"sr6s!"22> 43165244 31)0f="ke2ne2unfik0 *22/capaci#7l65235 52427t3174" id="L374""22a"sr6s!"22> 43165246 52cl6>523erne787BALANCstruct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr;1sh_rqt31ct 2=cshrg1>2="sr2" +idcsh c#L)"0f="ke2ne2unfik0 *22/capaci#7l65247 524" ct 0f="ke2ne2unfik0 *22/capaci#7l65238 524_ID"2rant3srohrafnde=minthr;1fslrqt31ct 2="se"hrafnde=minthr;2g&nm2;&nm2;os2=""0f="ke2ne2unfik0 *22/capaci#7l65249 5249 ct <)4" id=hrafnde=minthr;1fslrqt31ct 2="se"hrafnde=minthr;rqt31ct 2=""0f="ke2ne2unfik0 *22/capaci#7l6525t 525 2" +#ifdef"hrafnde=minthr;CONFIG_SMPt31ct 2="sr2" +id="sumtnr_runnergign5252 5252ID"2rant3srohrafnde=minthr;1fslrqt31ct 2="se"1"0f="ke2ne2unfik0 *22/capaci#7l65253 31352_al>525dyayt#endif0f="ke2ne2unfik0 *22/capaci#7l65254 525r2" +id="0 *2hrafnde=minthr;init_cfslrq_runeime26t31la65="sr6sinit_cfslrq_runeime c#L4s9m31_0 *221>2=cfslrqt31ct 52527t310f="ke2ne2unfik0 *22/capaci#7l65256 5256="L374" cldi rafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfslrqt31ct 2=cshrg1>2="sr2" +idcsh c#L]se"hrafnde=minthr;1fslrqt31ct  *852296>525" ct <)4" id=hrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31[s9m31_0 *221>2=cshrg1>2="sr2" +idcsh c#L]se"hrafnde=minthr;s226t31la65="sr6ssr8>31"0f="ke2ne2unfik0 *22/capaci#7l65258 525_ID"20f="ke2ne2unfik0 *22/capaci#7l65259 5251>2="sr2" +idhtpencpu?#########*ne2/* se could2bn NULL for roonl2 a _group *runnerg1>2="sr2" +id="sumtnr_runnergign526t 5261rne787BALANCEr7id="Lreturn"0f="ke2ne2unfik0 *22/capaci#7l65262 526an clasmint==6/ifs_0f="ke2ne2unfikmi5263 526d="L374" cldi<74"!sr6s * update6cpar mit31ct 31)0f="ke2ne2unfik0 *22/capaci#7l65244 526r2" +id="0 *22rantfwahrafnde=minthr;s226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"cfslrqt31ct 2="t_aff2="h7ena!lass4"cfsrg1>2="sr2" +idcfs8>31"0f="ke2ne2unfik0 *22/capaci#7l65265 526erne787BALANCEr7id="Lsrafnde=minthr;s226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"cfslrqt31ct 31t_aff2="h7ena!lass4"my_qt31ct 31"0f="ke2ne2unfik0 *22/capaci#7l65267 526" ct 0f="ke2ne2unfik0 *22/capaci#7l65268 31t_aff2="h7ena!lass4"my_qt31ct 31se"hrafnde=minthr;1fslrqt31ct 5269 ct <)4" id=hrafnde=minthr;update_load_seit31ct 31,202"0f="ke2ne2unfik0 *22/capaci#7l6527t 5273>2="sr2" +idhrafnde=minthr;s226t31la65="sr6ssr8>31t_aff2="h7ena!lass4"par mit31ct 31se"signed lomrafsapar mit31ct 31"0f="ke2ne2unfik0 *22/capaci#7l65271 2="sr2" +id="0 *22r52*22>5270f="kf0f="ke2ne2unfik0 *22/capaci#7l65272 527an clasmint==6/ifs_0f="ke2ne2unfikmi5273 52727t312="s*hrafnde=minthr;tg&nm2;&nm2;os2=",2unsigned longohrafnde=minthr;ehsrer26t31la65="sr6sshsrer8>31)0f="ke2ne2unfik0 *22/capaci#7l65276 215239m>527erne774" id="L374""22a"sr6s!"22> 43165277 527" ct <)4" id=2=""0f="ke2ne2unfik0 *22/capaci#7l65278 527_ID"2rant3srounsigned longohrafnde=minthr;flagsrg1>2="sr2" +idflags>2=""0f="ke2ne2unfik0 *22/capaci#7l65279 527usly)0f="ke2ne2unfik0 *22/capaci#7l6528t 5283>2="sr2" +idhtehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5281 528199m31767C39mlass=6/shot 4aoth26 ir.* Werc57't change thnfweight of thnfroon cgroup.s_rq_lisL3152nne>52872.c#L425" id="<2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31[0])0f="ke2ne2unfik0 *22/capaci#7l65284 528r2" +id="0 *22rantfwareturn -2="h7ena!lass4"EINVAL17"sref"22s 797EINVAL>2=""0f="ke2ne2unfik0 *22/capaci#7l65285 52827t310f="ke2ne2unfik0 *22/capaci#7l65286 31.pulame=s#52e6 >5286="L374" cldi rafnde=minthr;ehsrer26t31la65="sr6sshsrer8>31se"hrafnde=minthr;t31mpt31ct 2=shsrer26t31la65="sr6sshsrer8>31t8signed lomrafsaecale_load26t31la65="sr6ss"ale_load c#L4s9m31_0 *221>2=MIN_SHARES26t31la65="sr6sMIN_SHARES8>31)t8signed lomrafsaecale_load26t31la65="sr6ss"ale_load c#L4s9m31_0 *221>2=MAX_SHARES26t31la65="sr6sMAX_SHARES8>31)2"0f="ke2ne2unfik0 *22/capaci#7l652t7 528" ct 0f="ke2ne2unfik0 *22/capaci#7l65288 528_ID"2rant3srohrafnde=minthr;mutex_lockt31ct 6s39431min>5221N>52t92" +id="0 *2<74"s9m31_0 *221>2=tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"ehsrer26t31la65="sr6sshsrer8>31see"hrafnde=minthr;shsrer26t31la65="sr6sshsrer8>31)0f="ke2ne2unfik0 *22/capaci#7l6529t 5293>2="sr2" +id="0 *22rgoto"hrafnde=minthr;don226t31la65="sr6sdon2>2=""0f="ke2ne2unfik0 *22/capaci#7l65291 529*qu target.dif#L374" id="L39m319kern5292  *5292ID"2rant3srohrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"ehsrer26t31la65="sr6sshsrer8>31se"hrafnde=minthr;ehsrer26t31la65="sr6sshsrer8>31"0f="ke2ne2unfik0 *22/capaci#7l65293 529d="L374" cldihrafnde=minthr;for_eachmpossible_cshrg1>2="sr2" +idfor_eachmpossible_csh c#L4s9m31_0 *221>2=it31ct 2=")"74" id="L374""22a"sr6s!"22> 43165294 52sra>529r2" +id="0 *22rantfwastruct"hrafnde=minthr;rqt31ct 2="s*hrafnde=minthr;rqt31ct 2="se"hrafnde=minthr;1sh_rqt31ct 2=it31ct 2=")"0f="ke2ne2unfik0 *22/capaci#7l65295 52952" +id="0 *2ffffiiiistruct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31"0f="ke2ne2unfik0 *22/capaci#7l65296 529erne70f="ke2ne2unfik0 *22/capaci#7l65297 2="sr2" +5231_>529" ct <)4" id="7374" 7hrafnde=minthr;e226t31la65="sr6ssr8>31se"hrafnde=minthr;tg&nm2;&nm2;os2="t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31[s9m31_0 *221>2=it31ct 2="]"0f="ke2ne2unfik0 *22/capaci#7l65298 529_ID"2rant3sros2="sr2" +id="sumtnr_runnergign5299 5291>2="sr2" +id="0 *22rhrafnde=minthr;raw_spinllock_irqsavet31ct 2="t_aff2="h7ena!lass4"lockt31ct 2="t8signed lomrafsaflagsrg1>2="sr2" +idflags>2=")"0f="ke2ne2unfik0 *22/capaci#7l653ct 5303>2="sr2" +id="0 *22rhrafnde=minthr;for_eachmr" nam miity&nm2;&nm2;os2=s226t31la65="sr6ssr8>31)>2="sr2" +id="sumtnr_runnergign53c1 5301rne787BALANCEr7id="Lid="0 *2hrafnde=minthr;update_cfslehsrer26t31la65="sr6supdate_cfslehsrer c#L4s9m31_0 *221>2=group_1fslrqt31ct 2=s226t31la65="sr6ssr8>31))"0f="ke2ne2unfik0 *22/capaci#7l653c2  *53022" +id="0 *2="0 *22rhrafnde=minthr;raw_spinlunlock_irqrestoret31ct 2="t_aff2="h7ena!lass4"lockt31ct 2="t8signed lomrafsaflagsrg1>2="sr2" +idflags>2=")"0f="ke2ne2unfik0 *22/capaci#7l653c3 530d="L374" cldif0f="ke2ne2unfik0 *22/capaci#7l653c4 53cra>530.6s39ernrnende=minthr;53052" +hrafnde=minthr;don226t31la65="sr6sdon2>2=":0f="ke2ne2unfik0 *22/capaci#7l653c6 5306="L374" cldi rafnde=minthr;mutex_unlockt31ct 530" ct <)4" id=return 0"0f="ke2ne2unfik0 *22/capaci#7l653c8 5308hr;5301>2="#elserhtpencpu?#########*ne2/* CONFIG_FAIR_GROUP_SCHEDn*runnerg1>2="sr2" +id="sumtnr_runnergign531t 3143i <=31" n>319.5331m>531i2" +0f="ke2ne2unfik0 *22/capaci#7l65311 (sta> = 2="s*hrafnde=minthr;tg&nm2;&nm2;os2=") {if0f="ke2ne2unfik0 *22/capaci#7l65332 3143i <=31" n>319.5331m>531an clasmint==6/ifs_0f="ke2ne2unfikmi5313 533d="L32="s*hrafnde=minthr;tg&nm2;&nm2;os2=",2struct"hrafnde=minthr;2 a _group&nm2;&nm2;os2="s*hrafnde=mdate6cpar mit31ct 31)0f="ke2ne2unfik0 *22/capaci#7l65334 531r2" +74" id="L374""22a"sr6s!"22> 43165335 53352" +id="0 *2return 1"0f="ke2ne2unfik0 *22/capaci#7l65336 531thr;2="sr2" +id="nr_ru53ner>531" ct 0f="ke2ne2unfik0 *22/capaci#7l65338 531igronvoiddsigned lomrafsaunregister_2unfmr" namgroup&nm2;&nm2;os2="s*hrafnde=minthr;tg&nm2;&nm2;os2=",22="sr2" +idcsh c#L) {if0f="ke2ne2unfik0 *22/capaci#7l65339 531usly)0f="ke2ne2unfik0 *22/capaci#7l6532t 5323>2="#endifrhtpencpu?#########*ne2/* CONFIG_FAIR_GROUP_SCHEDn*runnerg1>2="sr2" +id="sumtnr_runnergign5321 532*qu target.dif#L374" id="L39m319kern5322 5323sly)nfikiccunsigned 2="s*hrafnde=minthr;rqt31ct 2=",2struct"hrafnde=minthr;2 a _struct&nm2;&nm2;os2="s*hrafnde=minthr;t a &nm2;&nm2;os31)0f="ke2ne2unfik0 *22/capaci#7l65324  43165325 253n21>53252" +id="0 *2struct"hrafnde=minthr;r" nam miity&nm2;&nm2;os31se"&"sr6s * update6ct a &nm2;&nm2;os31t_aff2="h7ena!lass4"e226t31la65="sr6ssr8>31"0f="ke2ne2unfik0 *22/capaci#7l65326 5326="L374" cldiunsigned 31se"0"0f="ke2ne2unfik0 *22/capaci#7l653+7 532" ct 0f="ke2ne2unfik0 *22/capaci#7l65328 2="sr2" +id="sumtnr_runnergign53+9 532usly), orr* @sds:_s9m31_rneuuuuuuuuu* Time slice isr0 for SCHED_OTHERn2 a s thatrare on rr*othnrwisr8>nerg1>2="sr2" +id="sumtnr_runnergign533t 533 sly), orr* @sds:_s9m31_rneuuuuuuuuu* idle runqueue:unnerg1>2="sr2" +id="sumtnr_runnergign5331 533199m31767C39mlass=6/shot 4aoth26 irn*runnerg1>2="sr2" +id="sumtnr_runnergign5332 53322" +id="0 *2<74"sr6s * update6crqt31ct 2="t_aff2="h7ena!lass4"cfsrg1>2="sr2" +idcfs8>31.rgigne32e" nameloadt31ct 31.rgigne32e" nameweightt31ct 31)0f="ke2ne2unfik0 *22/capaci#7l653"3 
53ef=>533d="L374" cldiiiiiiiiihrafnde=minthr;rr_intervalt31ct 31se"hrafnde=minthr;NS_TO_JIFFIES26t31la65="sr6sNS_TO_JIFFIES c#L4s9m31_0 *221>2=s" namslice&nm2;&nm2;os2="t_aff2="h7ena!lass4"cfsrg1>2="sr2" +idcfs8>31t8signed lomrafsae226t31la65="sr6ssr8>31))"0f="ke2ne2unfik0 *22/capaci#7l65334 533.6s39ernrnende=minthr;53in">53352" +id="0 *2return hrafnde=minthr;rr_intervalt31ct 31"0f="ke2ne2unfik0 *22/capaci#7l65336 533thr;24r_ea53EWL>533_ID"2htehsesernisiarehre6@e1Nunnerg1>2="sr2" +id="sumtnr_runnergign5339 533usly), orr* @sds:_s9m31_rneu* All thnftnr_ruling  @sds methods:unnerg1>2="sr2" +id="sumtnr_runnergign534t 5333a>534 sly), orr* @sds:_s9m31_rneu*runnerg1>2="sr2" +id="sumtnr_runnergign5331 31se"74" id="L374""22a"sr6s!"22> 43165342 53422" +id="0 *2.rgigne32e" namenextt31ct 31t4" id="L374""22a"sr6s!"22> 43165343 534d="L374" cldi.rgigne32e" nameenqueue_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165344 31t4" id="L374""22a"sr6s!"22> 43165345 53452" +id="0 *2.rgigne32e" nameyield_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165346 53cl6>533erne787BALANC.rgigne32e" nameyield_to_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165347 534" ct 0f="ke2ne2unfik0 *22/capaci#7l65338 534_ID"2rant3sro.rgigne32e" namecheck_preempt_curft31ct 31t4" id="L374""22a"sr6s!"22> 43165349 534usly)0f="ke2ne2unfik0 *22/capaci#7l6535t 5350ID"2rant3sro.rgigne32e" namepick_next_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165351 5350f="ke2ne2unf.rgigne32e" nameput_prev_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165352 535an clasmint==6/ifs_0f="ke2ne2unfikmi5353 31353_al>535dyayt#ifdef"hrafnde=minthr;CONFIG_SMPt31ct 31t4" id="L374""22a"sr6s!"22> 43165355 53527t310f="ke2ne2unfik0 *22/capaci#7l65356 535erne787BALANC.rgigne32e" namerq_ongron b1ct 31t4" id="L374""22a"sr6s!"22> 43165357  *853296>535" ct <)4" id=.rgigne32e" namerq_offgron b1ct 31t4" id="L374""22a"sr6s!"22> 43165358 535_ID"20f="ke2ne2unfik0 *22/capaci#7l65359 5351>2="sr2" +id.rgigne32e" namet a _waking&nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 4316536t  43165361 536*qu target.dif#L374" id="L39m319kern5362 53622" +id="0 *2.rgigne32e" namesei_curf_t a &nm2;&nm2;os31t4" id="L374""22a"sr6s!"22> 43165363 536d="L374" cldi.rgigne32e" namet a _tickt31ct 31t4" id="L374""22a"sr6s!"22> 43165364 536r2" +id="0 *2.rgigne32e" namet a _2orkt31ct 31t4" id="L374""22a"sr6s!"22> 43165365 536erne787BALANC.rgigne32e" nameprio_changedt31ct 31t4" id="L374""22a"sr6s!"22> 43165367 536" ct <)4" id=.rgigne32e" nameswit" namfromt31ct 31t4" id="L374""22a"sr6s!"22> 43165368 31t4" id="L374""22a"sr6s!"22> 43165369 536usly)0f="ke2ne2unfik0 *22/capaci#7l6537t 5370ID"2rant3sro.rgigne32e" nameget_rr_intervalt31ct  43165371 2="sr2" +id="0 *22r53*22>537*qu target.dif#L374" id="L39m319kern5372 537an cl#ifdef"hrafnde=minthr;CONFIG_FAIR_GROUP_SCHEDt31ct  43165374 537.6s39#endif4" id="L374""22a"sr6s!"22> 43165375 53727t31}"0f="ke2ne2unfik0 *22/capaci#7l65376 215339m>537erne70f="ke2ne2unfik0 *22/capaci#7l65377 537" ct #ifdef"hrafnde=minthr;CONFIG_SCHED_DEBUGt31ct 31t82="sr2" +idcsh c#L)>2="sr2" +id="sumtnr_runnergign5379 537usly)74" id="L374""22a"sr6s!"22> 4316538t 5383>2="sr2" +idstruct"hrafnde=minthr;cfslrqt31ct 538*qu target.dif#L374" id="L39m319kern5382 3153nne>5382ID"2rant3srohrafnde=minthr;rcu_read_lockt31ct 2=1sh_rqt31ct 2=cshrg1>2="sr2" +idcsh c#L)t8signed lomrafsacfslrqt31ct 2="sr2" +id="sumtnr_runnergign5384 538r2" +id="0 *22rantfwasigned lomrafsaprint_cfslrqt31ct 2=mt31ct 31t8s9m31_0 *221>2=cshrg1>2="sr2" +idcsh c#Lt8signed lomrafsacfslrqt31ct 538" ct #endif4" id="L374""22a"sr6s!"22> 43165388 538_ID"20f="ke2ne2unfik0 *22/capaci#7l65389 2="sr2" +id="sumtnr_runnergign539t 5393>2="74" id="L374""22a"sr6s!"22> 43165391 539*qu t#ifdef"hrafnde=minthr;CONFIG_SMPt31ct  *5392ID"2rant3srohrafnde=minthr;open_softirqt31ct 2=SCHED_SOFTIRQt31ct 539d="L30f="ke2ne2unfik0 *22/capaci#7l65394 53sra>539r2" +#ifdef"hrafnde=minthr;CONFIG_NO_HZt31ct 5395ID"2rant3srohrafnde=minthr;nohzt31ct 31se"rgigne32e" namejiffier26t31la65="sr6sjiffierpaci"0f="ke2ne2unfik0 *22/capaci#7l65396 5396="L374" cldi rafnde=minthr;zalloc_cshm a _vaft31ct 539" ct <)4" id=hrafnde=minthr;csh_notifieft31ct 2=r" namilb_notifieft31ct 539_ID"2#endif4" id="L374""22a"sr6s!"22> 43165399 5399ID"2#endifrhtpencpu?#########*ne2/* SMPu*runnerg1>2="sr2" +id="sumtnr_runnergign54ct 540i2" +0f="ke2ne2unfik0 *22/capaci#7l654c1 5400f="kf0f="ke2ne2unfik0 *22/capaci#7l654c2  *54022" +


The original LXR software by thnff="ke2ne2http://sourceforge.net/projects/lxft>LXR ####unitypaci, this experi##*nal versiog by f="ke2ne2mailto:lxf@ck_ux.no">lxf@ck_ux.noID"2.
lxf.ck_ux.no kindly hosted by f="ke2ne2http://www.redpill-ck_pro.no">Redpill Lk_pro ASpaci, provider of Lk_uxnconsulting and operatiogs services since 1995.