linux/mm/memcontrol.c
<<
>>
Prefs
   1/* memcontrol.c - Memory Controller
   2 *
   3 * Copyright IBM Corporation, 2007
   4 * Author Balbir Singh <balbir@linux.vnet.ibm.com>
   5 *
   6 * Copyright 2007 OpenVZ SWsoft Inc
   7 * Author: Pavel Emelianov <xemul@openvz.org>
   8 *
   9 * Memory thresholds
  10 * Copyright (C) 2009 Nokia Corporation
  11 * Author: Kirill A. Shutemov
  12 *
  13 * This program is free software; you can redistribute it and/or modify
  14 * it under the terms of the GNU General Public License as published by
  15 * the Free Software Foundation; either version 2 of the License, or
  16 * (at your option) any later version.
  17 *
  18 * This program is distributed in the hope that it will be useful,
  19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21 * GNU General Public License for more details.
  22 */
  23
  24#include <linux/res_counter.h>
  25#include <linux/memcontrol.h>
  26#include <linux/cgroup.h>
  27#include <linux/mm.h>
  28#include <linux/hugetlb.h>
  29#include <linux/pagemap.h>
  30#include <linux/smp.h>
  31#include <linux/page-flags.h>
  32#include <linux/backing-dev.h>
  33#include <linux/bit_spinlock.h>
  34#include <linux/rcupdate.h>
  35#include <linux/limits.h>
  36#include <linux/export.h>
  37#include <linux/mutex.h>
  38#include <linux/rbtree.h>
  39#include <linux/slab.h>
  40#include <linux/swap.h>
  41#include <linux/swapops.h>
  42#include <linux/spinlock.h>
  43#include <linux/eventfd.h>
  44#include <linux/sort.h>
  45#include <linux/fs.h>
  46#include <linux/seq_file.h>
  47#include <linux/vmalloc.h>
  48#include <linux/mm_inline.h>
  49#include <linux/page_cgroup.h>
  50#include <linux/cpu.h>
  51#include <linux/oom.h>
  52#include "internal.h"
  53#include <net/sock.h>
  54#include <net/tcp_memcontrol.h>
  55
  56#include <asm/uaccess.h>
  57
  58#include <trace/events/vmscan.h>
  59
  60struct cgroup_subsys mem_cgroup_subsys __read_mostly;
  61#define MEM_CGROUP_RECLAIM_RETRIES      5
  62static struct mem_cgroup *root_mem_cgroup __read_mostly;
  63
  64#ifdef CONFIG_MEMCG_SWAP
  65/* Turned on only when memory cgroup is enabled && really_do_swap_account = 1 */
  66int do_swap_account __read_mostly;
  67
  68/* for remember boot option*/
  69#ifdef CONFIG_MEMCG_SWAP_ENABLED
  70static int really_do_swap_account __initdata = 1;
  71#else
  72static int really_do_swap_account __initdata = 0;
  73#endif
  74
  75#else
  76#define do_swap_account         0
  77#endif
  78
  79
  80/*
  81 * Statistics for memory cgroup.
  82 */
  83enum mem_cgroup_stat_index {
  84        /*
  85         * For MEM_CONTAINER_TYPE_ALL, usage = pagecache + rss.
  86         */
  87        MEM_CGROUP_STAT_CACHE,     /* # of pages charged as cache */
  88        MEM_CGROUP_STAT_RSS,       /* # of pages charged as anon rss */
  89        MEM_CGROUP_STAT_FILE_MAPPED,  /* # of pages charged as file rss */
  90        MEM_CGROUP_STAT_SWAP, /* # of pages, swapped out */
  91        MEM_CGROUP_STAT_NSTATS,
  92};
  93
  94static const char * const mem_cgroup_stat_names[] = {
  95        "cache",
  96        "rss",
  97        "mapped_file",
  98        "swap",
  99};
 100
 101enum mem_cgroup_events_index {
 102        MEM_CGROUP_EVENTS_PGPGIN,       /* # of pages paged in */
 103        MEM_CGROUP_EVENTS_PGPGOUT,      /* # of pages paged out */
 104        MEM_CGROUP_EVENTS_PGFAULT,      /* # of page-faults */
 105        MEM_CGROUP_EVENTS_PGMAJFAULT,   /* # of major page-faults */
 106        MEM_CGROUP_EVENTS_NSTATS,
 107};
 108
 109static const char * const mem_cgroup_events_names[] = {
 110        "pgpgin",
 111        "pgpgout",
 112        "pgfault",
 113        "pgmajfault",
 114};
 115
 116/*
 117 * Per memcg event counter is incremented at every pagein/pageout. With THP,
 118 * it will be incremated by the number of pages. This counter is used for
 119 * for trigger some periodic events. This is straightforward and better
 120 * than using jiffies etc. to handle periodic memcg event.
 121 */
 122enum mem_cgroup_events_target {
 123        MEM_CGROUP_TARGET_THRESH,
 124        MEM_CGROUP_TARGET_SOFTLIMIT,
 125        MEM_CGROUP_TARGET_NUMAINFO,
 126        MEM_CGROUP_NTARGETS,
 127};
 128#define THRESHOLDS_EVENTS_TARGET 128
 129#define SOFTLIMIT_EVENTS_TARGET 1024
 130#define NUMAINFO_EVENTS_TARGET  1024
 131
 132struct mem_cgroup_stat_cpu {
 133        long count[MEM_CGROUP_STAT_NSTATS];
 134        unsigned long events[MEM_CGROUP_EVENTS_NSTATS];
 135        unsigned long nr_page_events;
 136        unsigned long targets[MEM_CGROUP_NTARGETS];
 137};
 138
 139struct mem_cgroup_reclaim_iter {
 140        /* css_id of the last scanned hierarchy member */
 141        int position;
 142        /* scan generation, increased every round-trip */
 143        unsigned int generation;
 144};
 145
 146/*
 147 * per-zone information in memory controller.
 148 */
 149struct mem_cgroup_per_zone {
 150        struct lruvec           lruvec;
 151        unsigned long           lru_size[NR_LRU_LISTS];
 152
 153        struct mem_cgroup_reclaim_iter reclaim_iter[DEF_PRIORITY + 1];
 154
 155        struct rb_node          tree_node;      /* RB tree node */
 156        unsigned long long      usage_in_excess;/* Set to the value by which */
 157                                                /* the soft limit is exceeded*/
 158        bool                    on_tree;
 159        struct mem_cgroup       *memcg;         /* Back pointer, we cannot */
 160                                                /* use container_of        */
 161};
 162
 163struct mem_cgroup_per_node {
 164        struct mem_cgroup_per_zone zoneinfo[MAX_NR_ZONES];
 165};
 166
 167struct mem_cgroup_lru_info {
 168        struct mem_cgroup_per_node *nodeinfo[MAX_NUMNODES];
 169};
 170
 171/*
 172 * Cgroups above their limits are maintained in a RB-Tree, independent of
 173 * their hierarchy representation
 174 */
 175
 176struct mem_cgroup_tree_per_zone {
 177        struct rb_root rb_root;
 178        spinlock_t lock;
 179};
 180
 181struct mem_cgroup_tree_per_node {
 182        struct mem_cgroup_tree_per_zone rb_tree_per_zone[MAX_NR_ZONES];
 183};
 184
 185struct mem_cgroup_tree {
 186        struct mem_cgroup_tree_per_node *rb_tree_per_node[MAX_NUMNODES];
 187};
 188
 189static struct mem_cgroup_tree soft_limit_tree __read_mostly;
 190
 191struct mem_cgroup_threshold {
 192        struct eventfd_ctx *eventfd;
 193        u64 threshold;
 194};
 195
 196/* For threshold */
 197struct mem_cgroup_threshold_ary {
 198        /* An array index points to threshold just below or equal to usage. */
 199        int current_threshold;
 200        /* Size of entries[] */
 201        unsigned int size;
 202        /* Array of thresholds */
 203        struct mem_cgroup_threshold entries[0];
 204};
 205
 206struct mem_cgroup_thresholds {
 207        /* Primary thresholds array */
 208        struct mem_cgroup_threshold_ary *primary;
 209        /*
 210         * Spare threshold array.
 211         * This is needed to make mem_cgroup_unregister_event() "never fail".
 212         * It must be able to store at least primary->size - 1 entries.
 213         */
 214        struct mem_cgroup_threshold_ary *spare;
 215};
 216
 217/* for OOM */
 218struct mem_cgroup_eventfd_list {
 219        struct list_head list;
 220        struct eventfd_ctx *eventfd;
 221};
 222
 223static void mem_cgroup_threshold(struct mem_cgroup *memcg);
 224static void mem_cgroup_oom_notify(struct mem_cgroup *memcg);
 225
 226/*
 227 * The memory controller data structure. The memory controller controls both
 228 * page cache and RSS per cgroup. We would eventually like to provide
 229 * statistics based on the statistics developed by Rik Van Riel for clock-pro,
 230 * to help the administrator determine what knobs to tune.
 231 *
 232 * TODO: Add a water mark for the memory controller. Reclaim will begin when
 233 * we hit the water mark. May be even add a low water mark, such that
 234 * no reclaim occurs from a cgroup at it's low water mark, this is
 235 * a feature that will be implemented much later in the future.
 236 */
 237struct mem_cgroup {
 238        struct cgroup_subsys_state css;
 239        /*
 240         * the counter to account for memory usage
 241         */
 242        struct res_counter res;
 243
 244        union {
 245                /*
 246                 * the counter to account for mem+swap usage.
 247                 */
 248                struct res_counter memsw;
 249
 250                /*
 251                 * rcu_freeing is used only when freeing struct mem_cgroup,
 252                 * so put it into a union to avoid wasting more memory.
 253                 * It must be disjoint from the css field.  It could be
 254                 * in a union with the res field, but res plays a much
 255                 * larger part in mem_cgroup life than memsw, and might
 256                 * be of interest, even at time of free, when debugging.
 257                 * So share rcu_head with the less interesting memsw.
 258                 */
 259                struct rcu_head rcu_freeing;
 260                /*
 261                 * We also need some space for a worker in deferred freeing.
 262                 * By the time we call it, rcu_freeing is no longer in use.
 263                 */
 264                struct work_struct work_freeing;
 265        };
 266
 267        /*
 268         * Per cgroup active and inactive list, similar to the
 269         * per zone LRU lists.
 270         */
 271        struct mem_cgroup_lru_info info;
 272        int last_scanned_node;
 273#if MAX_NUMNODES > 1
 274        nodemask_t      scan_nodes;
 275        atomic_t        numainfo_events;
 276        atomic_t        numainfo_updating;
 277#endif
 278        /*
 279         * Should the accounting and control be hierarchical, per subtree?
 280         */
 281        bool use_hierarchy;
 282
 283        bool            oom_lock;
 284        atomic_t        under_oom;
 285
 286        atomic_t        refcnt;
 287
 288        int     swappiness;
 289        /* OOM-Killer disable */
 290        int             oom_kill_disable;
 291
 292        /* set when res.limit == memsw.limit */
 293        bool            memsw_is_minimum;
 294
 295        /* protect arrays of thresholds */
 296        struct mutex thresholds_lock;
 297
 298        /* thresholds for memory usage. RCU-protected */
 299        struct mem_cgroup_thresholds thresholds;
 300
 301        /* thresholds for mem+swap usage. RCU-protected */
 302        struct mem_cgroup_thresholds memsw_thresholds;
 303
 304        /* For oom notifier event fd */
 305        struct list_head oom_notify;
 306
 307        /*
 308         * Should we move charges of a task when a task is moved into this
 309         * mem_cgroup ? And what type of charges should we move ?
 310         */
 311        unsigned long   move_charge_at_immigrate;
 312        /*
 313         * set > 0 if pages under this cgroup are moving to other cgroup.
 314         */
 315        atomic_t        moving_account;
 316        /* taken only while moving_account > 0 */
 317        spinlock_t      move_lock;
 318        /*
 319         * percpu counter.
 320         */
 321        struct mem_cgroup_stat_cpu __percpu *stat;
 322        /*
 323         * used when a cpu is offlined or other synchronizations
 324         * See mem_cgroup_read_stat().
 325         */
 326        struct mem_cgroup_stat_cpu nocpu_base;
 327        spinlock_t pcp_counter_lock;
 328
 329#ifdef CONFIG_INET
 330        struct tcp_memcontrol tcp_mem;
 331#endif
 332};
 333
 334/* Stuffs for move charges at task migration. */
 335/*
 336 * Types of charges to be moved. "move_charge_at_immitgrate" is treated as a
 337 * left-shifted bitmap of these types.
 338 */
 339enum move_type {
 340        MOVE_CHARGE_TYPE_ANON,  /* private anonymous page and swap of it */
 341        MOVE_CHARGE_TYPE_FILE,  /* file page(including tmpfs) and swap of it */
 342        NR_MOVE_TYPE,
 343};
 344
 345/* "mc" and its members are protected by cgroup_mutex */
 346static struct move_charge_struct {
 347        spinlock_t        lock; /* for from, to */
 348        struct mem_cgroup *from;
 349        struct mem_cgroup *to;
 350        unsigned long precharge;
 351        unsigned long moved_charge;
 352        unsigned long moved_swap;
 353        struct task_struct *moving_task;        /* a task moving charges */
 354        wait_queue_head_t waitq;                /* a waitq for other context */
 355} mc = {
 356        .lock = __SPIN_LOCK_UNLOCKED(mc.lock),
 357        .waitq = __WAIT_QUEUE_HEAD_INITIALIZER(mc.waitq),
 358};
 359
 360static bool move_anon(void)
 361{
 362        return test_bit(MOVE_CHARGE_TYPE_ANON,
 363                                        &mc.to->move_charge_at_immigrate);
 364}
 365
 366static bool move_file(void)
 367{
 368        return test_bit(MOVE_CHARGE_TYPE_FILE,
 369                                        &mc.to->move_charge_at_immigrate);
 370}
 371
 372/*
 373 * Maximum loops in mem_cgroup_hierarchical_reclaim(), used for soft
 374 * limit reclaim to prevent infinite loops, if they ever occur.
 375 */
 376#define MEM_CGROUP_MAX_RECLAIM_LOOPS            100
 377#define MEM_CGROUP_MAX_SOFT_LIMIT_RECLAIM_LOOPS 2
 378
 379enum charge_type {
 380        MEM_CGROUP_CHARGE_TYPE_CACHE = 0,
 381        MEM_CGROUP_CHARGE_TYPE_ANON,
 382        MEM_CGROUP_CHARGE_TYPE_SWAPOUT, /* for accounting swapcache */
 383        MEM_CGROUP_CHARGE_TYPE_DROP,    /* a page was unused swap cache */
 384        NR_CHARGE_TYPE,
 385};
 386
 387/* for encoding cft->private value on file */
 388#define _MEM                    (0)
 389#define _MEMSWAP                (1)
 390#define _OOM_TYPE               (2)
 391#define MEMFILE_PRIVATE(x, val) ((x) << 16 | (val))
 392#define MEMFILE_TYPE(val)       ((val) >> 16 & 0xffff)
 393#define MEMFILE_ATTR(val)       ((val) & 0xffff)
 394/* Used for OOM nofiier */
 395#define OOM_CONTROL             (0)
 396
 397/*
 398 * Reclaim flags for mem_cgroup_hierarchical_reclaim
 399 */
 400#define MEM_CGROUP_RECLAIM_NOSWAP_BIT   0x0
 401#define MEM_CGROUP_RECLAIM_NOSWAP       (1 << MEM_CGROUP_RECLAIM_NOSWAP_BIT)
 402#define MEM_CGROUP_RECLAIM_SHRINK_BIT   0x1
 403#define MEM_CGROUP_RECLAIM_SHRINK       (1 << MEM_CGROUP_RECLAIM_SHRINK_BIT)
 404
 405static void mem_cgroup_get(struct mem_cgroup *memcg);
 406 405static void mem_cgroup_mm_cnameu89" class="line"5mem_cgroup life than memsw, and90="+code=thresholds_lock" class="4emcontrol4c#L307" id="L307" class=4line"408ntrol.c#L365" id="L365" clin"L307"em_cgrput" clin"L30"+code=thresholds_lock" class="4e9control4c 398 406 405static void  +coef="mm/me" n_ineontrol.c#L406" id="L406" cl"sref">mem_cgroup {
       (1 &l09      4  * m4m_cgro"mm/memcontrol.c#L379" id="L4mcontrol.4#L310" id="L310" class="4ine" 4ame="L310"> 31 id="L367" class="lineL379a310r_ofa> {
 {
from;
 391 238">mem_cgroup_mm_cnameu89" clas unsigned4long   move_4emcontrol4c#L312" id="L312" class=4line"41trol.c#L332" id="L332" class="li4 class="c4mment">         * set &g4; 0 i4 pages under this cgroup ares="Wrihref=them heremm/memcontexpos57" id=cg"mm/memin10r layou_queue_head_t atomic_t     4  e/net/sock.href">atomfn filnet/sock.hf="+" clc#L332" id="L332" class="li4 ="line"5m> 316        e/net/ip.href">atomfn filnet/ip.hf="+" clc#L332" id="L332" class="li4 mcontrol4_t" class="sref">spinloc4_tMEM_CGROUP_MAX_SOFT4emcontrol4c#L318" id="L318" class=4line"419ntrol.c#L365" id="L365" class="line" name="L365"> 365
memcg);
 406 405static void mem_cgroup_mm_cnameu89" clas" id="L314" class="line" name="L314"> 314__percpuifef="+code=x" clas href="mm/msc
 406 405static void      4   * 42"> 263           cg_f="m="line" name="L3cg_f="m=static void mem_cgroup_mm_cnameu89" clas"control.4e" name="L324"> 324<4pan c4_cgroup * 3222222222 void               sk_f="mef="+code=__SPIsk_f="mUP_R69              f="m=="line" name="L406"> 4f="m=="line"sref">mem_cgroup_mm_cnameu89" clas"="line"5mass="sref">mem_cgroup_st4t_cpu42="+code=thresholds_lock" class="4k_t" clas4="sref">spinlock_t <4 href42"> 247 pcp_c4unter_lock;
 329<4a>#if4 statistics developed by Rik eeeeeeeeeeeeeeeemef="cessf">wait_.gging. 232tc4_memc4help the administrator determeeeeeeeeeeeeeeeemememcourr 262tc4_mem;
 231 262#endif
 262 332};
 262 334  3222222222ifef="+code=x" clasdref="+code=__SPIskUP_R69              sk_"lipef="+code=__SPIsk_"lipMFILE_ef="+code=move_anon" class="4mment"> *4Types of charges to be m4ved. 437e="L325"> 322222222222222222 void 
memcg);
               code=mem_cgrput" class="sref"">mem_cgroup_mm_cnameu89" clasclass="li4e" name="L337"> 337<4pan c43"> 247 404
               code=mem_cgrput" class="sref">mem_cgroup_mm_cnameu89" clascf">pcp_c4ontrol.c#L338" id="L338"4class43_CHARGE_TYPE_FILE" class="sre id="L>mem_cgroup_mm_cnameu89" clas="L339" c4ass="line" name="L339"> 439move_4MOVE_CHAR4E_TYPE_ANON,  /* file p22222222 void a hrontro">mem_cgroup_mm_cnameu89" clasclass="li4e" name="L342"> 342 4     44_CHARGE_TYPE_ANON" cl>               code=mem_cgrput" class="sref
mem_cgroup_mm_cnameu89" classref">NR_4OVE_TYPE,
 263           cg_f="m="line" name="L3cg_f="m=stati              sk_f="mef="+code=__SPIsk_f="mUP_R69              f="m=="line" name="L406"> 4f="m=="line"srefo/a>
mem_cgroup_mm_cnameu89" clase" name="4343"> 343};
memcg);
/* &quo4;mc&q44me="L325"> 322222222222222222 void  404
mem_cgroup_mm_cnameu89" clasement"> *4static struct  322222222222222222 void               sk_"lipef="+code=__SPIsk_"lipMFILimem_cgroup_mm_cnameu89" clas>        4a href="+code=lock" clas4="sre47"> 247move_4Mf">pcp_c4+code=mem_cgroup" class=4sref"44_CHARGE_TYPE_FILE" cl void una hrontro">mem_cgroup_mm_cnameu89" clasruct mem_cgroupmmigrate" class="sref">move_4ine" name4"L350"> 350        u4signe4 long mmigrate" class="sref">move_4iCHARGE_T4> 351        unsigne4 long4freeingvoid mem_cgroup_mm_cnameu89" clasrlass="li4352"> 352        uns4gned 45trol.c#L332" id="L332" class="li4_task" cl4ss="sref">moving_taskwaitq;          4     4span cef="+code=move_anon" class="4trol.c#L345" id="L355" class="line4 name4"L355"> 355
 3222222222l.c#L406" id="L406" class="line" name="L406"> 406 405static void ( 247              sk_"lipef="+code=__SPIsk_"lipMFIL69               code=mem_cgrput" class="sref">mem_cgroup_mm_cnameu89" claslass="sre4">waitq),
 258               code=mem_cgrput" class="sref
              sk_"lipef="+code=__SPIsk_"lipMFIL69               code=mem_cgrput" class="sref>mem_cgroup_mm_cnameu89" clase" name="4358"> 358};
 memcg);
mem_cgroup_mm_cnameu89" clasa href="+4ode=bool" class="sref">b4olmem_cgroupmmigrate" class="sref">move_4ref">move4anon(void)
move_4ss="sref"4test_bit(to-> 328
           cg_f="m="line" name="L3cg_f="m=static void  4330"f="m=="line"ontrol.c#L406" id="L406" class="line" name="L406"> 406 405static void  364}
b4olmemcg);
               code=mem_cgrput" class="sref""f="+code=move_anon" class="4aITIALIZE4file(void)
 247to-> 330mem_cgroup_mm_cnameu89" clasharge_at_4mmigrate);
move_4ne" name=4L370"> 370}
 4330"f="m=="line"ontr">mem_cgroup_mm_cnameu89" clasef="mm/me4control.c#L372" id="L3724 clas4code=laa> 
  * Maximu4 loop4 in meaa> 
  * l4mit r47cgroup *
 328

 L290rmtsc 406 405static void ,
 330 379<4a>enu48 mem_cgroup_mm_cnameu89" clas     MEM_CGRp _key_slow_de="mm/memcontrol.p _key_slow_de=ontroYPE_FILE,

mem_cgroup_mm_cnameu89" clas/a>      4 move_4ref">MEM_4GROUP_CHARGE_TYPE_SWAPOU4,48ode=laalsemigrate" class="sref">move_4ra>, 4   * L290rmtsc 406 405static void  384     4  NR_CH4RGE_TYPE,
move_4rf="+code4385"> 385};
  387MEM_CGROUP_MAX_SOFT4"line" na4e="L388"> 388#define4 * Lrain_all_stc 406 405static void mem_cgroup_mm_cnameu89" clase" name="4389"> 389#define  390#define       4ef="+code=x" class="sref4>x 406 405static void val)       ((<4 href4"+codeef="+code=move_anon" class="4ef="+code4val" class="sref">val 263 394move_4name="L394"> 395#define OOM_C4NTROL4            (0)
           cgref">mem_cgroup {
 +coef="mm/mineontrol.c#L406" id="L406" class="line" name="L406"> 406 405static void  398 263 238>mem_cgroup_mm_cnameu89" cla5f="mm/mem5ontrol.c#L399" id="L399"5class50_at_immigrate" class="sref">move_5e  406 405static void 
mem_cgroup_mm_cnameu89" cla5f6RECLAIM5S> 395#define me506d="L244" cla="L="L326" class="lzi222
mem_cgroup_mm_cnameu89" cla5f7RECLAIM5S           (0)
mem_cgroup_mm_cnameu89" cla5f9control5c 398move_509      5  * m51a>          * set &g5; 0 i51"> 263move_5 href="+c5"sref">atomic_t     5  OOM_C5 ="line"55> 316        spinloc5_t 3152 
mem_cgroup_mm_cnameu89" cla5mcontrol.5#L320" id="L320" class="5ine" 521mem_cgroup_mm_cnameu89" cla5 __pemem_cgroup_mm_cnameu89" cla5     5   * 52_at_immigrate" class="sref">move_5"control.5e" name="L324"> 324<5pan c5_cgroup * * *mem_cgroup_st5t_cpu52="+co"L326" class="l__ href="mm/minsert_exceedi222
 406 405static void spinlock_t <5 href52"> 247 *MOVE_embers are protected byhref="mm/mtreemeer_zo307"em_cgrput" clyhref="mm/mtreemeer_zo30staticare protected byctz7"em_cgrput" clyctzsref,p * 329<5a>#if53 mnew_us   ein_excene" name="L238"> new_us   ein_excenestat"mm/memcontrol.c#L329" id="L5de=tcp_me5control" class="sref">tc5_memc53tc5_mem;
/* file pembers are protected brbmncla7"em_cgrput" clrbmnclaontr *c void               rbmroo">memcg);
mem_cgroup_mm_cnameu89" cla5"mcontrol5331#endif
mem_cgroup_mm_cnameu89" cla5"class="c5332"> 332};
mem_cgroup_mm_cnameu89" cla5"control.5334"> 334 * 355              on_tree7"em_cgrput" clon_treestat"mm/memcontrol.c#L329" id="L5d="line"55Types of charges to be m5ved. 537e="L325"> 3222222222 id="L>mem_cgroup_mm_cnameu89" cla5class="li5e" name="L337"> 337<5pan c53class="sref">MEM_CGROUP_MAX_SOFT5cf">pcp_c5ontrol.c#L338" id="L338"5class53_CHARGE_TYPE_="+code=x" clas z7"em_cgrput" clyzsref69              us   ein_excene" name="L238"> us   ein_excenestat
 new_us   ein_excenestat>mem_cgroup_mm_cnameu89" cla5="L339" c5ass="line" name="L339"> 539              us   ein_excene" name="L238"> us   ein_excenestat"mm/memcontrol.c#L329" id="L5MOVE_CHAR5E_TYPE_ANON,   3222222222 id="L>mem_cgroup_mm_cnameu89" cla5_CHARGE_T5PE_FILE,  /* file pwhm/me(c void  342 5     54_CHARGE_TYPE_ANON" cl>                r 263           yzmncla7"em_cgrput" clyzmnclasref
 343};
mem_cgroup_mm_cnameu89" cla55/* &quo5;mc&q54me="L325"> 3222222222ifef="+code=x" clas z7"em_cgrput" clyzsref69              us   ein_excene" name="L238"> us   ein_excenestat
" name="L403"> 403              us   ein_excene" name="L238"> us   ein_excenestat"mm/memcontrol.c#L329" id="L5M="line"55static struct  322222222222222222 void memcg);
mem_cgroup_mm_cnameu89" cla5_lass="li5a href="+code=lock" clas5="sre57"> 247 396
pcp_c5+code=mem_cgroup" class=5sref"54RSS per cgroup. We would eveeeeeeeeeeeeeeeeemeWe="at"mm/mt emcont> 3 f="mm/s that ere ol.c#thei id="L373" class="line" name="L373"> 3735ruct  3735rOVE_CHAR5"L350"> 350        u5signe55elp the administrator determeeeeeeeeeeeeeeeemeue_head_t /* file p22222222alse2ifef="+code=x" clas z7"em_cgrput" clyzsref69              us   ein_excene" name="L238"> us   ein_excenestat
"              us   ein_excene" name="L238"> us   ein_excenestat"mm/memcontrol.c#L329" id="L5rlass="li5352"> 352        uns5gned 55_CHARGE_TYPE_ANON" cl22222222 void memcg);
mem_cgroup_mm_cnameu89" cla5_task" cl5ss="sref">moving_task 263move_5 class="s5ef">waitq;          5     55id="L244" cla>              rbmlinkmncla7"em_cgrput" clrbmlinkmnclaontroYPE_FILE,
              treemncla7"em_cgrput" cltreemnclastat,d"L326" class="l  r 355              rbminsert_color7"em_cgrput" clrbminsert_colorontroYPE_FILE,
              treemncla7"em_cgrput" cltreemnclastat,dYPE_FILE,
              rbmroo">memcg);
mem_cgroup_mm_cnameu89" cla5_="line"55ED( 32="+code=x" clas z7"em_cgrput" clyzsref69              on_tree7"em_cgrput" clon_treestat
mem_cgroup_mm_cnameu89" cla5NITIALIZE5( 24mmigrate" class="sref">move_5 f">pcp_c5">waitq),
 358};
  * *b5olme"L326" class="l__ href="mm/mremol._exceedi222
 406 405static void move5anon(void)
/* file p222222222222222222222222embers are protected byhref="mm/meer_zo307"em_cgrput" clyhref="mm/meer_zo30staticare protected byz7"em_cgrput" clyzsref,p *(to->              on_tree7"em_cgrput" clon_treestat"mm/memcontrol.c#L329" id="L5hrol.c#L35L364"> 364}
 3222222222 id="L>mem_cgroup_mm_cnameu89" cla5a href="+5ode=bool" class="sref">b5ol 32="+code=x" clasrbm,
              treemncla7"em_cgrput" cltreemnclastat,dYPE_FILE,
              rbmroo">memcg);
mem_cgroup_mm_cnameu89" cla5aITIALIZE5file(void)
 247              on_tree7"em_cgrput" clon_treestat
mem_cgroup_mm_cnameu89" cla5eass="sre5test_bit(move_5ref">to->);
 370}

 406 405static void  * * Maximu5 loop57"> 263 * l5mit r57pan cef="+code=move_anon" class="5f="mm/mem5ontrol.c#L375" id="L375"5class57L355"> 355              spin>a href="+code=__SPIspin>a hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla5ef="+code5MEM_CGROUP_MAX_RECLAIM_L5OPS" 577e="L325"> 32="+code=x" clas__ href="mm/mremol._exceedi222
mem_cgroup_mm_cnameu89" cla5eITIALIZE5P_MAX_SOFT_LIMIT_RECLAIM5LOOPS57"> 247una href="+code=__SPIspin>una hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla5eass="sre5AIM_LOOPS 2
move_579" class5"line" name="L379"> 379<5a>enu58a>  * 406 405static void MEM_5GROUP_CHARGE_TYPE_SWAPOU5,58+codeef="+code=move_anon" class="5ra>, 5   263mexcene" name="L238"> excenestat>mem_cgroup_mm_cnameu89" cla5s="line" 5ame="L384"> 384     5  mem_cgroup_mm_cnameu89" cla5s="mm/mem5RGE_TYPE,
mem_cgroup_mm_cnameu89" cla5sf="+code5385"> 385};

mem_cgroup_mm_cnameu89" cla5e" name="5387"> 387mem_cgroup_mm_cnameu89" cla5"line" na5e="L388"> 388#define5mem_cgroup_mm_cnameu89" cla5e" name="5389"> 389#define  390#define  396
      5ef="+code=x" class="sref5>x 231 262val)       ((<5 href59 for the memory controller. eeeeeeee* because#thei iev 262val  3959id="L244" clam/me(" ="+code=x" clas/code=mem_cgrput" class="sref" ="+code=x" clas/code=mem_cgrput" class="sref
 4  r 395#define  3222222222 void mem_cgroup_mm_cnameu89" cla5NTROL5            (0)
 3222222222 class="sref">mexcene" name="L238"> excenestat
 res_c ressref">mem_cgroup_mm_cnameu89" cla5N" name="5control.c#L397" id="L3975 clas59"> 247 396
 262 3 i iol.c#itsid="Llaim(lass="line" name="L262"> 262 /* file p22222222ifef="+code=x" clasexcene" name="L238"> excenestat
||
              on_tree7"em_cgrput" clon_treestat"_ef="+code=move_anon" class="6e a hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla6t;<  263               on_tree7"em_cgrput" clon_treestat"mm/memcontrol.c#L329" id="L6f6RECLAIM6S> 395#define me60me="L325"> 32222222222222222222222222 void 
mem_cgroup_mm_cnameu89" cla6f7RECLAIM6S           (0)
 322222222222222222 .c#L396" id="L396" class="line" name="L396"> 396
 262 262      6  * m61statistics developed by Rik eeeeeeeeeeeeeeeeeeeeeeee*eue_head_t  322222222222222222 void 
 excenestat">mem_cgroup_mm_cnameu89" cla6 unsigned6long   /* file p2222222222222222="+code=x" classpin>una href="+code=__SPIspin>una hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla6emcontrol6c#L312" id="L312" class=6line"61_CHARGE_TYPE_ANON" clmmigrate" class="sref">move_6 class="c6mment">         * set &g6; 0 i61"> 263move_6mcontrol.6#L314" id="L314" class="6ine" 61/a>move_6 href="+c6"sref">atomic_t     6  OOM_C6 ="line"56> 316         +coef="mm/mremol._e" n_creeeontrol.c#L406" id="L406" class="line" name="L406"> 406 405static void spinloc6_tmem_cgroup_mm_cnameu89" cla6" id="L316" class="line" name="L316"> 3162 mem_cgroup_mm_cnameu89" cla6mcontrol.6#L320" id="L320" class="6ine" 621mem_cgroup_mm_cnameu89" cla6 __pemem_cgroup_mm_cnameu89" cla6     6   * 62"> 263 403 324<6pan c62id="L244" cla* file p22222222 void mem_cgroup_mm_cnameu89" cla6mcontrol.6#L325" id="L325" class="6ine" 62me="L325"> 322222222222222222 void mem_cgroup_mm_cnameu89" cla6m="line"56ass="sref">mem_cgroup_st6t_cpu627e="L325"> 322222222222222222 void 
mem_cgroup_mm_cnameu89" cla6mmcontrol6="sref">spinlock_t <6 href62"> 247move_6mmcontrol6unter_lock;
move_629" class6"line" name="L329"> 329<6a>#if63_at_immigrate" class="sref">move_6de=tcp_me6control" class="sref">tc6_memc63ntrol.c#L370" id="L370" class="l6"sref">tc6_mem;
#endif
 332};
 334memcg);
mem_cgroup_mm_cnameu89" cla6d="line"56Types of charges to be m6ved. 63="+code=thresholds_lock" class="6class="li6e" name="L337"> 337<6pan c63classgvoid  639memcg);
memcg);
,
              rbmroo">memcg);
mem_cgroup_mm_cnameu89" cla6MOVE_CHAR6E_TYPE_ANON,   32=fef!ct memcg);
/* file p22222222gotoref="+code=memcgLo307"em_cgrput" cldo30stat>22222222222222 .c#L333" id="L333" classNothingmm/mre33"im e" ne*eue_head_t  342 6     64trol.c#L332" id="L332" class="li6_class="c6OVE_TYPE,
 263memcg);
 *mem_cgroup_mm_cnameu89" cla6e" name="6343"> 343};
 396
/* &quo6;mc&q64me="Lthe memory controller. eeeeeeee* Remol.#g. 396
static struct  3736_lass="li6a href="+code=lock" clas6="sre64ntrolhe administrator determeeeeeeee* position in g. 262pcp_c6+code=mem_cgroup" class=6sref"64RSS per cgroup. We would eveeeeeeeee*eue_head_t               +code=mem_cgrput" class="sref,p="+code=x" clas z7"em_cgrput" clyzsref,p="+code=x" clas ctz7"em_cgrput" clyctzsrefE>mem_cgroup_mm_cnameu89" cla6rOVE_CHAR6"L350"> 350        u6signe651e="L325"> 32=fef!ct  res_c              +code=mem_cgrput" class="sref69              res" name="L238"> ressref" ||mem_cgroup_mm_cnameu89" cla6rCHARGE_T6> 351        unsigne6 long65nt">/* file p22222222!ct memcg);
,
              +code=mem_cgrput" class="sref69              ine" name="L238"> 238""f="+code=move_anon" class="6rlass="li6352"> 352        uns6gned 65_CHARGE_TYPE_ANON" clgotoref="+code=memcgresry7"em_cgrput" clresryontr>mem_cgroup_mm_cnameu89" cla6rclass="c6ss="sref">moving_task 26ef="+code=memcgLo307"em_cgrput" cldo30stat:de=thresholds_lock" class="6 class="s6ef">waitq;          6     65id="L244" cla id="L367" class="lineyz7"em_cgrput" clyzsref>mem_cgroup_mm_cnameu89" cla6_move_6_="line"56ED( 24d its members are protected byhref="mm/meer_zo307"em_cgrput" clyhref="mm/meer_zo30static href="+code=thresholds" cl6 f">pcp_c6">waitq),
 358};
 b6olmem_cgroup_mm_cnameu89" cla6ref">move6anon(void)
(a hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla6ref">to-> 263mem_cgroup_mm_cnameu89" cla6harge_at_6mmigrate);
una href="+code=__SPIspin>una hrontroYPE_FILE,
              a href="+code=__SPIa hrontrE>mem_cgroup_mm_cnameu89" cla6hrol.c#L36L364"> 364}
 32 id="L367" class="lineyz7"em_cgrput" clyzsref>mem_cgroup_mm_cnameu89" cla6a href="+6ode=bool" class="sref">b6olmove_6aITIALIZE6file(void)
MEM_CGROUP_MAX_SOFT6eass="sre6test_bit( 396
to-> 262);
 396
move6L370"> 370}
 231<* Both ofmvmd it[] andmeercpu_c 396
 396
to * Maximu6 loop67r mark. May be even add a lo*2 iadingmcost andmerecision ofmvalue. Then, we may=havema chance m/mimpleby Rs="line" name="L396"> 396
 * l6mit r67pan ck. May be even add a lo*2ameeriodic synchronizion ofmc 262 396
 396
 3ory us   )by=> 3ory f="mm/ andmhee_always_2 iquires exars value becauses="line" name="L396"> 396
 396
 379<6a>enu68statistics developed by Rik * havemm/mvisit all on="L3 cpus andmmake sum. So,sm/mencw, unnecessarys="line" name="L396"> 396
 396
move6  231<*s="line" name="L396"> 396
,68 for the memory controller. * If g. 396
to, 6   396
 384     6   396
,
 396
 385};
  387 24d its marge" class="sref">m href="mm/mread_d it22

 388#define6MOVE_ 0nus" class="sref">m href="mm/md it_index22
midx22
 389#define  390#define mval22
mem_cgroup_mm_cnameu89" cla6"a>      6ef="+code=x" class="sref6>x/* file pi"L="L326" class="lcpu" name="L238"> 2pusref>mem_cgroup_mm_cnameu89" cla6l" class=6sref">val)       ((<6 href69trol.c#L332" id="L332" class="li6la>val 263 get_on="L3_cpusontroE>mem_cgroup_mm_cnameu89" cla6e="line" 6" class="line" name="L396"> 3969id="L244" claare protected bfor_eachmon="L3_cpu" name="L238"> for_eachmon="L3_cpuontro="+code=x" clascpu" name="L238"> 2pusref"mm/memcontrol.c#L329" id="L6erol.c#L36"> 395#define  3222222222 void   er_cpuontro="+code=x" clas code=mem_cgrput" class="sref69              d it22
              i 2 2pusref">mem_cgroup_mm_cnameu89" cla6e href="+6            (0)
 CONFIG_HOTPLUG_CPUrol.c#L332" id="L332" class="li6l" name="6control.c#L397" id="L3976 clas69"> 247a href="+code=__SPIspin>a hrontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla6eass="sre6> 398
 2una href="+code=__SPIspin>una hrontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla7e /* file p>              put_on="L3_cpus" name="L238"> put_on="L3_cpusontroE>mem_cgroup_mm_cnameu89" cla7e valmove_7t5<  395#define me70cgroup *m href="mm/mdwa/md itssts s22

 32222222222222222222222222222222222are protected bbool22
mcharge" name="L238"> 2hargesref"mm/memcontrol.c#L329" id="L7emcontrol7c#L307" id="L307" class=7line"70classef="+code=move_anon" class="7f9control7c 398 2hargesref" ? 1 : -1>mem_cgroup_mm_cnameu89" cla709      7  * m71num 
 2 MEM_CGROUP_STAT_SWAPsref],p="+code=x" clasval22
mem_cgroup_mm_cnameu89" cla7mcontrol.7#L310" id="L310" class="7ine" 711e="Lmmigrate" class="sref">move_7 unsigned7long    *=moved_charge" class="sref">m href="mm/mread_ev +coef="mm/mread_ev
         * set &g7; 0 i71"> 263m href="mm/mev
midx22
atomic_t     7   32=moved_charge" class="sref">mval22
mem_cgroup_mm_cnameu89" cla7 ="line"57> 316         2pusref>mem_cgroup_mm_cnameu89" cla7 mcontrol7_t" class="sref">spinloc7_tMEM_CGROUP_MAX_SOFT7emcontrol7c#L318" id="L318" class=7line"71_CHARGE_TYPE_="+code=x" clasfor_eachmon="L3_cpu" name="L238"> for_eachmon="L3_cpuontro="+code=x" clascpu" name="L238"> 2pusref"mm/memcontrol.c#L329" id="L7" id="L317" class="line" name="L317"> 3172 
  er_cpuontro="+code=x" clas code=mem_cgrput" class="sref69              d it22
              ev ev 2pusref">mem_cgroup_mm_cnameu89" cla7mcontrol.7#L320" id="L320" class="7ine" 721 CONFIG_HOTPLUG_CPUrol.c#L332" id="L332" class="li7 /* file p>              spin>a href="+code=__SPIspin>a hrontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla7
 ev     7   * 72"> 263una href="+code=__SPIspin>una hrontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla7"control.7e" name="L324"> 324<7pan c72id="L#endifmem_cgroup_mm_cnameu89" cla7mcontrol.7#L325" id="L325" class="7ine" 72me="L325"> 32 id="L367" class="lineval22
mem_cgroup_mm_cnameu89" cla7m="line"57ass="sref">mem_cgroup_st7t_cpu727e="Lmmigrate" class="sref">move_7mmcontrol7="sref">spinlock_t <7 href72class="sref">MEM_CGROUP_MAX_SOFT7mmcontrol7unter_lock;
 *m href="mm/m2hargemd itssts s22

 329<7a>#if73 manon22
tc7_memc73ntrolef="+code=move_anon" class="7"sref">tc7_mem;
/* file p>              preempt_disabla7"em_cgrput" clpreempt_disablaontroE>mem_cgroup_mm_cnameu89" cla7"mcontrol7331#endif
 332};
 263 396
 334 3/tmpfe i s="line" name="L396"> 396
 396
 337<7pan c738ntrol.c#L266ifef="+code=x" clasanon22

 2 MEM_CGROUP_STAT_RSSsref],mm/memcontrol.c#L329" id="L7="L339" c7ass="line" name="L339"> 739mem_cgroup_mm_cnameu89" cla7MOVE_CHAR7E_TYPE_ANON,   32alsemem_cgroup_mm_cnameu89" cla7Msref">tc7PE_FILE,  /* file p22222222="+code=x" clas__g.is_cpu_ad222
 2 MEM_CGROUP_STAT_CACHEsref],mm/memcontrol.c#L329" id="L7=mcontrol7e" name="L342"> 342 7     74_CHARGE_TYPE_ANON" cl2222222222222222"L326" class="lir_    s22
mem_cgroup_mm_cnameu89" cla7Mclass="c7OVE_TYPE,
 26mem_cgroup_mm_cnameu89" cla7Mcontrol.7343"> 343};
 /* &quo7;mc&q746ntrol.c#L266ifef="+code=x" clasir_    s22
static struct  3222222222 class="sref">m__g.is_cpu_inc22
 ev MEM_CGROUP_EVENTS_PGPGINsref]">mem_cgroup_mm_cnameu89" cla7Mlass="li7a href="+code=lock" clas7="sre748e="L325"> 32alse_ef="+code=move_anon" class="7Mf">pcp_c7+code=mem_cgroup" class=7sref"74_CHARGE_TYPE_FILE" cl="+code=x" clas__g.is_cpu_inc22
 ev MEM_CGROUP_EVENTS_PGPGOUTsref]">mem_cgroup_mm_cnameu89" cla7ruct 

  350        u7signe751e="L325"> 32mmigrate" class="sref">move_7rCHARGE_T7> 351        unsigne7 long75>__pemem_cgroup_mm_cnameu89" cla7rlass="li7352"> 352        uns7gned 75_CHARGE_TYPE_are protected b__g.is_cpu_ad222
 ir_    _evmem_cgroup_mm_cnameu89" cla7rclass="c7ss="sref">moving_task 26mem_cgroup_mm_cnameu89" cla7 class="s7ef">waitq;          7     75id="L244" claare protected bpreempt_enabla7"em_cgrput" clpreempt_enablaontroE>mem_cgroup_mm_cnameu89" cla7_move_7_="line"57ED( 24=moved_chargede=thresholds_lock" class="7Nf">pcp_c7">waitq),



mlru_lis">memcg);
mlru>memcg);
 358};
 b7olmem_cgroup_mm_cnameu89" cla7ref">move7anon(void)
( 2

mem_cgroup_mm_cnameu89" cla7ref">to-> 263              aru_size22
);
move_7hrol.c#L37L364"> 364}
OOM_C7a href="+7ode=bool" class="sref">b7ol

(to->mem_cgroup_mm_cnameu89" cla7ref">move7L370"> 370}
/* file p0nus" class="sref">mlru_lis">memcg);
mlru>memcg);
mem_cgroup_mm_cnameu89" cla7rs="sref"7control.c#L372" id="L3727 clas77_CHARGE_TYPE_=moved_charge" class="sref">mre">memcg);
mem_cgroup_mm_cnameu89" cla7ref">to * Maximu7 loop77"> 26mem_cgroup_mm_cnameu89" cla7rarge_at_7pan class="comment"> * l7mit r77id="L244" claare protected byz7"em_cgrput" clyzsref
mem_cgroup_mm_cnameu89" cla7hrol.c#L37ontrol.c#L375" id="L375"7class77=OOM_CONTROL" class="sref">OOM_C7r href="+7MEM_CGROUP_MAX_RECLAIM_L7OPS" 777d="L244" claare protected bfor_eachmlru>memcg);
memcg);
 247 BITontro="+code=x" claslru>memcg);
 2
mre">memcg);
              aru_size22
 379<7a>enu78 move_77arge_at_7ef="+code=MEM_CGROUP_CHA7GE_TY781memcg);
mem_cgroup_mm_cnameu89" cla77ef">move7 move_77s="sref"7GROUP_CHARGE_TYPE_SWAPOU7,78trol.c#L332" id="L332" class="li77ef">to, 7   384     7  

 322222222222222222i"L="L326" class="lii222
 385};
 387 247-> 263="+code=x" clastotal22
mem_cgroup_mm_cnameu89" cla7eass="sre7e="L388"> 388#define7 389#define  390#define 
 403
      7ef="+code=x" class="sref7>x/* file p22222222="+code=x" clastotal22

val)       ((<7 href79_CHARGE_TYPE_ANON" cl2222222222222222* file p22222222="+code=x" clasii222
mem_cgroup_mm_cnameu89" cla7eef">toval 26mem_cgroup_mm_cnameu89" cla7e="line" 7" class="line" name="L397"> 3979id="L244" cla id="L367" class="linetotal22
mem_cgroup_mm_cnameu89" cla7erol.c#L37"> 395#define move_7e href="+7            (0)
 24d its m=moved_charge" class="sref">m href="mm/mir_lru_    s22

 398/* file p>              u>-> 263="+code=x" clastotal22
mem_cgroup_mm_cnameu89" cla8e val 263



mem_cgroup_mm_cnameu89" cla8f6RECLAIM8S> 395#define me80me="L325"> 32 id="L367" class="linetotal22
mem_cgroup_mm_cnameu89" cla8f7RECLAIM8S           (0)
move_8emcontrol8c#L307" id="L307" class=8line"80class="sref">MEM_CGROUP_MAX_SOFT8f9control8c 398mmhref="mm/mev

      8  * m81 m href="mm/mev
 263="+code=x" clastarge(22
 26"mm/memcontrol.c#L329" id="L8mcontrol.8#L310" id="L310" class="8ine" 81ntrolef="+code=move_anon" class="8 unsigned8long   /* file p=moved_charge" class="sref">mval22
         * set &g8; 0 i81"> 263

 ir_    _evmem_cgroup_mm_cnameu89" cla8mcontrol.8#L314" id="L314" class="8ine" 81id="L244" claare protected biex(22

 targe(eontr["L326" class="ltarge(22
 26]">mem_cgroup_mm_cnameu89" cla8 href="+c8"sref">atomic_t     8   32 .c#L396" id="L396" clas m" netime_after() inejiffies.hp*eue_head_t  316        spinloc8_t 247 403 3182 


mem_cgroup_mm_cnameu89" cla8mcontrol.8#L320" id="L320" class="8ine" 821mem_cgroup_mm_cnameu89" cla8munsigned8ef="+code=__percpu" clas8="sre82nt">/* file p22222222caseme="L403"> 403 MEM_CGROUP_TARGET_SOFTLIMITCHAR:de=thresholds_lock" class="8"mcontrol8c#L322" id="L322" class=8line"82_CHARGE_TYPE_ANON" cl22222222are protected biex(22


mem_cgroup_mm_cnameu89" cla8mclass="c8an class="comment">     8   * 82"> 263mem_cgroup_mm_cnameu89" cla8mcontrol.8e" name="L324"> 324<8pan c82id="L244" cla* file pcaseme="L403"> 403 MEM_CGROUP_TARGET_NUMAINFOCHAR:de=thresholds_lock" class="8"href="+c8#L325" id="L325" class="8ine" 82me="L325"> 322222222222222222are protected biex(22


mem_cgroup_mm_cnameu89" cla8m="line"58ass="sref">mem_cgroup_st8t_cpu827e="L325"> 322222222222222222break>mem_cgroup_mm_cnameu89" cla8mmcontrol8="sref">spinlock_t <8 href82"> 247;
 329<8a>#if83 move_8de=tcp_me8control" class="sref">tc8_memc831
 targe(eontr["L326" class="ltarge(22
 26],d"L326" class="liex(22
mem_cgroup_mm_cnameu89" cla8"sref">tc8_mem;
/* file p22222222 id="L367" class="linetrue22
mem_cgroup_mm_cnameu89" cla8"mcontrol8331#endif
move_8dclass="c8332"> 332};
 263mem_cgroup_mm_cnameu89" cla8"control.8334"> 334move_8"control.8control.c#L335" id="L3358 clas83=OOM_CONTROL" class="sref">OOM_C8d="line"58Types of charges to be m8ved. 837e="Lthe memory controller.ass="line" name="L396"> 396
 337<8pan c83ntrolhe administrator determmeCheck ev 262 262 839  *m hrcg_check_ev +cocg_check_ev
tc8PE_FILE,  /ef="+code=move_anon" class="8=mcontrol8e" name="L342"> 342 8     84_CHARGE_TYPE_are protected bpreempt_disabla7"em_cgrput" clpreempt_disablaontroE>mem_cgroup_mm_cnameu89" cla8Mclass="c8OVE_TYPE,
 263  343};

/* &quo8;mc&q84me="L325"> 322222222222222222222222222222222222222222e="L403"> 403static struct  3222222222 class="sref">mbool22
mdo_d="Llaim(22
mem_cgroup_mm_cnameu89" cla8Mlass="li8a href="+code=lock" clas8="sre84"> 247mbool22
mdo_numainf="line" name="L3do_numainf=CHARG class="sref">m__maybe_unused22
mem_cgroup_mm_cnameu89" cla8Mmcontrol8+code=mem_cgroup" class=8sref"84_CHARmem_cgroup_mm_cnameu89" cla8ruct 
 350        u8signe851 403 MEM_CGROUP_TARGET_SOFTLIMITCHARE>mem_cgroup_mm_cnameu89" cla8rCHARGE_T8> 351        unsigne8 long85>__pe#ifp="+code=x" clasMAX_NUMNODES7"em_cgrput" clMAX_NUMNODESsref
" 352        uns8gned 85_CHARGE_TYPE_ANON" cl class="sref">mdo_numainf="line" name="L3do_numainf=CHARG
moving_task 263 403 MEM_CGROUP_TARGET_NUMAINFOCHARE>mem_cgroup_mm_cnameu89" cla8rcontrol.8ef">waitq;          8     85id="L#endifmem_cgroup_mm_cnameu89" cla8_ 3222222222 void mem_cgroup_mm_cnameu89" cla8_="line"58ED( 247myhref="mm/mthreshold22
waitq),

 358};
mem_cgroup_mm_cnameu89" cla8a href="+8ode=bool" class="sref">b8olmove8anon(void)
/* file p22222222ifef="+code=x" clasunlikely7"em_cgrput" clunlikelyontro void 
,
 iumainf=_evmem_cgroup_mm_cnameu89" cla8aclass="c8>-> 26#endifmem_cgroup_mm_cnameu89" cla8harge_at_8mmigrate);
 364}
 3222222222 void mem_cgroup_mm_cnameu89" cla8a href="+8ode=bool" class="sref">b8olmove_8aITIALIZE8file(void)
MEM_CGROUP_MAX_SOFT8eass="sre8test_bit(



to->
move8L370"> 370}
/* file p22222222="+code=x" clasf="mm/mdubsysmd ite22

mem_cgroup_mm_cnameu89" cla8rs="sref"8control.c#L372" id="L3728 clas87_CHARmmigrate" class="sref">move_8ref">to * Maximu8 loop87"> 26mem_cgroup_mm_cnameu89" cla8rarge_at_8pan class="comment"> * l8mit r87id="Lp

 396
 396
 262 379<8a>enu88statistics developed by Rik mmmmmmmm* So g.is ccs be cclled with p == NULLlass="line" name="L262"> 262 move8 /* file pifef="+code=x" clasunlikely7"em_cgrput" clunlikelyontro!are protected b 7"em_cgrput" clpontr""mm/memcontrol.c#L329" id="L87s="sref"8GROUP_CHARGE_TYPE_SWAPOU8,88_CHARGE_TYPE_ANON" cl id="L367" class="lineNULL22
mem_cgroup_mm_cnameu89" cla87ef">to, 8   26mem_cgroup_mm_cnameu89" cla87arge_at_8ame="L384"> 384     8  

mem_cgroup_mm_cnameu89" cla87rol.c#L38RGE_TYPE,
move_87 href="+8385"> 385};
 387



 388#define8 389#define 

mem_cgroup_mm_cnameu89" cla8earge_at_890"> 390#define move8ef="+code=x" class="sref8>x/* file pifef!are protected bym22
val)       ((<8 href89_CHARGE_TYPE_ANON" cl id="L367" class="lineNULL22
mem_cgroup_mm_cnameu89" cla8eef">toval 263 396
 3989pan ck. May be even add a looooooooo* Because we have no a hrs, mm69 396
 395#define  396
 262 398

              owner22
mem_cgroup_mm_cnameu89" cla9e2/* file p22222222ifef="+code=x" clasunlikely7"em_cgrput" clunlikelyontro!are protected bycode=mem_cgrput" class="srefE"mm/memcontrol.c#L329" id="L9e mem_cgroup_mm_cnameu89" cla9e4val 263
,
mem_cgroup_mm_cnameu89" cla9e5 395#define me90me="L325"> 32 id="L367" class="linefcode=mem_cgrput" class="sref>mem_cgroup_mm_cnameu89" cla9f7move_9emcontrol9c#L307" id="L307" class=9line"90class="sref">MEM_CGROUP_MAX_SOFT9f9control9c 398 396
      9  * m91statistics developed by Rik * ycoef="mm/miter - iterite over ycoory c="mm/ hierirchys="line" name="L396"> 396
 396
/the memory controller. * @prev: previously2 id="Led ass=", NULL on first invocations="line" name="L396"> 396
 396
         * set &g9; 0 i91"> 26er cgroup. We would eve*ass="line" name="L262"> 262 396
atomic_t     9   262 316         262spinloc9_t 396
 396
 3192statistics developed by Rik * to cancel aehierirchy walr before the  mmnd-trippis ed pletelass="line" name="L262"> 262 262/the memory controller. * Remorimers ccs specify aezo30 andma priority lev 262 396
     9   * 92"> 26er cgroup. We would eve*hremorimers operiting onethe s>  ezo30 andmprioritylass="line" name="L262"> 262 324<9pan c92pan ck. May be even add a lo*eue_head_t 

mem_cgroup_st9t_cpu927e="L325"> 32222222222222222222222222222l.c#L406" id="L406" class="line"22
spinlock_t <9 href92"> 247;
 329<9a>#if93 

mem_cgroup_mm_cnameu89" cla9de=tcp_me9control" class="sref">tc9_memc931ntrol.c#L266i"L="L326" class="li222
;
#endif
 332};
 263 334 3222222222 class="sref">mrootef="+code=__SPIroots=efG
mem_cgroup_mm_cnameu89" cla9"mcontrol9e" name="L337"> 337<9pan c93class="sref">MEM_CGROUP_MAX_SOFT9dmcontrol9ontrol.c#L338" id="L338"9class939CHARGE_TYPE_ifef="+code=x" clasprev7"em_cgrput" clprevs=ef_YPE_FYPE_F=!are protected bremorimef="+code=__SPIremorimontr"mm/memcontrol.c#L329" id="L9="L339" c9ass="line" name="L339"> 939

,
              Uss22
mem_cgroup_mm_cnameu89" cla9MOVE_CHAR9E_TYPE_ANON,  tc9PE_FILE,  /* file pifef="+code=x" clasprev7"em_cgrput" clprevs=ef_YPE_FYPE_F=="+code=x" clasprev7"em_cgrput" clprevs=ef_! 342 9     94_CHARGE_TYPE_ANON" cl class="sref">mUss_put22
,
              Uss22
mem_cgroup_mm_cnameu89" cla9Mclass="c9OVE_TYPE,
 26mem_cgroup_mm_cnameu89" cla9Mcontrol.9343"> 343};

/* &quo9;mc&q94me="L325"> 3222222222ifef="+code=x" clasprev7"em_cgrput" clprevs=ef"mm/memcontrol.c#L329" id="L9=="line"59static struct  3222222222an class id="L367" class="lineNULL22
mem_cgroup_mm_cnameu89" cla9Mlass="li9a href="+code=lock" clas9="sre94"> 247mem_cgroup_mm_cnameu89" cla9Mmcontrol9+code=mem_cgroup" class=9sref"949CHARGE_TYPE_mmigrate" class="sref">move_9ruct  350        u9signe951/* file p22222222l.c#L406" id="L406" class="line"_remorim_iteref="+code=__SPIycoef="mm/mremorim_iterstaticare protected buninitialized_varef="+code=__SPIuninitialized_varontroare protected biteref="+code=__SPIiterstat)>mem_cgroup_mm_cnameu89" cla9rmcontrol9352"> 352        uns9gned 95_CHARGE_TYPE_ANON" cll.c#L406" id="L406" cl"line"mdubsysmd ite22

mem_cgroup_mm_cnameu89" cla9rclass="c9ss="sref">moving_task 26mem_cgroup_mm_cnameu89" cla9rcontrol.9ef">waitq;          9     95id="L244" cla* file pifef="+code=x" clasremorimef="+code=__SPIremorimontr"_ef="+code=move_anon" class="9r 3222222222* file pi"L="L326" class="lii222

mem_cgroup_mm_cnameu89" cla9r="line"59ED( 3222222222an classi"L="L326" class="lzi222

mem_cgroup_mm_cnameu89" cla9rlass="li9( 247mem_cgroup_mm_cnameu89" cla9_mcontrol9">waitq),
 358};

b9ol              remorim_iteref="+code=__SPIremorim_iterstat["L326" class="lremorimef="+code=__SPIremorimontr69              priority7"em_cgrput" clpriorityontr]>mem_cgroup_mm_cnameu89" cla9ref">move9anon(void)
/* file p22222222an classifef="+code=x" clasprev7"em_cgrput" clprevs=ef_YPE_FYPE_F=="+code=x" clasremorimef="+code=__SPIremorimontr69              generationef="+code=__SPIgenerations=efG!              generationef="+code=__SPIgenerations=ef"mm/memcontrol.c#L329" id="L9emcontrol9test_bit( 263
mem_cgroup_mm_cnameu89" cla9acontrol.9mmigrate);
move_9hrol.c#L39L364"> 364}
OOM_C9a href="+9ode=bool" class="sref">b9ol 3222222222 class="sref">mrcu_read_a href="+code=__SPIrcu_read_a hrontroE>mem_cgroup_mm_cnameu89" cla9aITIALIZE9file(void)
 247mUss22

,
              Uss22
,

mem_cgroup_mm_cnameu89" cla9amcontrol9test_bit(
to->
,



mem_cgroup_mm_cnameu89" cla9hef">move9L370"> 370}
/* file p22222222}2alsemem_cgroup_mm_cnameu89" cla9rs="sref"9control.c#L372" id="L3729 clas97_CHARGE_TYPE_ANON" cl22222222are protected bi222
to * Maximu9 loop97"> 263mrcu_read_una href="+code=__SPIrcu_read_una hrontroE>mem_cgroup_mm_cnameu89" cla9rarge_at_9pan class="comment"> * l9mit r97/a> 3222222222ifef="+code=x" clasremorimef="+code=__SPIremorimontr"_ef="+code=move_anon" class="9h href="+9MEM_CGROUP_MAX_RECLAIM_L9OPS" 977e="L325"> 3222222222an classare protected biteref="+code=__SPIiterstat69              positionef="+code=__SPIpositions=ef = are protected bi222
mem_cgroup_mm_cnameu89" cla9rITIALIZE9P_MAX_SOFT_LIMIT_RECLAIM9LOOPS97"> 247
 2
              generationef="+code=__SPIgenerations=ef++>mem_cgroup_mm_cnameu89" cla979" class9"line" name="L379"> 379<9a>enu98               generationef="+code=__SPIgenerations=ef>mem_cgroup_mm_cnameu89" cla97ef">move9 /* file p22222222}mem_cgroup_mm_cnameu89" cla97s="sref"9GROUP_CHARGE_TYPE_SWAPOU9,98trol.c#L332" id="L332" class="li97ef">to, 9   263
 384     9  ,
 32}mem_cgroup_mm_cnameu89" cla97 href="+9385"> 385};
 32 id="L367" class="linefcode=mem_cgrput" class="sref>mem_cgroup_mm_cnameu89" cla9e" name="9387"> 387 388#define9 389#define  396
 390#define  396
move9ef="+code=x" class="sref9>x/the memory controller. * @root: hierirchy roots="line" name="L396"> 396
val)       ((<9 href99trol.the memory controller. * @prev: oryt visited hierirchy > 3ber as2 id="Led by ycoef="mm/miter()s="line" name="L396"> 396
toval 26er cgroup. We would eve*eue_head_t  3999pan cm href="mm/miter_break22

 395#define  322222222222222222222l.c#L406" id="L406" class="line"22
 247 398
mem_cgroup_mm_cnameu89" cla10f="mm/mem10f="m810f=> 247 390#define 10f1
,
              Uss22
mem_cgroup_mm_cnameu89" cla10f2"mm/mem10ff="+code=x" class="sref10ff=>10f2d="L}mem_cgroup_mm_cnameu89" cla10f3"mm/mem10fref">val)       ((<10fre>10ftrol.c#L332" id="L332" class="li10f4"mm/mem10fal" class="sref">val10f"> 26er cgroup. We would evass="line" name="L396"> 396
 396
 395#define  >10fme="Lthe memory controller. * loo"s areiexited premad="ely (break), ycoef="mm/miter_break() yusts="line" name="L396"> 396
10f7e="Lthe memory controller. *mbe used m/mereference c 262
       10n c>10n 

 
325"> 322222222222222222222PE_\_t /* file p222226" id="L406" cliteref="+code=__SPIiterstatG10ntrol.c#L332" id="L332" class="li1014"mm/mem10mment">         * set &g10mme>10n4CHAR#def(


 atomic_t     10"sr>10nme="L325"> 32222226" id="L406" cliteref="+code=__SPIiterstatG! 322222222222222222222PE_\_t  316         3>10n7e="L325"> 32222226" id="L406" cliteref="+code=__SPIiterstatGspinloc10_t">10nclass="sref">MEM_CGROUP_MAX_SOFT10n9"mm/mem10c#L318" id="L318" class=10c#L>10n_CHARp *="+code=x" clasin"L318"="+code=__SPIin"L31statG="+code=x" clasbool22
mycoef="mm/mis_rootef="+code=__SPIycoef="mm/mis_rootontrol.c#L406" id="L406" class="line"22
10" e="Lef="+code=move_anon" class="10"1"mm/mem10#L320" id="L320" class="10#L3>10"1
mem_cgroup_mm_cnameu89" cla1022"mm/mem10ef="+code=__percpu" clas10ef=>10"2d="L}mem_cgroup_mm_cnameu89" cla1023"mm/mem10c#L322" id="L322" class=10c#L>10"trol.c#L332" id="L332" class="li1024"mm/mem10an class="comment">     10an >10"4an cm href="mm/mc


midx22
 324<10e" >10"5e="Lef="+code=move_anon" class="10"6"mm/mem10#L325" id="L325" class="10#L3>10"me="L325"> 32l.c#L406" id="L406" class="line"22
mem_cgroup_st10ass>10"="+code=thresholds_lock" class="10"8"mm/mem10="sref">spinlock_t <10="s>10""> 247
;
10"_CHARGE_TYPE_FILE" cl id="L>mem_cgroup_mm_cnameu89" cla103="mm/mem10"line" name="L329"> 329<10"li>10"l"+code=thresholds_lock" class="1031"mm/mem10control" class="sref">tc10con>10"1;


              owner22
mem_cgroup_mm_cnameu89" cla10"3"mm/mem10331#endif
 332};
10""> 263 33410"/a> 32lwitcheo6" id="L406" clidx22
10"7e="L325"> 32casa367" class="linePGFAULT" name="L238"> PGFAULTe="L:f="+code=move_anon" class="10"8"mm/mem10e" name="L337"> 337<10e" >10""> 247mg.is_cpu_inc22
              ev ev MEM_CGROUP_EVENTS_PGFAULTstat]">mem_cgroup_mm_cnameu89" cla10"9"mm/mem10ontrol.c#L338" id="L338"10ont>10"_CHARGE_TYPE_FILE" clbreak>mem_cgroup_mm_cnameu89" cla104="mm/mem10ass="line" name="L339"> 10ass>10ase="L325"> 32casa367" class="linePGMAJFAULT" name="L238"> PGMAJFAULTe="L:f="+code=move_anon" class="1041"mm/mem10E_TYPE_ANON,  10a1
              ev ev MEM_CGROUP_EVENTS_PGMAJFAULTstat]">mem_cgroup_mm_cnameu89" cla1042"mm/mem10PE_FILE,  10ant">/* file p22222222break>mem_cgroup_mm_cnameu89" cla1043"mm/mem10e" name="L342"> 342 10e" >10a_CHARGE_TYPE_default:f="+code=move_anon" class="1044"mm/mem10OVE_TYPE,
 263mBUG" name="L238"> BUGontroE>mem_cgroup_mm_cnameu89" cla1045"mm/mem10343"> 343};
10aid="L244" cla}mem_cgroup_mm_cnameu89" cla1046"mm/mem10 class="comment">/* &quo10 cl>10ame="Lthref="mm/memcoout22
static struct 10a7d="L244" claahref="mm/memcorcu_read_una href="+code=__SPIrcu_read_una hrontroE>mem_cgroup_mm_cnameu89" cla10a8"mm/mem10a href="+code=lock" clas10a h>10a8d="L}mem_cgroup_mm_cnameu89" cla10a9"mm/mem10+code=mem_cgroup" class=10+co>10a9e="Lthref="mm/memcoEXPORT_SYMBOL22
mem_cgroup_mm_cnameu89" cla105="mm/mem10ef="+code=mem_cgroup" cl10ef=>10efa> 350        u10"L3>10e1 396
 351        unsigne10> 3>10ent">/the memory controller. * ycoef="mm/mzo30_lruvec - getethe lru liyt vect/mefor aezo30 andmass="sr"line" name="L396"> 396
 352        uns10352>10etrol.the memory controller. * @zo30:ezo30 ofmthe wanted lruvecsr"line" name="L396"> 396
moving_task10e"> 26er cgroup. We would eve*h@ass=":mass=" ofmthe wanted lruvecsr"line" name="L396"> 396
waitq;          10ef">10epan ck. May be even add a lo*sr"line" name="L396"> 396
10eme="Lthe memory controller. * Rid="Ls the lru liyt vect/meholding     s m/methe giv 396
(
lers="line" name="L396"> 396
(10entrolhe administrator determmeis disabla2lass="line" name="L262"> 262waitq),
w>10eRSS per cgroup. We would eve*eue_head_t  358};
1035CHARpb10ode>1031
(void)
(mem_cgroup_mm_cnameu89" cla1034"mm/mem10>-> 26mem_cgroup_mm_cnameu89" cla1035"mm/mem10mmigrate);

 364}
103me="L325"> 3222222222 id="L3YPE_FILE,
              lruvecef="+code=__SPIlruvecsrat>mem_cgroup_mm_cnameu89" cla1037"mm/mem10ode=bool" class="sref">b10ode>103="+code=thresholds_lock" class="1068"mm/mem10file(void)
 247mem_cgroup_mm_cnameu89" cla1069"mm/mem10test_bit(,
              lruvecef="+code=__SPIlruvecsrat>mem_cgroup_mm_cnameu89" cla107="mm/mem10>->);
2"mm/mem10L370"> 370}
10>nt">/the memory controller.ass="line" name="L396"> 396
 262 * Maximu10las>10>"> 26er cgroup. We would eve*hOperations areicclled by "mmti30 ofmglobaleLRU independently m" nmass="lass="line" name="L262"> 262 * l10pan>10>pan ck. May be even add a lo* What we have to takeiccr0 ofmhereiis validness ofmpc69 26210>me="Lthe memory controller. *ass="line" name="L262"> 26210>7e="Lthe memory controller. *mChanges to pc69 396
8"mm/mem10P_MAX_SOFT_LIMIT_RECLAIM10P_M>10>ntrolhe administrator determme1. charges="line" name="L396"> 396
9"mm/mem10AIM_LOOPS 2
10>RSS per cgroup. We would eve* 2. movige"ccc 396
 379<10"li>10"lSS per cgroup. We would eve* In typiccl2casa, "charge"eis do30 before add-to-lru. Exception is SwapCachelass="line" name="L262"> 262 262/the memory controller. * If PCG_USED bit is not set,     ef="mm/ is not added to g.is privite LRUlass="line" name="L262"> 26210"trol.the memory controller. * When movige"ccc 262, 10P_C>10""> 26er cgroup. We would eve*eue_head_t  384     10ame>10"/a>,
 396
 385};
10"7e="Lthe memory controller. *myhref="mm/me   elruvec -  id="L3lruvec for adding aL3lru     s="line" name="L396"> 396
 38710"ntrolhe administrator determme@    :eg.e     s="line" name="L396"> 396
 388#define10e=">10"RSS per cgroup. We would eve* @zo30:ezo30 ofmthe     s="line" name="L396"> 396
 389#define 1038> 26er cgroup. We would eve*eue_head_t  390#define 1031CHARpval)       ((<10sre>103_CHARGE_TYPE_l.c#L406" id="L406" class="line"_eer_zo307"em_cgrput" clyhref="mm/meer_zo30staticare protected byz7"em_cgrput" clyzsref>mem_cgroup_mm_cnameu89" cla1094"mm/mem10val" class="sref">val1034CHARGE_TYPE_l.c#L406" id="L406" class="line"22
1035CHARGE_TYPE_l.c#L406" id="L406" cl    ef="mm/7"em_cgrput" cl    ef="mm/staticare protected bpc7"em_cgrput" clpcsrat>mem_cgroup_mm_cnameu89" cla1096"mm/mem10"> 395#define  >103=OOM_CONTROL" class="sref">OOM_C1037"mm/mem10            (0)
1037d="L244" claifef6" id="L406" class="line"_disabla222
 247              lruvecef="+code=__SPIlruvecsrat>mem_cgroup_mm_cnameu89" cla1099"mm/mem10> 39811f=> 247mem_cgroup_mm_cnameu89" cla11f1"mm/mem11f0"> 390#define 1101              ass="line"22
mem_cgroup_mm_cnameu89" cla11f2"mm/mem11ff="+code=x" class="sref11ff=>110>__pemem_cgroup_mm_cnameu89" cla1103"mm/mem11fref">val)       ((<11fre>110_CHARGE_TYPE_the memory controller.ass="line" name="L396"> 396
val11f"> 26er cgroup. We would evpan class* Surreptitiously2lwitcheany uncharged offliyt      to root:s="line" name="L396"> 396
 396
 395#define  >11fme="Lthe memory controller. an class* i4s m/mmer yhref="mm/ m" nmsuddens imovallass="line" name="L262"> 26211f7e="Lthe memory controller. an class*ass="line" name="L262"> 262 262 262      11n c>1118> 26er cgroup. We would evean class* ofmpc69 262/* file pifef!are protected bP   LRU" name="L238"> P   LRUontro="+code=x" clasp   7"em_cgrput" cl    s=atE_YPE_FYPE_F=!are protected bP   C="mm/Used" name="L238"> P   C="mm/Usedontro="+code=x" claspc7"em_cgrput" clpcsrat)_YPE_FYPE_F=="+code=x" clasycode=mem_cgrput" class="srefG!
 111_CHARGE_TYPE_ANON" cl class="sref">mpc7"em_cgrput" clpcsrat69              ass="line"22

mem_cgroup_mm_cnameu89" cla1114"mm/mem11mment">         * set &g11mme>111"> 26mem_cgroup_mm_cnameu89" cla1115"mm/mem11#L314" id="L314" class="11#L3>11n5mem_cgroup_mm_cnameu89" cla1116"mm/mem11"sref">atomic_t     11"sr>11nme="L325"> 32 id="L3YPE_FILE,
              lruvecef="+code=__SPIlruvecsrat>mem_cgroup_mm_cnameu89" cla1117"mm/mem11> 316         3>11n7e="L}mem_cgroup_mm_cnameu89" cla11n8"mm/mem11_t" class="sref">spinloc11_t">11nclass="sref">MEM_CGROUP_MAX_SOFT11n9"mm/mem11c#L318" id="L318" class=11c#L>111RSS per cgroup. We would ev/*ss="line" name="L396"> 396
112lSS per cgroup. We would eve* yhref="mm/mupditeelru_size - acc 396
 396
112nt">/the memory controller. * @lru: index ofmlru liyt g.e      is sittige"ons="line" name="L396"> 396
112trol.the memory controller. * @nrme   s: positive when adding /menegative when removiges="line" name="L396"> 396
     11an >112"> 26er cgroup. We would eve*s="line" name="L396"> 396
 324<11e" >112pan ck. May be even add a lo* T.is function yust be cclled when a      is added to /meremoved m" nmans="line" name="L396"> 396
 262mem_cgroup_st11ass>1127e="Lthe memory controller. *eue_head_t spinlock_t <11="s>11""> 24m href="mm/mupditeelru_size22
;
11"_CHARGE_TYPE_FILE" cllllllllllllllllli"L="L326" class="lirme   sef="+code=__SPIirme   ss=ef"_t  329<11"li>113 e="Lef="+code=move_anon" class="1131"mm/mem11control" class="sref">tc11con>11"1mem_cgroup_mm_cnameu89" cla11"2"mm/mem11_mem;
#endif
 332};
11""> 263
 334113id="L244" cla* file p id="L>mem_cgroup_mm_cnameu89" cla11"6"mm/mem11control.c#L335" id="L33511con>113=OOM_CONTROL" class="sref">OOM_C11"7"mm/mem11Types of charges to be m11Typ>1137d="L244" claahref="mm/memcoyz7"em_cgrput" clyzsref
mem_cgroup_mm_cnameu89" cla11"8"mm/mem11e" name="L337"> 337<11e" >113"> 247
              lru_size22
11"_CHARGE_TYPE_care protected blru_size22
mem_cgroup_mm_cnameu89" cla114="mm/mem11ass="line" name="L339"> 11ass>114=> 247,  11a1,  114>__pemem_cgroup_mm_cnameu89" cla1143"mm/mem11e" name="L342"> 342 11e" >114trol.the memory controller.ass="line" name="L396"> 396
,
 26er cgroup. We would eve*hChecks wheg.er giv 3 is sref /meinethe root_ass="line""mm/mss="line" name="L396"> 396
 343};
114pan ck. May be even add a lo* hierirchy subtreeon"line" name="L396"> 396
/* &quo11 cl>114me="Lthe memory controller. *eue_head_t static struct 11a7d="Lare protected bbool22
m__ass="line"_sref_or_subtree22

114"> 247
11a9e="Lef="+code=move_anon" class="115="mm/mem11ef="+code=mem_cgroup" cl11ef=>115=> 247 350        u11"L3>1151 351        unsigne11> 3>115nt">/* file pifef!are protected broot_assde=mem_cgrput" clroot_assdestat69              use_hierirchy=mem_cgrput" cluse_hierirchyt">/*||=!are protected bycode=mem_cgrput" class="srefEmem_cgroup_mm_cnameu89" cla1153"mm/mem11352"> 352        uns11352>115_CHARGE_TYPE_ANON" cl id="L367" class="linefalse22
mem_cgroup_mm_cnameu89" cla11e4"mm/mem11ss="sref">moving_task115"> 263              Uss22
mem_cgroup_mm_cnameu89" cla11e5"mm/mem11ef">waitq;          11ef">11epan c}mem_cgroup_mm_cnameu89" cla11e6"mm/mem115" id="L355" class="line115" >115=OOM_CONTROL" class="sref">OOM_C11e7"mm/mem11ED( *="+code=x" clasbool22
mycoef="mm/msref_or_subtree22

(115"> 247
waitq),
w>1159e="Lef="+code=move_anon" class="116="mm/mem11358"> 358};
116=> 247
mret22
mem_cgroup_mm_cnameu89" cla1131"mm/mem11ode=bool" class="sref">b11ode>116_CACHmem_cgroup_mm_cnameu89" cla1162"mm/mem11anon(void)
mem_cgroup_mm_cnameu89" cla1163"mm/mem11test_bit(mret22

->mem_cgroup_mm_cnameu89" cla1135"mm/mem11mmigrate);
 364}
113me="L}mem_cgroup_mm_cnameu89" cla1137"mm/mem11ode=bool" class="sref">b11ode>113="+code=thresholds_lock" class="1168"mm/mem11file(void)
 24i"L="L326" class="ltasr_in_ass="line"22


(->);


 370}
1172
mem_cgroup_mm_cnameu89" cla1173"mm/mem11control.c#L372" id="L37211con>117trol.c#L332" id="L332" class="li1174"mm/mem11lass="comment"> * Maximu11las>1174mem_cgroup_mm_cnameu89" cla1175"mm/mem11pan class="comment"> * l11pan>117id="L244" claifef6" id="L406" cl/7"em_cgrput" cl s=efE_ef="+code=move_anon" class="1176"mm/mem11ontrol.c#L375" id="L375"11ont>117me="L325"> 3222222222are protected bcurr22

              am22
mem_cgroup_mm_cnameu89" cla1177"mm/mem11MEM_CGROUP_MAX_RECLAIM_L11MEM>1177e="L325"> 3222222222are protected btasr_una href="+code=__SPItasr_una hrontroare protected b/7"em_cgrput" cl s=ef">mem_cgroup_mm_cnameu89" cla1178"mm/mem11P_MAX_SOFT_LIMIT_RECLAIM11P_M>117"> 247 2
117_CHARGE_TYPE_FILE" clahe memory controller.ass="line" name="L396"> 396
 379<11"li>11"lSS per cgroup. We would eveeeeeeeeeeeeeeeee* All threads may have already detachedetheir mm"mm/ms, but g.e ooms="line" name="L396"> 396
 396
/the memory controller. eeeeeeeeeeeeeeee* killed to prevlle needlessly2killige"cdditional tasrslass="line" name="L262"> 26211"trol.the memory controller. eeeeeeeeeeeeeeee*eue_head_t , 11P_C>118"> 263mtasr_a href="+code=__SPItasr_a hrontroare protected btasref="+code=__SPItasrontrE>mem_cgroup_mm_cnameu89" cla11"5"mm/mem11ame="L384"> 384     11ame>118id="L244" cla* file pare protected bcurr22
,
 3222222222ifef6" id="L406" clcurr22
 385};
1187e="L325"> 3222222222* file pare protected bcss_get22
,

              Uss22
mem_cgroup_mm_cnameu89" cla1188"mm/mem11387"> 387118"> 247mgasr_una href="+code=__SPItasr_una hrontroare protected btasref="+code=__SPItasrontrE>mem_cgroup_mm_cnameu89" cla11"9"mm/mem11e="L388"> 388#define11e=">118_CHARGE_TYPE_}mem_cgroup_mm_cnameu89" cla119="mm/mem11389"> 389#define 119=> 247
 390#define 1191mem_cgroup_mm_cnameu89" cla1192"mm/mem11ef="+code=x" class="sref11ef=>1192 396
val)       ((<11sre>119trol.the memory controller. eeeeeeee* We should check use_hierirchy ofm"ass=""enot "curr". Because checkiges="line" name="L396"> 396
val119"> 26er cgroup. We would evpan class* use_hierirchy ofm"curr"mhereimakeit.is function .c#epifehierirchy iss="line" name="L396"> 396
119pan ck. May be even add a loan class* enabla2eine"curr"mandm"curr"mis a child ofm"ass=""eine*f="mm/ss="line" name="L396"> 396
 395#define  >119me="Lthe memory controller. an class* hierirchy(evllpifeuse_hierirchy is disabla2eine"ass="")lass="line" name="L262"> 2621197e="Lthe memory controller. an class*eue_head_t  247


mem_cgroup_mm_cnameu89" cla1199"mm/mem11> 39812f=> 247 390#define 1201val)       ((<12fre>120_CHARi"L="L326" class="lass="line"_inactive_anon_is_low22
val12f"> 26ef="+code=move_anon" class="12f5"mm/mem12f class="line" name="L3912f c>120id="L244" claunsigLed long are protected binactive_ratioef="+code=__SPIinactive_ratios=ef>mem_cgroup_mm_cnameu89" cla12f6"mm/mem12f> 395#define  >1206d="L244" claunsigLed long are protected binactiveef="+code=__SPIinactives=ef>mem_cgroup_mm_cnameu89" cla12f7"mm/mem12f           (0)
1207d="L244" claunsigLed long are protected bactiveef="+code=__SPIactives=ef>mem_cgroup_mm_cnameu89" cla12f8"mm/mem12fontrol.c#L397" id="L39712fon>1208d="L244" claunsigLed long are protected bgbef="+code=__SPIgbs=ef>mem_cgroup_mm_cnameu89" cla12f9"mm/mem12f 398      12n c>121=> 247mem_cgroup_mm_cnameu89" cla1211"mm/mem12#L310" id="L310" class="12#L3>1211mem_cgroup_mm_cnameu89" cla1212"mm/mem12long   121_CHARGE_TYPE_ class="sref">mgbef="+code=__SPIgbs=ef
 PAGE_SHIFTontr)>mem_cgroup_mm_cnameu89" cla1214"mm/mem12mment">         * set &g12mme>121"> 263
atomic_t     12"sr>12nme="L325"> 32elsemem_cgroup_mm_cnameu89" cla1217"mm/mem12> 316         3>1217e="L325"> 3222222222are protected binactive_ratioef="+code=__SPIinactive_ratios=ef
mem_cgroup_mm_cnameu89" cla1218"mm/mem12_t" class="sref">spinloc12_t">12nclass="sref">MEM_CGROUP_MAX_SOFT12n9"mm/mem12c#L318" id="L318" class=12c#L>121_CHARGE_TYPE_ id="L36" id="L406" clinactiveef="+code=__SPIinactives=ef
* 6" id="L406" clinactive_ratioef="+code=__SPIinactive_ratios=ef
< are protected bactiveef="+code=__SPIactives=ef>mem_cgroup_mm_cnameu89" cla122="mm/mem12" class="line" name="L3112" c>122-d="L}mem_cgroup_mm_cnameu89" cla12"1"mm/mem12#L320" id="L320" class="12#L3>122_CACHmem_cgroup_mm_cnameu89" cla12"2"mm/mem12ef="+code=__percpu" clas12ef=>122nt">/i"L="L326" class="lass="line"_inactive_file_is_low22
122trol.ef="+code=move_anon" class="1224"mm/mem12an class="comment">     12an >122"> 263 324<12e" >122id="L244" claunsigLed long are protected binactiveef="+code=__SPIinactives=ef>mem_cgroup_mm_cnameu89" cla1226"mm/mem12#L325" id="L325" class="12#L3>122=OOM_CONTROL" class="sref">OOM_C1227"mm/mem12ass="sref">mem_cgroup_st12ass>1227d="L244" claahref="mm/memcoinactiveef="+code=__SPIinactives=ef

mem_cgroup_mm_cnameu89" cla12"8"mm/mem12="sref">spinlock_t <12="s>122"> 247mem_cgroup_mm_cnameu89" cla12"9"mm/mem12unter_lock;
122_CHARmem_cgroup_mm_cnameu89" cla123="mm/mem12"line" name="L329"> 329<12"li>123=> 247mem_cgroup_mm_cnameu89" cla1231"mm/mem12control" class="sref">tc12con>1231;
#endif


 332};
1234
 334123/a> 396
1237e="Lthe memory controller. *myhref="mm/mmargin -3calculite chargeabla he c0 ofma ycoory c="mm/st"line" name="L396"> 396
 337<12e" >123ntrolhe administrator determme@ass=":eg.e ycoory c="mm/st"line" name="L396"> 396
123RSS per cgroup. We would eve*st"line" name="L396"> 396
 12ass>124lSS per cgroup. We would eve* Rid="Ls the maximum am 396
,  1241 262,  124nt">/the memory controller. *eue_head_t  342 12e" >124trol.p *unsigLed long are protected byhref="mm/mmargin22

,
 26ef="+code=move_anon" class="1245"mm/mem12343"> 343};
124id="L244" claunsigLed long long are protected byargin22
mem_cgroup_mm_cnameu89" cla1246"mm/mem12 class="comment">/* &quo12 cl>124=OOM_CONTROL" class="sref">OOM_C1247"mm/mem12static struct 1247d="L244" claahref="mm/memcoyargin22
mem_cgroup_mm_cnameu89" cla12a8"mm/mem12a href="+code=lock" clas12a h>124"> 247124_CHARGE_TYPE_FILE" clahref="mm/memcoyargin22

125=> 247 PAGE_SHIFTontr>mem_cgroup_mm_cnameu89" cla1251"mm/mem12"L350"> 350        u12"L3>1251 351        unsigne12> 3>125>__pemem_cgroup_mm_cnameu89" cla1253"mm/mem12352"> 352        uns12352>125_CHARi"L="L326" class="lass="line"_swappiness22

moving_task125"> 26ef="+code=move_anon" class="12e5"mm/mem12ef">waitq;          12ef">1255CHARGE_TYPE_l.c#L406" id="L406" cl"line"22


mem_cgroup_mm_cnameu89" cla1256"mm/mem125" id="L355" class="line125" >125=OOM_CONTROL" class="sref">OOM_C12e7"mm/mem12ED( (125"> 247
              pare hef="+code=__SPIpare hstat
<waitq),
w>125_CHARGE_TYPE_FILE" cl id="L367" class="linevm_swappiness22
mem_cgroup_mm_cnameu89" cla126="mm/mem12358"> 358};
126=> 24mem_cgroup_mm_cnameu89" cla1261"mm/mem12ode=bool" class="sref">b12ode>1261> 247(void)
(-> 26er cgroup. We would evass="line" name="L396"> 396
);
 396
 364}
126me="Lthe memory controller. * ccllige move_acc 396
b12ode>1267e="Lthe memory controller. *ma ass=", og.er threads should check ass="69 396
(void)
 396
( 396
-&>127lSS per cgroup. We would eve*         CPU-A____________________________________CPU-Bst"line" name="L396"> 396
);
 396
 370}
127nt">/the memory controller. *         ass="69 396
 262 * Maximu12las>127"> 26er cgroup. We would eve*hhhhhhhhhsynchronize_rcu()                    updite somethinglass="line" name="L262"> 262 * l12pan>127pan ck. May be even add a lo*                                              rcu_read_una hr()st"line" name="L396"> 396
127me="Lthe memory controller. * hhhhhhhhs.art movemherelass="line" name="L262"> 2621277e="Lthe memory controller. *eue_head_t 127class="sref">MEM_CGROUP_MAX_SOFT1279"mm/mem12AIM_LOOPS 2
127RSS per cgroup. We would ev/* for quick checkige without lookige up ass=" *eue_head_t  379<12"li>12"lSS pere protected batomic_hef="+code=__SPIatomic_h> 24767" class="lineycode_yovige=mem_cgrput" class="_moviges=ARG class="sref">m__read_mostly=mem_cgrput" cl__read_mostlystat>mem_cgroup_mm_cnameu89" cla1281"mm/mem12ef="+code=MEM_CGROUP_CHA12ef=>128_CACHmem_cgroup_mm_cnameu89" cla1282"mm/mem12 /p *m href="mm/ms.art_move22

128trol.ef="+code=move_anon" class="1284"mm/mem12P_CHARGE_TYPE_DROP, 12P_C>1284 384     12ame>128id="L244" cla href="mm/memcoatomic_incef="+code=__SPIatomic_incontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla12"6"mm/mem12RGE_TYPE,
 32>              synchronize_rcu22
mem_cgroup_mm_cnameu89" cla12"7"mm/mem12385"> 385};
1287e="L}mem_cgroup_mm_cnameu89" cla1288"mm/mem12387"> 387128class="sref">MEM_CGROUP_MAX_SOFT12"9"mm/mem12e="L388"> 388#define12e=">128_CHARp *m href="mm/mend_move22

 389#define 129 e="Lef="+code=move_anon" class="1291"mm/mem1290"> 390#define 1291 396
/the memory controller. eeeeeeee* Now,myhref="mm/mclear_mc() may ccllit.is function with NULLlass="line" name="L262"> 262val)       ((<12sre>129trol.the memory controller. eeeeeeee* We check NULLeineccllee rag.er thaneccllerlass="line" name="L262"> 262val129"> 26er cgroup. We would evpan class*eue_head_t 129id="L244" claifef6" id="L406" clycode=mem_cgrput" class="srefE_ef="+code=move_anon" class="1296"mm/mem12"> 395#define  >129me="L325"> 3222222222are protected batomic_decef="+code=__SPIatomic_decontroYPE_FILE,
1297e="L325"> 3222222222are protected batomic_decef="+code=__SPIatomic_decontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla1298"mm/mem12control.c#L397" id="L39712con>129"> 247 398130=> 24mem_cgroup_mm_cnameu89" cla13f1"mm/mem13f0"> 390#define 1301 396
/the memory controller. * 2 "mmtines for checkige "ass"mis under move_acc 262val)       ((<13fre>130trol.the memory controller. *ass="line" name="L262"> 262val130"> 26er cgroup. We would eve*hass="line"_s.olen() -  checkige wheg.er a c="mm/mis mc.m" nm/menotl T.isass="line" name="L262"> 262 262 395#define  >130me="Lthe memory controller. * hhhhhhhhhhhhhhhhhhhhhhhpc69 2621307e="Lthe memory controller. *ass="line" name="L262"> 262 262 262      13n c>131lSS per cgroup. We would eve*                        waitige"at hith-mcoory prressure ccused by "aove".ass="line" name="L262"> 262131trol.p *>              bool22
mycoef="mm/ms.olen22

         * set &g13mme>131"> 26ef="+code=move_anon" class="1315"mm/mem13#L314" id="L314" class="13#L3>131id="L244" cla href="mm/memcoVM_BUG_ONef="+code=__SPIVM_BUG_ONontro!are protected brcu_read_a hr_hel222
mem_cgroup_mm_cnameu89" cla1316"mm/mem13"sref">atomic_t     13"sr>13nme="L325"> 32 id="L367" class="lineatomic_readef="+code=__SPIatomic_readontroYPE_FILE,
mem_cgroup_mm_cnameu89" cla1317"mm/mem13> 316         3>1317e="L}mem_cgroup_mm_cnameu89" cla1318"mm/mem13_t" class="sref">spinloc13_t">13nclass="sref">MEM_CGROUP_MAX_SOFT13n9"mm/mem13c#L318" id="L318" class=13c#L>1319rol.p *>              bool22
mycoef="mm/munder_move22

132 e="Lef="+code=move_anon" class="13"1"mm/mem13#L320" id="L320" class="13#L3>1321

mem_cgroup_mm_cnameu89" cla13"2"mm/mem13ef="+code=__percpu" clas13ef=>1322
132_CHARGE_TYPE_ class="sref">mbool22
mret22
     13an >132"> 263 396
 324<13e" >132pan ck. May be even add a loan class* Unlikeitasr_yovem"mmtines, weeaccessemc.to, mc.m" nmnot unders="line" name="L396"> 396
 262mem_cgroup_st13ass>1327e="Lthe memory controller. an class*eue_head_t spinlock_t <13="s>132"> 247;
1329> 247

mem_cgroup_mm_cnameu89" cla133="mm/mem13"line" name="L329"> 329<13"li>133=> 247tc13con>1331
;
#endif
 332};
1334


 334133id="L244" cla* file p||a href="mm/memcoycoef="mm/msref_or_subtree22
1337d="L244" claahref="mm/memcospin_una href="+code=__SPIspin_una hrontroYPE_FILE,
 337<13e" >133"> 2471339> 24}mem_cgroup_mm_cnameu89" cla134="mm/mem13ass="line" name="L339"> 13ass>134=> 24mem_cgroup_mm_cnameu89" cla1341"mm/mem13E_TYPE_ANON,  1341 *>              bool22
mycoef="mm/mwait_acct_move22

,  134nt">/ef="+code=move_anon" class="1343"mm/mem13e" name="L342"> 342 13e" >1343,
 263 343};
134id="L244" cla* file p244" claahref="mm/memcoDEFINE_WAIT" name="L238"> DEFINE_WAITontroare protected bwait" name="L238"> waitontrE>mem_cgroup_mm_cnameu89" cla1346"mm/mem13 class="comment">/* &quo13 cl>134me="L325"> 3222222222244" claahref="mm/memcoprepare_to_wait" name="L238"> prepare_to_waitontroYPE_FILE,
 waitqsref, YPE_FILE,
 waitontr,  href="mm/memcoTASK_INTERRUPTIBLEef="+code=__SPITASK_INTERRUPTIBLEontrE>mem_cgroup_mm_cnameu89" cla1347"mm/mem13static struct 1347e="L325"> 3222222222244" claar cgroup. We would ev/* movige"charge cdntext might have finished.s*eue_head_t 134"> 247,
134_CHARGE_TYPE_FILE" cl22222222244" claahref="mm/memcoschedule22
mem_cgroup_mm_cnameu89" cla135="mm/mem13ef="+code=mem_cgroup" cl13ef=>135=> 247 finish_waitontroYPE_FILE,
 waitqsref, YPE_FILE,
 waitontrE>mem_cgroup_mm_cnameu89" cla1351"mm/mem13"L350"> 350        u13"L3>1351mem_cgroup_mm_cnameu89" cla13e2"mm/mem13> 351        unsigne13> 3>1352 352        uns13352>1353moving_task135"> 263waitq;          13ef">1355CHAR}mem_cgroup_mm_cnameu89" cla1356"mm/mem135" id="L355" class="line135" >135=OOM_CONTROL" class="sref">OOM_C13e7"mm/mem13ED( 396
(135ntrolhe administrator determmeTakeit.is a hr whens="line" name="L396"> 396
waitq),
w>135RSS per cgroup. We would eve* - a clin tries to modify"e   "mm/ms ass=" while it"mm/ms USED.ass="line" name="L262"> 262 358};
136lSS per cgroup. We would eve* - a clin tries to modify"e   hs.ateeacc 262b13ode>1361 262(void)
/the memory controller. *eue_head_t (m ove_a hr_ass="line"22

-> 263
);
 364}
136me="L325"> 32>              spin_a hr_irqsave22
,

mem_cgroup_mm_cnameu89" cla1337"mm/mem13ode=bool" class="sref">b13ode>1367e="L}mem_cgroup_mm_cnameu89" cla1338"mm/mem13file(void)
MEM_CGROUP_MAX_SOFT1369"mm/mem13test_bit(m ove_una hr_ass="line"22

->
);
 370}
1372e="L325"> 32>              spin_una hr_irqres.ore22
,

mem_cgroup_mm_cnameu89" cla1373"mm/mem13control.c#L372" id="L37213con>137trol.}mem_cgroup_mm_cnameu89" cla1374"mm/mem13lass="comment"> * Maximu13las>137"> 26mem_cgroup_mm_cnameu89" cla1375"mm/mem13pan class="comment"> * l13pan>137pan ck. May be even add a l/*ss="line" name="L396"> 396
137me="Lthe memory controller. * ass="line"_pri"L_oom_info: Called m" nmOOM with tasrlist_a hr hel2 ineread modelass="line" name="L262"> 2621377e="Lthe memory controller. *e@ass=":eT.e ycoory c="mm/ that wlle over limitons="line" name="L262"> 262137ntrolhe administrator determme@p:eTasr that is going to be killedons="line" name="L262"> 262 2
137RSS per cgroup. We would ev *ass="line" name="L262"> 262 379<13"li>138lSS per cgroup. We would eve* NOTE:e@ass="mandm@p"mm/ms assef="mm/ ccs be differe h whenehierirchy iss="line" name="L396"> 396
 396
/the memory controller. *eue_head_t 138trol.m href="mm/mpri"L_oom_info22


, 13P_C>138"> 26ef="+code=move_anon" class="13"5"mm/mem13ame="L384"> 384     13ame>1385CHARGE_TYPE_l.c#L406" id="L406" cl"line"22

mem_cgroup_mm_cnameu89" cla13"6"mm/mem13RGE_TYPE,
 32l.c#L406" id="L406" cl"line"22

mem_cgroup_mm_cnameu89" cla13"7"mm/mem13385"> 385};
1387d="L244" claahe memory controller./*ue_head_t  387138ntrolhe administrator determmmmmmmmm* Need a buffer ineBSS, ccs"mm/mterely on allocationsl T.e clin reliess="line" name="L396"> 396
 388#define13e=">138RSS per cgroup. We would ev mmmmmmmm* on ..e p. umption .hat OOM is serialized for ycoory c6
lerlass="line" name="L262"> 262 389#define 139lSS per cgroup. We would evemmmmmmmm* If ..is p. umption is broken, revisit ..is codelass="line" name="L262"> 262 390#define 1391  *char767" class="lineycode_s="s=mem_cgrput" class="_s="smem_cgroup_mm_cnameu89" cla1393"mm/mem13sref">val)       ((<13sre>1393val139"> 26mem_cgroup_mm_cnameu89" cla1395"mm/mem13" class="line" name="L3913" c>139id="L244" claifef!are protected bycode=mem_cgrput" class="srefp||a!are protected b"22
 395#define  >139me="L325"> 3222222222 id="L>mem_cgroup_mm_cnameu89" cla1397"mm/mem13            (0)
1397e="Lmem_cgroup_mm_cnameu89" cla1398"mm/mem13control.c#L397" id="L39713con>139"> 247
mem_cgroup_mm_cnameu89" cla1399"mm/mem13> 398140=> 247

mem_cgroup_mm_cnameu89" cla14f1"mm/mem14f0"> 390#define 1401


mem_cgroup_mm_cnameu89" cla14f2"mm/mem14ff="+code=x" class="sref14ff=>140>__pemem_cgroup_mm_cnameu89" cla1403"mm/mem14fref">val)       ((<14fre>140_CHARGE_TYPE_ class="sref">mret22


mem_cgroup_mm_cnameu89" cla14f4"mm/mem14fal" class="sref">val140"> 263
  395#define  >140me="Lthe memory controller.                 * Unfortunately, weeare unabla to +covert to a useful s="s 1407e="Lthe memory controller.                 * But wl"mm/mllol.illopri"L out ..e us   hinformation       14n c>141=> 247mem_cgroup_mm_cnameu89" cla1411"mm/mem14#L310" id="L310" class="14#L3>1411 32>              rcu_read_una hr22
mem_cgroup_mm_cnameu89" cla1413"mm/mem14c#L312" id="L312" class=14c#L>141trol.c#L332" id="L332" class="li1414"mm/mem14mment">         * set &g14mme>1414

"Tasr in "mm7;s killed"ue_head,  href="mm/memcoycode_s="s=mem_cgrput" class="_s="smem_cgroup_mm_cnameu89" cla1415"mm/mem14#L314" id="L314" class="14#L3>141/a>atomic_t     14"sr>141me="L325"> 32>              rcu_read_a hr22
mem_cgroup_mm_cnameu89" cla1417"mm/mem14> 316         3>1417d="L244" claahref="mm/memcoret22


mem_cgroup_mm_cnameu89" cla1418"mm/mem14_t" class="sref">spinloc14_t">141"> 247
141_CHARGE_TYPE_FILE" clahref="mm/memcorcu_read_una hr22
mem_cgroup_mm_cnameu89" cla142="mm/mem14" class="line" name="L3114" c>142=> 247mem_cgroup_mm_cnameu89" cla14"1"mm/mem14#L320" id="L320" class="14#L3>14211422e="L325"> 32>              rcu_read_una hr22
mem_cgroup_mm_cnameu89" cla1423"mm/mem14c#L322" id="L322" class=14c#L>142trol.c#L332" id="L332" class="li1424"mm/mem14an class="comment">     14an >142"> 263 396
 324<14e" >142pan ck. May be even add a loan class* Co hinues f" nmabove, so weedon"mm/mteneed an KERN_ levels="line" name="L396"> 396
 mem_cgroup_st14ass>1427d="L244" claahref="mm/memcopri"Lr22
 KERN_CONT" as a resulh ofmlimit ofm"mm7;s\n"ue_head,  href="mm/memcoycode_s="s=mem_cgrput" class="_s="smem_cgroup_mm_cnameu89" cla14"8"mm/mem14="sref">spinlock_t <14="s>142"> 24are protected bdons=mem_cgrput" cldonsstat:mem_cgroup_mm_cnameu89" cla14"9"mm/mem14unter_lock;
142_CHARmem_cgroup_mm_cnameu89" cla143="mm/mem14"line" name="L329"> 329<14"li>143=> 247

"ycoory: us   h"mm7;llukB,mlimit "mm7;llukB,mfailcnt "mm7;llu\n"ue_head,mem_cgroup_mm_cnameu89" cla1431"mm/mem14control" class="sref">tc14con>1431->-ontroYPE_FILE,
;
->-ontroYPE_FILE,
 RES_LIMIT#endif
->-ontroYPE_FILE,
 RES_FAILCNTmem_cgroup_mm_cnameu89" cla14"4"mm/mem14332"> 332};
1434

"ycoory+swap: us   h"mm7;llukB,mlimit "mm7;llukB,m"ue_headmem_cgroup_mm_cnameu89" cla14"5"mm/mem14334"> 334143id="L244" cla* file phe administrastrige=>"failcnt "mm7;llu\n"ue_head,mem_cgroup_mm_cnameu89" cla1436"mm/mem14control.c#L335" id="L33514con>143me="L325"> 3222222222are protected bresmc->-ontroYPE_FILE,
1437e="L325"> 3222222222are protected bresmc->-ontroYPE_FILE,
 RES_LIMIT 337<14e" >143"> 247->-ontroYPE_FILE,
 RES_FAILCNTmem_cgroup_mm_cnameu89" cla14"9"mm/mem14ontrol.c#L338" id="L338"14ont>1439> 24}mem_cgroup_mm_cnameu89" cla144="mm/mem14ass="line" name="L339"> 14ass>144=> 24mem_cgroup_mm_cnameu89" cla1441"mm/mem14E_TYPE_ANON,  1441 396
,  144nt">/the memory controller. * T.is function  id="Ls ..e number ofmmss="munder hierirchy tree. Rid="Lss="line" name="L396"> 396
 342 14e" >144trol.the memory controller. * 1(self c 262,
 26er cgroup. We would eve*eue_head_t  343};
144id="Ll./a> *i"L="L326" class="lass="line"_c
/* &quo14 cl>144me="Lef="+code=move_anon" class="1447"mm/mem14static struct 1447e="L325"> 32i"L="L326" class="lnum=mem_cgrput" clnums=ef
mem_cgroup_mm_cnameu89" cla14a8"mm/mem14a href="+code=lock" clas14a h>144"> 247

mem_cgroup_mm_cnameu89" cla1449"mm/mem14+code=mem_cgroup" class=14+co>144_CHARmem_cgroup_mm_cnameu89" cla145="mm/mem14ef="+code=mem_cgroup" cl14ef=>145=> 247

 350        u14"L3>1451mem_cgroup_mm_cnameu89" cla14e2"mm/mem14> 351        unsigne14> 3>1452mem_cgroup_mm_cnameu89" cla14e3"mm/mem14352"> 352        uns14352>145trol.}mem_cgroup_mm_cnameu89" cla1454"mm/mem14ss="sref">moving_task145"> 26mem_cgroup_mm_cnameu89" cla14e5"mm/mem14ef">waitq;          14ef">145pan ck. May be even add a l/*ue_head_t 145me="Lthe memory controller. * Rid="L ..e ycoory (andmswap,pife+cofigured)mlimit for a ass=".ass="line" name="L262"> 262( (145ntrolp *>              u>->-ontr="L326" class="lass="line"_get_limitef="+code=__SPIyco="line"_get_limitontrol.c#L406" id="L406" class="line"22
waitq),
w>145RSS pef="+code=move_anon" class="146="mm/mem14358"> 358};
146=> 247->-ontr="L326" class="llimitef="+code=__SPIlimitontr>mem_cgroup_mm_cnameu89" cla1461"mm/mem14ode=bool" class="sref">b14ode>1461->-ontr="L326" class="lasssw22
mem_cgroup_mm_cnameu89" cla1462"mm/mem14anon(void)
(mlimitef="+code=__SPIlimitontr
 RES_LIMITmem_cgroup_mm_cnameu89" cla1464"mm/mem14>-> PAGE_SHIFTontr>mem_cgroup_mm_cnameu89" cla1465"mm/mem14mmigrate);
 364}
146me="L325"> 32>              asssw22
 RES_LIMITmem_cgroup_mm_cnameu89" cla1467"mm/mem14ode=bool" class="sref">b14ode>1467d="L244" claahe memory controller./*ue_head_t (void)
( 262->);

mem_cgroup_mm_cnameu89" cla1472"mm/mem14L370"> 370}
1472e="L}mem_cgroup_mm_cnameu89" cla1473"mm/mem14control.c#L372" id="L37214con>147trol.c#L332" id="L332" class="li1474"mm/mem14lass="comment"> * Maximu14las>147"> 26m href="mm/mout_of_ycooryef="+code=__SPIyco="line"_out_of_ycooryontrol.c#L406" id="L406" class="line"22
 * l14pan>147id="L244" cla* file p244" cla5"> 32i"L="L326" class="lorder22
147me="Lef="+code=move_anon" class="1477"mm/mem14MEM_CGROUP_MAX_RECLAIM_L14MEM>1477d="L244" clal.c#L406" id="L406" class="line"22

mem_cgroup_mm_cnameu89" cla1478"mm/mem14P_MAX_SOFT_LIMIT_RECLAIM14P_M>147"> 247
mem_cgroup_mm_cnameu89" cla1479"mm/mem14AIM_LOOPS 2
1479> 247 379<14"li>1480> 247
mem_cgroup_mm_cnameu89" cla1481"mm/mem14ef="+code=MEM_CGROUP_CHA14ef=>1481
mem_cgroup_mm_cnameu89" cla1482"mm/mem14 148_CHARGE_TYPE_ he memory controller./*ue_head_t , 14P_C>148"> 26er cgroup. We would evpan class* Ifmcurre h has a penhige SIGKILL, ..en automaticclly seleL40it.  T.eue_head_t  384     14ame>148pan ck. May be even add a loan class* goalmis to allowmit to allocateeso that it may quickly exit andmfreeon_head_t ,
 262 385};
1487e="Lthe memory controller. an class*eue_head_t  387148"> 247
 388#define14e=">148_CHARGE_TYPE_FILE" clahref="mm/memcoset_thread_mlagef="+code=__SPIset_thread_mlagontroare protected bTIF_MEMDIEef="+code=__SPITIF_MEMDIEontrE>mem_cgroup_mm_cnameu89" cla149="mm/mem14389"> 389#define 149=> 247 390#define 1491val)       ((<14sre>149_CHARGE_TYPE_ class="sref">mcheck_heaic_on_oom22

val1494 PAGE_SHIFTontr ? : 1>mem_cgroup_mm_cnameu89" cla1495"mm/mem14" class="line" name="L3914" c>149id="L244" claare protected bfor_each_ass="line"_tree22

 395#define  >149me="L325"> 3222222222l.c#L406" id="L406" cl"line"22


mem_cgroup_mm_cnameu89" cla1497"mm/mem14            (0)
1497e="L325"> 3222222222l.c#L406" id="L406" cl"line"_iher22
mem_cgroup_mm_cnameu89" cla1498"mm/mem14control.c#L397" id="L39714con>149"> 247mem_cgroup_mm_cnameu89" cla1499"mm/mem14> 398150=> 247
,
 390#define 1501
,

val)       ((<15fre>1503
val150"> 263 OOM_SCAN_SELECT> 26:mem_cgroup_mm_cnameu89" cla1505"mm/mem15f class="line" name="L3915f c>150id="L244" cla* file pppppppppppppppppifef6" id="L406" clUhosen22
 395#define  >150me="L325"> 3222222222244" claoooooooooooooooo6" id="L406" clput_tasr_l.c#L4ef="+code=__SPIput_tasr_l.c#L4ontroare protected bchosen22
mem_cgroup_mm_cnameu89" cla15f7"mm/mem15f           (0)
1507e="L325"> 3222222222244" claoooooooo6" id="L406" clUhosen22
mem_cgroup_mm_cnameu89" cla1508"mm/mem15fontrol.c#L397" id="L39715fon>150"> 247
mem_cgroup_mm_cnameu89" cla1509"mm/mem15f 398      15n c>151=> 247 mem_cgroup_mm_cnameu89" cla1513"mm/mem15c#L312" id="L312" class=15c#L>1513 OOM_SCAN_ABORT> 26:mem_cgroup_mm_cnameu89" cla1514"mm/mem15mment">         * set &g15mme>151"> 263

,
atomic_t     15"sr>151me="L325"> 3222222222244" claooooooooifef6" id="L406" clUhosen22
 316         3>1517e="L325"> 3222222222244" claoooooooopppppppp href="mm/memcoput_tasr_l.c#L4ef="+code=__SPIput_tasr_l.c#L4ontroare protected bchosen22
mem_cgroup_mm_cnameu89" cla1518"mm/mem15_t" class="sref">spinloc15_t">151"> 247151_CHARGE_TYPE_FILE" clllllllllcaseo6" id="L406" clOOM_SCAN_OK" name="L238"> OOM_SCAN_OK> 26:mem_cgroup_mm_cnameu89" cla152="mm/mem15" class="line" name="L3115" c>152=> 247mem_cgroup_mm_cnameu89" cla15"1"mm/mem15#L320" id="L320" class="15#L3>15211522

1523

     15an >152"> 263
 324<15e" >152id="L244" cla* file pppppppppppppppppan class"L326" class="lput_tasr_l.c#L4ef="+code=__SPIput_tasr_l.c#L4ontroare protected bchosen22
mem_cgroup_mm_cnameu89" cla1526"mm/mem15#L325" id="L325" class="15#L3>152me="L325"> 3222222222244" claoooooooo6" id="L406" clUhosen22
mem_cgroup_mm_cnameu89" cla1527"mm/mem15ass="sref">mem_cgroup_st15ass>1527e="L325"> 3222222222244" claoooooooo6" id="L406" clUhosen_poi"Ls22

mem_cgroup_mm_cnameu89" cla1528"mm/mem15="sref">spinlock_t <15="s>152"> 247;
152_CHARGE_TYPE_FILE" clllllllll}mem_cgroup_mm_cnameu89" cla153="mm/mem15"line" name="L329"> 329<15"li>153=> 247tc15con>1531

,
;
#endif
 332};
1534 334153id="L244" cla* file p id="L>mem_cgroup_mm_cnameu89" cla1536"mm/mem15control.c#L335" id="L33515con>153me="L325"> 32>              poi"Ls22

1537e="L325"> 326" id="L406" cloom_kill_process22


 337<15e" >153"> 247
"Mcoory c="mm/ out ofmmssory"ue_headE>mem_cgroup_mm_cnameu89" cla1539"mm/mem15ontrol.c#L338" id="L338"15ont>1539> 24}mem_cgroup_mm_cnameu89" cla154="mm/mem15ass="line" name="L339"> 15ass>154=> 24mem_cgroup_mm_cnameu89" cla1541"mm/mem15E_TYPE_ANON,  1541 *unsigLed long are protected bacoef="mm/mrePE_im22

,  1542 342 15e" >1543,
 26ef="+code=move_anon" class="1545"mm/mem15343"> 343};
154id="L244" claunsigLed long are protected btotalef="+code=__SPItotals=ef
mem_cgroup_mm_cnameu89" cla1546"mm/mem15 class="comment">/* &quo15 cl>154me="L325"> 32>              boolef="+code=__SPIboolontr="L326" class="lnoswapef="+code=__SPInoswaps=ef

mem_cgroup_mm_cnameu89" cla1547"mm/mem15static struct 1547e="L325"> 32i"L="L326" class="lloopef="+code=__SPIloops=ef>mem_cgroup_mm_cnameu89" cla1548"mm/mem15a href="+code=lock" clas15a h>154class="sref">MEM_CGROUP_MAX_SOFT1549"mm/mem15+code=mem_cgroup" class=15+co>154_CHARGE_TYPE_ifef6" id="L406" clflags22
155=> 247
mem_cgroup_mm_cnameu89" cla1551"mm/mem15"L350"> 350        u15"L3>1551
 MEM_CGROUP_RECLAIM_SHRINKs=efE_YPE_FYPE_F="L326" class="lycode=mem_cgrput" class="sref69              msssw_is_minimum=mem_cgrput" clmsssw_is_minimum 351        unsigne15> 3>1552
mem_cgroup_mm_cnameu89" cla1553"mm/mem15352"> 352        uns15352>155trol.c#L332" id="L332" class="li1554"mm/mem15ss="sref">moving_task1554="L326" class="lloopef="+code=__SPIloops=ef <  href="mm/memcoMEM_CGROUP_MAX_RECLAIM_LOOPS" name="L238"> MEM_CGROUP_MAX_RECLAIM_LOOPSs=ef>="L326" class="lloopef="+code=__SPIloops=ef++E_ef="+code=move_anon" class="15e5"mm/mem15ef">waitq;          15ef">155id="L244" cla* file pifef6" id="L406" clloopef="+code=__SPIloops=efEmem_cgroup_mm_cnameu89" cla1556"mm/mem155" id="L355" class="line155" >155me="L325"> 3222222222244" cla6" id="L406" cldrain_all_stock_asyncef="+code=__SPIdrain_all_stock_asyncontroare protected bycode=mem_cgrput" class="srefE>mem_cgroup_mm_cnameu89" cla15e7"mm/mem15ED( 3222222222are protected btotalef="+code=__SPItotals=ef
+mem_cgroup_mm_cnameu89" cla15e8"mm/mem15(155"> 247 waitq),
w>155RSS per cgroup. We would ev mmmmmmmmmmmmmmmm* Allowmlimit shrigkers,_whicheare triggered direPtlyue_head_t  358};
156lSS per cgroup. We would evemmmmmmmmmmmmmmmm* by usere ace, to +atchesigLals andmstop rePE_imon_head_t b15ode>1561 262(void)
/the memory controller. mmmmmmmmmmmmmmmm*eue_head_t (
 MEM_CGROUP_RECLAIM_SHRINKs=efEEmem_cgroup_mm_cnameu89" cla1564"mm/mem15>-> 263mem_cgroup_mm_cnameu89" cla1565"mm/mem15mmigrate);

 364}
156me="L325"> 3222222222244" clabrear>mem_cgroup_mm_cnameu89" cla1567"mm/mem15ode=bool" class="sref">b15ode>1567e="L325"> 3222222222ahe memory controller./*ue_head_t (void)
( 262->);
 370}
1572 * Maximu15las>157"> 263mem_cgroup_mm_cnameu89" cla1575"mm/mem15pan class="comment"> * l15pan>157id="L}mem_cgroup_mm_cnameu89" cla1576"mm/mem15ontrol.c#L375" id="L375"15ont>157me="Lmem_cgroup_mm_cnameu89" cla1577"mm/mem15MEM_CGROUP_MAX_RECLAIM_L15MEM>1577e="Lthe memory controller./**ue_head_t 157ntrolhe administrator determ* test_ass="line"_nlin_rePE_imablaue_head_t  2
157RSS per cgroup. We would ev * @ass=":m..e target ass="sr_head_t  379<15"li>158lSS per cgroup. We would eve* @nid:m..e nlin ID to beeUheckedlass="line" name="L262"> 262 262/the memory controller. *ass="line" name="L262"> 262158trol.the memory controller. * T.is function  id="Ls whe..ere..e specified ass="_co hains anyue_head_t , 15P_C>158"> 26er cgroup. We would evp* rePE_imabla e   s on a nlin. Rid="Ls true ife..ereeare any rePE_imablaue_head_t  384     15ame>158pan ck. May be even add a lo* e   s in ..e nlinlass="line" name="L262"> 262,
  385};
1587e="Lp *>              boolef="+code=__SPIboolontr="L326" class="ltest_ass="line"_nlin_rePE_imablaef="+code=__SPItest_ass="line"_nlin_rePE_imablauetrol.c#L406" id="L406" class="line"22
 387158"> 247 388#define15e=">158RSS pef="+code=move_anon" class="159="mm/mem15389"> 389#define 159=> 247 390#define 1591val)       ((<15sre>1593val1594159id="L244" cla* file p id="L367" class="linetc#e22
mem_cgroup_mm_cnameu89" cla1596"mm/mem15"> 395#define  >159me="L325"> 32 id="L367" class="linefalse22
mem_cgroup_mm_cnameu89" cla1597"mm/mem15            (0)
1597e="Lmem_cgroup_mm_cnameu89" cla1598"mm/mem15control.c#L397" id="L39715con>159"> 24}mem_cgroup_mm_cnameu89" cla1599"mm/mem15> 398 MAX_NUMNODESs=ef
Y160=> 24mem_cgroup_mm_cnameu89" cla16f1"mm/mem16f0"> 390#define 1601 396
/the memory controller. * Always upd/a>ng ..e nlinmasrmis not very good - evenoifewe .ave an emptyue_head_t val)       ((<16fre>160trol.the memory controller. * list ore..e wrong list .ere,ewe c mel.arh f" nmsome nlin andmtraverse allue_head_t val160"> 26er cgroup. We would evp* nlins based on ..e zonelist. So upd/ae ..e list looselyhonca eere10 secslass="line" name="L262"> 262 262 395#define  >160me="Lthe memory controller. *eue_head_t 1607e="Lp *m href="mm/mmay_upd/ae_nlinmasr22

 24ef="+code=move_anon" class="1609"mm/mem16f 398      16n c>161=> 247 396
 396
/the memory controller. mmmmmmmm* e   in/e   out chan  s sinca ..e last upd/aelass="line" name="L262"> 262161trol.the memory controller. mmmmmmmm*eue_head_t          * set &g16mme>1614atomic_t     16"sr>161me="L325"> 32ifef6" id="L406" clatomic_inc_ id="L22
 316         3>1617e="L325"> 3222222222 id="L>mem_cgroup_mm_cnameu89" cla1618"mm/mem16_t" class="sref">spinloc16_t">161class="sref">MEM_CGROUP_MAX_SOFT16n9"mm/mem16c#L318" id="L318" class=16c#L>161_CHARGE_TYPE_6r cgroup. We would ev/* make a nlinmasrmw.ere ..is ass=" uses ycoory f" nm*eue_head_t 162=> 247,
mem_cgroup_mm_cnameu89" cla16"1"mm/mem16#L320" id="L320" class="16#L3>16211622162trol.c#L332" id="L332" class="li1624"mm/mem16an class="comment">     16an >162"> 263 324<16e" >162id="L244" cla* file ppppppppp"L326" class="lnlin_clear22

mem_cgroup_mm_cnameu89" cla1626"mm/mem16#L325" id="L325" class="16#L3>162me="L325"> 32}mem_cgroup_mm_cnameu89" cla1627"mm/mem16ass="sref">mem_cgroup_st16ass>1627e="Lmem_cgroup_mm_cnameu89" cla1628"mm/mem16="sref">spinlock_t <16="s>162"> 247,
;
162_CHARGE_TYPE_6" id="L406" clatomic_set=mem_cgrput" clatomic_setuetroYPE_FILE,
 329<16"li>163=> 24}mem_cgroup_mm_cnameu89" cla1631"mm/mem16control" class="sref">tc16con>1631;
/the memory controller.ass="line" name="L396"> 396
#endif
 396
 332};
163"> 26er cgroup. We would evp* reduc>ng us    cngs="line" name="L396"> 396
 334163pan ck. May be even add a lo* ycoory rePE_im f" nmcurre h nlin,e..ereeare pros. andm96 262 2621637e="Lthe memory controller.e* Free>ng ycoory f" nmcurre h nlin meaLs free>ng ycoory f" nma nlinmw.ichass="line" name="L262"> 262 337<16e" >163ntrolhe administrator determ* we'll use orewe've used. So, it may make LRU bad. Andmifeseveral threadsass="line" name="L262"> 262163RSS per cgroup. We would ev * hit limits, it will see a  262ld ion on a nlin. But free>ng f" nmrcootaue_head_t  16ass>164lSS per cgroup. We would eve* nlin meaLs oor  c 262,  1641 262,  164nt">/the memory controller. * Now,ewe useminend-robin. Better algorithm is welntredlass="line" name="L262"> 262 342 16e" >164trol.the memory controller. *eue_head_t ,
 26i"L="L326" class="lass="line"_seleL4_viL4>m_nlin22
m_nlinuetrol.c#L406" id="L406" class="line"22
 343};
164id="Lef="+code=move_anon" class="1646"mm/mem16 class="comment">/* &quo16 cl>164me="L325"> 32i"L="L326" class="lnlin22
mem_cgroup_mm_cnameu89" cla1647"mm/mem16static struct 1647e="Lmem_cgroup_mm_cnameu89" cla1648"mm/mem16a href="+code=lock" clas16a h>164"> 247164_CHARGE_TYPE_6" id="L406" clnlin22
165=> 24mem_cgroup_mm_cnameu89" cla1651"mm/mem16"L350"> 350        u16"L3>1651
mem_cgroup_mm_cnameu89" cla1652"mm/mem16> 351        unsigne16> 3>1652> 247
 MAX_NUMNODESs=efEmem_cgroup_mm_cnameu89" cla1653"mm/mem16352"> 352        uns16352>1653
mem_cgroup_mm_cnameu89" cla1654"mm/mem16ss="sref">moving_task1654 396
waitq;          16ef">165pan ck. May be even add a loan class* We c ll this whenewe .it limit, not whenee   s are added to LRUlass="line" name="L262"> 262165me="Lthe memory controller. an class* No LRU may holdee   s becausem ll e   s are UNEVICTABLE orass="line" name="L262"> 262( 262(165ntrolhe administrator determmmmmmmmm*ewe usemcurret nlinlass="line" name="L262"> 262waitq),
w>165RSS per cgroup. We would ev mmmmmmmm*eue_head_t  358};
166=> 247
 MAX_NUMNODESs=efEEmem_cgroup_mm_cnameu89" cla1661"mm/mem16ode=bool" class="sref">b16ode>1661
(void)
(
mem_cgroup_mm_cnameu89" cla1664"mm/mem16>-> 263);
 364}
166me="Lmem_cgroup_mm_cnameu89" cla1667"mm/mem16ode=bool" class="sref">b16ode>1667e="Lthe memory controller./*ue_head_t (void)
 262( 262-> 262);
 262 370}
167nt">/the memory controller. *eue_head_t 
 * Maximu16las>167"> 26ef="+code=move_anon" class="1675"mm/mem16pan class="comment"> * l16pan>167id="L244" clai"L="L326" class="lnid22
mem_cgroup_mm_cnameu89" cla1676"mm/mem16ontrol.c#L375" id="L375"16ont>167me="Lmem_cgroup_mm_cnameu89" cla1677"mm/mem16MEM_CGROUP_MAX_RECLAIM_L16MEM>1677e="L325"> 326he memory controller./*ue_head_t 167ntrolhe administrator determmmmmmmmm*equick Uheckl..mak>ng usemofmscan_nlinlass="line" name="L262"> 262 2
167RSS per cgroup. We would ev an class* We c n skip unused nlins.ass="line" name="L262"> 262 379<16"li>168lSS per cgroup. We would evemmmmmmmm*eue_head_t 
mem_cgroup_mm_cnameu89" cla1683"mm/mem16GROUP_CHARGE_TYPE_SWAPOU16GRO>1683 MAX_NUMNODESs=ef>mem_cgroup_mm_cnameu89" cla1684"mm/mem16P_CHARGE_TYPE_DROP, 16P_C>168"> 263
 384     16ame>168pan cf="+code=move_anon" class="1686"mm/mem16RGE_TYPE,
 3222222222244" claifef6" id="L406" cltest_ass="line"_nlin_rePE_imablaef="+code=__SPItest_ass="line"_nlin_rePE_imablauetroare protected bycode=mem_cgrput" class="sref,="L326" class="lnid22
 385};
1687e="L325"> 3222222222244" claoooooooo id="L367" class="linetc#e22
mem_cgroup_mm_cnameu89" cla16"8"mm/mem16387"> 387168"> 247 388#define16e=">168_CHARGE_TYPE_}mem_cgroup_mm_cnameu89" cla169="mm/mem16389"> 389#define 169=> 247 396
 390#define 1691 262/the memory controller. mmmmmmmm*eue_head_t val)       ((<16sre>1693

val169"> 263
169id="L244" cla* file pppppppppon" inue>mem_cgroup_mm_cnameu89" cla1696"mm/mem16"> 395#define  >169me="L325"> 3222222222ifef6" id="L406" cltest_ass="line"_nlin_rePE_imablaef="+code=__SPItest_ass="line"_nlin_rePE_imablauetroare protected bycode=mem_cgrput" class="sref,="L326" class="lnid22
1697e="L325"> 3222222222244" cla id="L367" class="linetc#e22
mem_cgroup_mm_cnameu89" cla1698"mm/mem16control.c#L397" id="L39716con>1698CHARGE_TYPE_}mem_cgroup_mm_cnameu89" cla1699"mm/mem16> 398170=> 24}mem_cgroup_mm_cnameu89" cla17f1"mm/mem17f0"> 390#define 1701/#elsemem_cgroup_mm_cnameu89" cla17f3"mm/mem17fref">val)       ((<17fre>170trol.i"L="L326" class="lass="line"_seleL4_viL4>m_nlin22
m_nlinuetrol.c#L406" id="L406" class="line"22
val170"> 26ef="+code=move_anon" class="1705"mm/mem17f class="line" name="L3917f c>1705CHARGE_TYPE_ id="L30>mem_cgroup_mm_cnameu89" cla1706"mm/mem17f> 395#define  >170me="L}mem_cgroup_mm_cnameu89" cla17f7"mm/mem17f           (0)
1707e="Lmem_cgroup_mm_cnameu89" cla1708"mm/mem17fontrol.c#L397" id="L39717fon>170"> 24p *>              boolef="+code=__SPIboolontr="L326" class="lmcoef="mm/mrePE_imablaef="+code=__SPImcoef="mm/mrePE_imablauetrol.c#L406" id="L406" class="line"22
      17n c>171=> 247mem_cgroup_mm_cnameu89" cla1711"mm/mem17#L310" id="L310" class="17#L3>1711/#endifmem_cgroup_mm_cnameu89" cla1713"mm/mem17c#L312" id="L312" class=17c#L>171trol.c#L332" id="L332" class="li1714"mm/mem17mment">         * set &g17mme>1714 *i"L="L326" class="lass="line"_softmrePE_im22

atomic_t     17"sr>171me="L325"> 3222222222244" claoooooooo E_6" id="L406" clgf"_t=mem_cgrput" clgf"_tontr="L326" class="lgf"_masref="+code=__SPIgf"_masrsref,c#L332" id="L332" class="li1717"mm/mem17> 316         3>1717e="L325"> 32222222222222222222222222222unsigLed long care protected btotal_scannedef="+code=__SPItotal_scanneds=efEmem_cgroup_mm_cnameu89" cla1718"mm/mem17_t" class="sref">spinloc17_t">171"> 24ef="+code=move_anon" class="17n9"mm/mem17c#L318" id="L318" class=17c#L>171_CHARGE_TYPE_l.c#L406" id="L406" class="line"22
m22
msref
172=> 247mem_cgroup_mm_cnameu89" cla17"1"mm/mem17#L320" id="L320" class="17#L3>1721> 247mem_cgroup_mm_cnameu89" cla17"2"mm/mem17ef="+code=__percpu" clas17ef=>17221723mem_cgroup_mm_cnameu89" cla1724"mm/mem17an class="comment">     17an >172"> 263 324<17e" >172id="L244" cla* file p.6" id="L406" clzone=mem_cgrput" clzonestati 3222222222.6" id="L406" clpriority22
mem_cgroup_st17ass>1727e="L325"> 32}>mem_cgroup_mm_cnameu89" cla1728"mm/mem17="sref">spinlock_t <17="s>172class="sref">MEM_CGROUP_MAX_SOFT1729"mm/mem17unter_lock;
172_CHARGE_TYPE_6" id="L406" clexcess22
              rns=mem_cgrput" clrnss=efE_Y              PAGE_SHIFT=mem_cgrput" clPAGE_SHIFTs=ef>mem_cgroup_mm_cnameu89" cla173="mm/mem17"line" name="L329"> 329<17"li>173=> 24mem_cgroup_mm_cnameu89" cla1731"mm/mem17control" class="sref">tc17con>1731> 247;
m22
msref
m22
msref, YPE_FILE,

mem_cgroup_mm_cnameu89" cla1733"mm/mem17331#endif
 332};
173"> 263mem_cgroup_mm_cnameu89" cla1735"mm/mem17334"> 334173id="L244" cla* file pppppppppifef6" id="L406" clloopef="+code=__SPIloops=ef
Y 3222222222244" claoooooooothe memory controller.ass="line" name="L396"> 396
1737e="Lthe memory controller.eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* Ifewe .ave not been abla to rePE_imon_head_t  337<17e" >173ntrolhe administrator determeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* anythige, it might becausem..ereeareon_head_t 173RSS per cgroup. We would ev eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* no rePE_imabla e   s undere..is hierirchyon_head_t  17ass>174lSS per cgroup. We would eveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee*eue_head_t ,  1741,  1742 342 17e" >1743 396
,
 26er cgroup. We would evppppppppppppppppppppppppppppppppp* We want to do oor  targeted rePE_im.ass="line" name="L262"> 262 343};
174pan ck. May be even add a loan classpppppppppppppppppppppppp* excess_Y 262/* &quo17 cl>174me="Lthe memory controller. an classpppppppppppppppppppppppp* rePE_im too much, nor too less t.at weekeepass="line" name="L262"> 262static struct 1747e="Lthe memory controller.eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* ntr>ng back to rePE_im f" nm..is f="mm/sts="line" name="L262"> 262174ntrolhe administrator determeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee*eue_head_t 174_CHARGE_TYPE_________________________ifef6" id="L406" cltotalef="+code=__SPItotals=ef
Y
 1750 MEM_CGROUP_MAX_RECLAIM_LOOPSs=efEEmem_cgroup_mm_cnameu89" cla1751"mm/mem17"L350"> 350        u17"L3>1751 351        unsigne17> 3>1752 352        uns17352>1753mem_cgroup_mm_cnameu89" cla1754"mm/mem17ss="sref">moving_task175"> 263waitq;          17ef">175id="L244" cla* file pifef!are protected bmcoef="mm/mrePE_imablaef="+code=__SPImcoef="mm/mrePE_imablauetro6" id="L406" clviL4>m22
msref, 67" class="linefalse22
175me="L325"> 3222222222244" claon" inue>mem_cgroup_mm_cnameu89" cla1757"mm/mem17ED( 3222222222a" id="L406" cltotalef="+code=__SPItotals=ef
+m22
msref, 67" class="linegf"_masref="+code=__SPIgf"_masrsref, 67" class="linefalse22
(175"> 247,
waitq),
w>175_CHARGE_TYPE_________care protected btotal_scannedef="+code=__SPItotal_scanneds=ef
+mem_cgroup_mm_cnameu89" cla176="mm/mem17358"> 358};
1760              rns=mem_cgrput" clrnss=efEEmem_cgroup_mm_cnameu89" cla1761"mm/mem17ode=bool" class="sref">b17ode>1761(void)
(m22
msrefE>mem_cgroup_mm_cnameu89" cla1764"mm/mem17>-> 263mem_cgroup_mm_cnameu89" cla1765"mm/mem17mmigrate);
 364}
176me="Lmem_cgroup_mm_cnameu89" cla1767"mm/mem17ode=bool" class="sref">b17ode>1767e="Lthe memory controller./*ue_head_t (void)
 262( 262-> 262);
 370}
177nt">/p *>              boolef="+code=__SPIboolontr="L326" class="lmcoef="mm/moom_lockef="+code=__SPImcoef="mm/moom_lockastrol.c#L406" id="L406" class="line"22
 * Maximu17las>177"> 263
 * l17pan>177pan cf="+code=move_anon" class="1776"mm/mem17ontrol.c#L375" id="L375"17ont>17761777e="L325"> 3222222222ifef6" id="L406" cliheref="+code=__SPIiheruetr69              oom_lockef="+code=__SPIoom_lockastrE_ef="+code=move_anon" class="1778"mm/mem17P_MAX_SOFT_LIMIT_RECLAIM17P_M>177"> 247  2
177RSS per cgroup. We would ev an classGE_TYPE_________cm..is subtren ofmour hierirchyeis already lockedsr_head_t  379<17"li>178lSS per cgroup. We would evemmmmmmmmGE_TYPE_________cmsoewe c mnot give a lock.ass="line" name="L262"> 2621783mem_cgroup_mm_cnameu89" cla1784"mm/mem17P_CHARGE_TYPE_DROP, 17P_C>178"> 263mem_cgroup_mm_cnameu89" cla1785"mm/mem17ame="L384"> 384     17ame>178id="L244" cla* file p} elsemem_cgroup_mm_cnameu89" cla1786"mm/mem17RGE_TYPE,
 3222222222244" cla6" id="L406" cliheref="+code=__SPIiheruetr69              oom_lockef="+code=__SPIoom_lockastr
 385};
1787e="L325"> 32}mem_cgroup_mm_cnameu89" cla17"8"mm/mem17387"> 387178class="sref">MEM_CGROUP_MAX_SOFT1789"mm/mem17e="L388"> 388#define17e=">178_CHARGE_TYPE_ifef!are protected bfailedef="+code=__SPIfailedsrefEmem_cgroup_mm_cnameu89" cla179="mm/mem17389"> 389#define 1790 390#define 1791 val)       ((<17sre>179trol.the memory controller. mmmmmmmm* OK,ewe failed to locke..e whole subtren soewe .ave to clean m/sts="line" name="L262"> 262val179"> 26er cgroup. We would evppppppppp*mw.at weeset up to ..e fail>ng subtrensts="line" name="L262"> 262179pan ck. May be even add a loan class*eue_head_t  395#define  >17961797e="L325"> 3222222222ifef6" id="L406" cliheref="+code=__SPIiheruetr
< 247mem_cgroup_mm_cnameu89" cla1799"mm/mem17> 3981800 390#define 1801val)       ((<18fre>1803val180"> 26}mem_cgroup_mm_cnameu89" cla18f5"mm/mem18f class="line" name="L3918f c>180pan cf="+code=move_anon" class="1806"mm/mem18f> 395#define  >180me="Lthe memory controller./*ue_head_t 1807e="Lthe memory controller.e* Has to beeUalled with ass="_oom_lockass="line" name="L262"> 262
      18n c>181=> 24ef="+code=move_anon" class="1811"mm/mem18#L310" id="L310" class="18#L3>1811
1813         * set &g18mme>181"> 263atomic_t     18"sr>181me="L}mem_cgroup_mm_cnameu89" cla1817"mm/mem18> 316         3>1817e="Lmem_cgroup_mm_cnameu89" cla1818"mm/mem18_t" class="sref">spinloc18_t">181"> 24p *voidp6" id="L406" cl href="mm/mmark_undermoomef="+code=__SPImcoef="mm/mmark_undermoomastrol.c#L406" id="L406" class="line"22
181RSS pef="+code=move_anon" class="182="mm/mem18" class="line" name="L3118" c>182=> 247
18221823,
mem_cgroup_mm_cnameu89" cla1824"mm/mem18an class="comment">     18an >182"> 26}mem_cgroup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=move_anon" class="1826"mm/mem18#L325" id="L325" class="18#L3>182me="Lp *voidp6" id="L406" cl href="mm/munmark_undermoomef="+code=__SPImcoef="mm/munmark_undermoomastrol.c#L406" id="L406" class="line"22
mem_cgroup_st18ass>1827e="Lef="+code=move_anon" class="1828"mm/mem18="sref">spinlock_t <18="s>1828> 247
;
182_CHARmem_cgroup_mm_cnameu89" cla183="mm/mem18"line" name="L329"> 329<18"li>183=> 247 396
tc18con>1831 262;
/the memory controller. mmmmmmmm* mcoef="mm/moom_lock()mmay not beeUalledl We .ave to usnsts="line" name="L262"> 262#endif
 262 332};
183"> 26er cgroup. We would evppppppppp*eue_head_t  334183id="L244" cla href="mm/memcofor_each_mcoef="mm/mtren22
 32222222226" id="L406" clatomic_add_unless=mem_cgrput" clatomic_add_unlessuetroYPE_FILE,
mem_cgroup_mm_cnameu89" cla1837"mm/mem18Types of charges to be m18Typ>1837e="L}mem_cgroup_mm_cnameu89" cla1838"mm/mem18e" name="L337"> 337<18e" >183class="sref">MEM_CGROUP_MAX_SOFT1839"mm/mem18ontrol.c#L338" id="L338"18ont>183RSS pp *>              DEFINE_SPINLOCKef="+code=__SPIDEFINE_SPINLOCKuetroare protected bycodemoom_lockef="+code=__SPImco="_oom_lockastrE>mem_cgroup_mm_cnameu89" cla184="mm/mem18ass="line" name="L339"> 18ass>184lSS pp *>              DECLARE_WAIT_QUEUE_HEADef="+code=__SPIDECLARE_WAIT_QUEUE_HEADuetroare protected bycodemoom_waitqef="+code=__SPImco="_oom_waitqastrE>mem_cgroup_mm_cnameu89" cla1841"mm/mem18E_TYPE_ANON,  1841,  184nt">/p 342 18e" >1843
,
mem_cgroup_mm_cnameu89" cla1845"mm/mem18343"> 343};
184pan c}>mem_cgroup_mm_cnameu89" cla1846"mm/mem18 class="comment">/* &quo18 cl>184me="Lmem_cgroup_mm_cnameu89" cla1847"mm/mem18static struct 1847e="Lp *i"L="L326" class="lass="_oom_wake_functionef="+code=__SPImco="_oom_wake_functionuetroare protected bwait_queue_t=mem_cgrput" clwait_queue_td="L2care protected bwait=mem_cgrput" clwaitsref,c#L332" id="L332" class="li1848"mm/mem18a href="+code=lock" clas18a h>1848> 247 390<8ss=18c#L>189rL32/a> <17cnameu89" cla17e" name="L342"> 342mory3917f c>1705CHARGE_TYPE_ i6 4ntrol.L326"9t=mem9818a h>1848> 247l4949r cl" claoycode=mem_cgrput" class=" cla2uigLed long care protected btott9ed long care phref="mm/memcofalse22mory3917f 8ass>184lS__SPIloops=ef
Ymory3917f co="_oom_wPSs=efEEmem_cgroup_mm_cna8eu89"85ass="lnoswapef="+code=__SPInoswap8E_________8_______________brear>mem_8group85foe="L3ef="+code=move_anon" SPIDECLARE_WAIT_QUEUE_HEADuetroare protected botected biheref="=__Sa___putfIT_QUEUE_HEADue=__Sa___putf3};
18ent">/* &quo18 cl>184me=MQUEUE_HEADef="+code=__SPIDECLARE_WAIT_QUEUE_HEADuetroare protected ;
13>18ent">/* &quo18 cl>184meemoom_lockef="+code=__SPImco="_e17> 3>1758183trol.the memored long care protected btott9ed long care phrefbotected biheref="SPIDECLARE_WAIT_QUEUE_HEADuetroare protected code=__SPIiheruetr,iem18PE_FILE,  184nt">/pwaitq;        8 17ef85>1844d="L244" cla href="mm/memcowaf="+code=_8SPImcoef="mm/mrePE_imabla8etro68 id="L406" clva>
mem_cgroup_mm_cnameu89" cla1676BothE_ef=roare proteccode=pan c173MQU"L337cgroupudefine16e=">168_CHARGE_TYPE_}mem_cgro8falses=ef,8#L332" id="L332" class="l81758"85677e="L325"> 326he memory controller./Tmm/mem17AI75" icss_is_ancestor"mm/mout t.c#L37c173M_efRCUefine16e=">168_CHARGE_TYPE_}mem_cgro8def="+code8__SPInr_scanneds=efE>mem_8group86termmmmmmmmm*equick Uheckl..mak>ng usemofmscan_nlinlass="line" name="L2628>};
17601ed long care protected btott9ed long care phref9" cla176="mm/mem17358"> 3588             rns=mem_cgrp8t" cl86pu" clas18ef=>1822181"> 263(mem_cgroup3};
18ent">/* &quo18 cl>184me=M6" class="lass="_oom_wake_functionef="+code=Imco="_oom_wake_functionuetroare protected bueue_t=mem_cgrput" clwait_queue_td="L2carset &g18mme>181"> 263 3>1758tected broot_assde=mem_cg8put" 8lroot_assdesref,o6" id="L406" clviL8>m22
<8 href=viL4>msrefE>mem_cgr8up_mm8cnameu89" cla1764"mm/mem17>->-&>176"> 263mm     18an >182"> 26}mem_cgroup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=move_anon" class="1826"mm/mem18#89" cla1768"mm/mem17mmigrate);
<8 href86gf"_masrsref,c#L332" id="L332" cla867"mm/mem18ode=bool" class="sref">b18ode>1869d="L406" clva>183trol.the memor_ref>mem_cnameu89" cla18_ref>mem_or_each_mcoef="mm/mtrenuecode=__SPIDEFINE_SPINLOCKuetroare protected bycod bueue_t=mem_cgrpTASK_NORMA7con>1773<18e" >182pan cf="+code=movset &g18mme>181"> 263( 2628/a>->8a hre87>181=> 24ef="+code=move_anon" clas=17L37>1778t">/p *>             8boole8="+codf="mm/moomef="+code=__SPIunder845otecrecove3=> 24mem_cgroup_mm845otecrecove3t">     18an >182"> 26}mem_cgroup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=move_anon" class="1826"mm/mem18#lmcoef="mm8moom_lockef="+code=__SPIm8oef="87="L326" class="lass="line"_seleL4_8lass="comm8nt"> * Maximu17las>177"> 86318ef="+co href="mm/me/a><18e" >182pan cf="+code=mo_ch_mcch_mc L244" cla href="mm/memclas_mcoef="mm/mtren22clasor_each_mcoef="mm/mtrenuecode=8e" >182pan cf="+code=moted biheref="+code=__SPIiheruetr,iare protected bycode=memve_anon" class="1826"mm/mem18#lm22
<8ref= href="mm/staticare p8otect87an class18334>183id="L244" cla href=der845ef>mm  <18e" >182pan cf="+code=movset &g18mme>181"> 263 32222222226" id="L406" cliare prote8ted bycode=mem_cgrput" cl8ss="s87nlessuetroYPE_FILE,

177"> 248 * try_cgroall89"  ka1766.href="+saitq178ef==waimould exf chemory-&quo17 c____efine16e=">168_CHARGE_TYPE_}mem_cgro8uld ev an 8lassGE_TYPE_________cm..i8 subt8en ofmour hierirchyeis alreadsemofmscan_nlinlass="line" name="L2628name="L3798> 379<17"li>178lSS per cg8oup. 88"+code=mov17>-&>177lSS per cgroup. We would eve* Has to beeUalled with ass="_oom_handle_mm_cnameu89" cla1824"mm/mem18handle_mm_t">     18an >182"> 26}mem_cgroup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mom_cgroup_mm_cnameu89"17#L3>171id="L244" cla* file pppppppppppp cla1757"mm/mem17ED clzone=mem_cgrput" clzonestaticare p8memory con8roller. mmmmmmmmGE_TYPE__8_____8ceue_head_t  24mem_cgrouporde3e=move_anon" class="1826"mm/mem18# cla1783"m8/mem17GROUP_CHARGE_TYPE_S8APOU188="L326" class="lass="line"_seleL4_8r_brearef=8+code=__SPImcoef="mm/mihe8_brea8uetroare proteQUEUE_HEADef="+code=__SPIDECLARE_WAIT_QUEUE_HEADuetroare protected bEADef="+code=__S3>18ent">/* &quo18 o406" class="line"22
mem_8879"> 26er cgroup. We would ecgroup. We would eve* Has to beeUalled with"1778"up. We would ev"1778"mmroup_mm_cnameu89" cleed_to_ka17up. We would evleed_to_ka17 class="line"22

mem_cg22222222248" cla6" id="L406" clihere8="+co8889"> 26er cgroup. We would eS3>18ent">/* &quo18 o406" cla"+code=move_anon/a><18e" >182pan cf="+code=mo_
,  184nt">/p
18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184me"+code=move_anonflagh_mcoef="mm/mtreflaghe=mo_181"> 2631787e="L325"> 32}mem_cg8oup_m890f="m18331>183trol.the memorS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184me"+code=move_anonfuunctionuetroare pfuune=mo_
mem_cgroup_mm_cnameu89" cla1845"mm/mem18343"> 343181"> 263 388#define17e=">178_CHAR891f="m18331>183trol.the memorS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184me"+code=move_anonprivatom_wake_functionprivatoted botected biheref="=urralreT_QUEUE_HEADue=urralr3181"> 263182=> 247183RSS INIT_LIST="L33or_each_mcoef="mm/mtrenueS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184me"+code=move_anontclz_lis8ent">/* &quo18 tclz_lis8e=movset &g18mme>181"> 263
1811 384     17ame>178id="L244" cla* file p} el8" class="s8ef17ef=>1792mem_cgroup_mm_cnameu89" cla1816"mm/mem18"sref">atomic_t<18e" >182pan cf="+code=movset &g18mme>181"> 263,
val 26er cgro>#>182_CHARmcgroup"+cod.semofmscan_nlinlass="line" name="L2628="+code=wa8tq1796"mm/mem17"> 3958defin8  >1Imco="_oom_wake_pin to be m18Typ>1837e=_pin to bor_each_mcoef="mm/mtrenuecode=__SPIto be m18Typ>1837e="L}mem_cgroup_mm_cnameu89" cla1838"mm/mem18e" namuetr,iare 8rotected bycode=mem_cgrpu8" cla8989"> 26er cgroup. We would e"1778"up. We would ev"1778"mmro"line" name="L329"> 329<17"lilockass="line" name="L262"> 262<18e" >182pan cf="+code=movset &g18mme>181"> 263ng us Even8ef="L="al_plin_ng(),mem17AI't quf cch9" c()c____"mm/moutmofmscan_nlinlass="line" name="L2629r1brearef=9+> 388#define17e=">179uetrE90eruetr>mem_cgroup_mm_cnameu89" cla18"9acotect_ng. So, UNINTERRUPTIBLEanon"ppropriato. But SIGKIcodefmscan_nlinlass="line" name="L2629r2brearef=9+IfailedsrefEmem_cgroup_m91"mm/90ry controller.ass="line" name="L396"> cgroup9"  non" waysmeml"lied,75" iTASK_KIcoABLEa32"mm/mem18_mem;
18ent">/* &quo18 prepare_to_3>18or_each_mcoef="mm/mtrenuecode=__SPIDEFINE_SPINLOCKuetroare protected bycod bch_mcoef="mm/mtrenueS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184me bueue_t=mem_cgrpTASK_KIcoABLEcon>1773181"> 263180218ef=" per cgroup. We "1778"up. We would ev"1778"mmro"||/a>
,  
1753)     9 ((<18fre>1803183id="L244" cla href=leed_to_ka17up. We would evleed_to_ka17 clacla1785"mm/mem17am+code=__SPIiheruetr,iare protected bycode=mem_cgrput" clas989" cla1809"mm/mem18fal" class="sref9>val<907f="m18331>18ef="per cgroup. We "1778"up. We would ev"1778"mmrove_anon" class="1826"mm/mem189<8" cla1809"otected bycode=mem_cgrpu9#90="srefE_ef="+code=movne" name="L329"> 329<17"lilocknotif="1725"mm/mem17e> 329<17"lilocknotif="mm/m<18e" >182pan cf="+code=movset &g18mme>181"> 263
167RSSL244" cla href=leed_to_ka17up. We would evleed_to_ka17 claotected biheref="+code=__SPIihe9la181="mm/9em18n class="comment">   9  18n91m_cgrput" clPAGE_SHIFTs=ef>mem_cgroufinish_3>18ent">/* &quo18 finish_3>18or_each_mcoef="mm/mtrenuecode=__SPIDEFINE_SPINLOCKuetroare protected bycod bch_mcoef="mm/mtrenueS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184menameu89" cla1838"mm/mem18e" na98="+coGE_T9mem18#L310" id="L310" cla9s="1891pu" clas18ef=>1822 329<17"lilut_of_hemory"mm/m<18e" >182pan cf="+code=mo98 24mem_cgrouporde3e=movameu89" cla1838"mm/mem18e" na98>
   2
1753)     9="L406" cliheref="+code=_9SPIih91an class18334>183id="L244" cla href=finish_3>18ent">/* &quo18 finish_3>18or_each_mcoef="mm/mtrenuecode=__SPIDEFINE_SPINLOCKuetroare protected bycod bch_mcoef="mm/mtrenueS3>18ent">/* &quo18 o406" cla"+code=move_anon3>18ent">/* &quo18 cl>184menameu89" cla1838"mm/mem18e" na989" cla1809Ioom_lockastr
178me="L325"> 39roup_mm_cn9meu89" cla1815"mm/mem18#L914" i9189"> 26er cgroup. We would e_pin to be m18Typ>1837e=_pin to bor_each_mcoef="mm/mtrenuecode=__SPIto be m18Typ>1837e="L}mem_cgroup_mm_cnameu89" cla1838"mm/mem18e" na9m18_t" cla9s="sref">spinloc18_t">1819> 24p91"mm/memcotc#e22 329<17"lilocke* Has to beeUalled with ass="_oom_lockass="lin<18e" >182pan cf="+code=movset &g18mme>181"> 263183trol.the memorder845ef>mm  <18e" >182pan cf="+code=movset &g18mme>181"> 263182=> 247mem_cgroup_mm_cnameu89" cla1824"mm/mem18an class="comment">  <18e" >182pan cf="+code=movset &g18mme>181"> 263,
9     926mm/memcotc#e22 384   est_thclas_flagt">  1773
  92 >1796              oom_lockef="+code=__SPIoom_lockastr
mem_cgroup9st18a92rity22
1753  1vset &g18mme>181"> 263spinlock_t <189"s>1828> 247 387178class="sref">MEM_CGROUP_MAX_SOFT1789"mm/9m/staticar9 protected biheref="+code9__SPI93id="L367" class="linetest_ass="lin9e="L329"> 929<18"li>183=> 247181=> 24ef="+code=move_anon" cla9mmm* Whene9snewhchild is cre/aed whi9e ..e9hierirchyeis undereoom,ass="6"mofmscan_nlinlass="line" name="L2629183nt">/th9 memory controller. mmmmm9mm* m9oef="mm/moom_lock()mmay not b* Curralrly75" > 390update mapp > fef=1e=movstics, but the memtrol17AI7b>1831 262<9p1833"mm/mem18331#end9f
 390update other1e=movsticser cwellm/mem18_mem;
 339<9367" class="linefalse22
 "mofmscan_nlinlass="line" name="L26291325" id="9ontrol.c#L335" id="L335189on>189318fal>180"> 26}mem_cgroup_mm_cNo es: Raceu" ndi> 343 >180me="Lthe 3       9     937e="Lthe memory controller./*uWe75"ually75"  pagemm/mem181"mm/me 937<18e" >183class="sr9f">ME94 controller./*ue_head_t * it tlinmeu89" closrly. But " nsideref=head_u" ndi> 34s,mem1doesI't leedmofmscan_nlinlass="line" name="L2629e/staticar9rE>mem_cgroup_mm_cnameu899 cla194n ofmour hierirchyeis alreadsup_mmo1791_" ways_m/mem18_mem;
mem_cgroup_mm_c9ameu894ierirchyeis undereoom,ass="l* C nsideref=hYquoe=ch9" cYquoe=, _pagemm/mem1/meiscontrrequir > beca5"  a17 cfmscan_nlinlass="line" name="L2629m83nt">/th9it_infoef="+code=__SPIoom9wait_94ef="mm/moom_lock()mmay not b* fef=-e=mo opera> 34s happ n afted a7page non"ttachedup_mradix-./Tmmr>1831;
,
 26}mem_cgroup_mm_cC nsideref=hYquoe=unch9" cYquoe=, em1know thatp"+cod1doesI't oup_r pccode=panmm/mem18efmscan_nlinlass="line" name="L2629ik_undermo918static struct 176id="L}mem_cgroup_mm_catpYquoe=unch9" cYquoe=e__Soup 34ally. So, wen" waysmsee valid pccode=panmm/mem1 eve431705CHA9GE_TYPE_ i6 4ntrol.L326"99=mem995n ofmour hierirchyeis alreads/mem18_mem;
race./To mak=18untrace/mem18_mem;
/th9_______________brear>mem_9group95ef="mm/moom_lock()mmay not b* I2 2
177RSS per cgroup. We w9e17> 3>1759waitq;        9 17ef95>1844d="L244" cla href="mm/memcow9f="+code=_9SPImcoef="mm/mrePE_imabla9etro69 id="Loomef="+code=__SPIun__24"mm/mem18begin epdate_pageme=moass17387>178cla__24"mm/mem18begin epdate_pageme=mot">  QUEUE_HEADef="+code=__pageent">/* &quo18 page>1828ame="L324"> 324/* &quo18 page>182mem_cgrput" clzonestaticare p9otals=ef
+9a href="mm/memcomcoef="mm9mshri95="srefE_ef="+code=move_anon" 2
 324<"1778"up. We would ev"1778"mmroup*i"L="L32lof=hame="L324"> 324<18e" >182pan cf="+code=mo">MEM_CGROUP_MAX_SOFT1789"mm/9>};
1760/* &quo18 pageroYsylauetr,=4v href5 id="L3pnctionuetroare ppce=mo">MEM_CGROUP_MAX_SOFT1789"mm/9>8ass>184l9oftmlimit_excessuetroYPE_9ILE181=> 24ef="+code=move_anon" cla9sref699             rns=mem_cgrp9t" cl963>1811/* &quo18 lookm18pagemm/mem1t">  /* &quo18 page>182vset &g18mme>181"> 263(:et &g18mme>181"> 263 3>1759tected broot_assde=mem_cg9put" 96ef="m18331>183trol.the memor/a><18e" >182pan cf="+code=mocla1785"mm/mem17ampnctionuetroare ppce=mocode=__SPIiheruetr,iem1 class="lsylatomic_incuetroYsylauetrset &g18mme>181"> 263msrefE>mem_cgr9up_mm966mm/memcotc#e22   per cgroup. We .as<18e" >182pan cf="+code=moc||  per cgroup. We PageCYsylaUs8"up. We would evPageCYsylaUs8"t">   263 >1796 set &g18mme>181"> 263);
<9 href96_undermoomasto>b19ode>196677e="L325"> 326he memory controller./I2_uetroYsyla(). Beca5"  wen" class=holdmofmscan_nlinlass="line" name="L2629it(clas81"mm/m, 2629/a>->9a hre97ry controller.ass="line" name="L396"> rcu>clas8e* Has/meif 396
/p *>             9boole97ierirchyeis undereoom,ass="line" nameemofmscan_nlinlass="line" name="L2629lmcoef="mm9moom_lockef="+code=__SPIm9oef="974mm/memcotc#e22  <18e" >182pan cf="+code=movve_anon" class="1826"mm/mem189lass="comm9nt"> * Maximu17las>177"> 963   2
 set &g18mme>181"> 263
<9ref= href="mm/staticare p9otect97>1844d="L244" cla href="mm/memcow9iref="+cod9="1776"mm/mem17ontrol.c#L975" i97 >1Imco="_oom_wakemover_uetroYsyla8e" >182pan cf="over_uetroYsyla"mm/m<18e" >182pan cf="+code=mo98 263182pan cf="+code=moc!la1785"mm/mem17ampnctionuetroare ppce=mocode=__SPIiheruetr,iem1 class="lsylatomic_incuetroYsylauetrc||  per cgroup. We PageCYsylaUs8"up. We would evPageCYsylaUs8"t">   247182pan cf="overe* Has_uetroYsyla"mm/m<18e" >182pan cf="+code=mo98 263177"> 249set &g18mme>181"> 263(1848> 24367" class="linetest_ass="lin9name="L3799> 379<17"li>178lSS per cg9oup. 98c>182=> 247 324<"1778"up. We would ev"1778"mmrocla1785"mm/mem17ame="L384"> 384     17ame>178id="L244" cla* file p} el9memory con9roller. mmmmmmmmGE_TYPE__9_____9ceue_h367" class="linetest_ass="lin9nmcoef="mm9/mem17GROUP_CHARGE_TYPE_S9APOU198="L3267" class="linetest_ass="lin9nass="comm9+code=__SPImcoef="mm/mihe9_brea9uetroaoomef="+code=__SPIun__24"mm/mem18end epdate_pageme=moass17387>178cla__24"mm/mem18end epdate_pageme=mot">  QUEUE_HEADef="+code=__pageent">/* &quo18 page>1828ame="L324"> 324/* &quo18 page>182mp*i"L="L32lof=hame="L324"> 324mem_9879"> ected biheref="+code=__SPIihe9 ref="+cod9_mm_cnameu89" cla1786"mm/9em17R98 >17/* &quo18 pageroYsylauetr,=4v href5 id="L3pnctionuetroare ppce=mocla1785"mm/mem17amlookm18pagemm/mem1ent">/* &quo18 lookm18pagemm/mem1t">  /* &quo18 page>182vset &g18mme>181"> 263 32}mem_cg9oup_m99termmmmmmmmm*equick Uheckl..mak>ng us It's guaranteed3"hatppccode=panmm/mem1 nevoupchanges href=mofmscan_nlinlass="line" name="L2629at( 388#define17e=">179_CHAR99eruetr>mem_cgroup_mm_cnameu89" cla18"9#ischel> beca5"  a memtrol1modifies pccode=panmm/mem18efmscan_nlinlass="line" name="L2629aame="L3799PIfailedsrefEmem_cgroup_m9_cnam99ry controller.ass="line" name="L396"> imould /ak=1mover_uetroYsyla().8efmscan_nlinlass="line" name="L2629aemory con9 class="linetc#e22
182pan cf="overe* Has_uetroYsyla"mm/m181"> 263val1844d="L244" cla href="mm/memcow9="+code=wa9tq1796"mm/mem17"> 3959defin99id="Loomef="+code=__SPIun24"mm/mem18apdate_pageme=moass17387>178cla24"mm/mem18apdate_pageme=mot">  QUEUE_HEADef="+code=__pageent">/* &quo18 page>1828ame="L324"> 324/* &quo18 page>182mem_cgrput" clzonestaticare p9uetr,iare 9rotected bycode=mem_cgrpu9" cla99="srefE_ef="+code=move_anon" 2
20r_in22
<18e" >182pan cf="+code=mo">M/pre>182pdo.c#Leare3f/89/d4b45390db051f414e704c0bd0d8f17ae520_3/20r_b>8a href="+code=lock" clas120r1brearef20r> 388#define17e=">120r> >20r8a h>1848> 247/* &quo18 pageroYsylauetr,=4v href5 id="L3pnctionuetroare ppce=mocla1785"mm/mem17amlookm18pagemm/mem1ent">/* &quo18 lookm18pagemm/mem1t">  /* &quo18 page>182vset &g18mme>181"> 26320rc>182=> 247_va3=> 24mem_cgroupuninitializ >_va3t">   263
<20rcl>20rass="lnoswapef="+code=__SPInoswa20r4brearef20rf17ef=>1792  vve_anon" class="1826"mm/mem120r5brearef20rmmmmmmmm* OK,ewe failed20rmm>20rm18mment">   2
 set &g18mme>181"> 263val<20r7v>20r>1844d="L244" cla href="mm/memco20r7brearef20rq1796"mm/mem17"> 39520r >1Imco="_oom_wakema><18e" >182pan cf="+code=mocla1785"mm/mem17ampnctionuetroare ppce=mocode=__SPIiheruetr,iem1 class="lsylatomic_incuetroYsylauetrset &g18mme>181"> 26320r8mm/memcotc#e22   per cgroup. We .as<18e" >182pan cf="+code=moc||  per cgroup. We PageCYsylaUs8"up. We would evPageCYsylaUs8"t">  20ron>179"> 247 set &g18mme>181"> 2632088a h>1848> 247witch  20em1>208c>182=> 247183RSS MEMCG_NR_FILE_MAPPE3tes>:et &g18mme>181"> 263208pu" clas18ef=>1822183RSS MEM_CGROUP_STAT_FILE_MAPPE3uetrset &g18mme>181"> 2632084u" clas18ef=>1822181"> 263208m18mment">   default:et &g18mme>181"> 263208an class18334>183id="L244" cla href=BUG8"18ont>183RSS BUGt">  vset &g18mme>181"> 263178me="L325"> 2088brearef20meu89" cla1815"mm/mem18#20meu>208nlessuetroYPE_FILE,
spinloc18_t">1820s=">208rity22

 384   hno_cpu>
<18e" >182pan cf="+code=mocode=__SPIiheruetr,ie=moass17387>178clae=mot"> code=__SPIiheruetr,iotectass17387>178claotectt"> [href="+co href=idxcnameu89" cla18idxuetr]98181"> 26320oooot_assdesref,o6" id="L406" clvi20o1brearef20em18c#L318" id="L318" cl20em1>20o="mm/mem18ass="line" name="L339"20o2brearef20mem18" class="line" name20mem>20ory controller.ass="line" na6"mofmscan_nlinlass="line" name="L2620o3brearef20 cla18"2"mm/mem18ef="+co20 cl>20oierirchyeis undereoom,ass="l* siz M_effirstcch9" c trial.hYquoe=32Yquoe=e"lies from vmscan.c's magm/moal="a href=17AIM>177RSS per cgroup. We 20o4brearef2089" cla1823"mm/mem18c#L32089">20oef="mm/moom_lock()mmay not b* TODO: maybe neOVE_ary_cgr5"  big nucbers8__ big ironhm/mem18_mem;
20o..e whole subtren soewe .ave*emofmscan_nlinlass="line" name="L2620o6brearef20+code=__SPIiheruetr6920oan cl#defrol1_pc="lsylatomic_incuetcg8stoa>_pc=ity22ected biheref="+code=__SPIih2028brearef20mef="+code=__SPImcoef="m20mef>20o8mm/memcotc#ehref=aoinuetr,=i"L="L326" class="lsylatomic_incuetroYsylauetr,=4v href5 id="L3cachedass17387>178claoacheduetrsto>mem_cgrou20em1>20ority22
181"> 263spinlock_t<20mem>20memm/memcotc#ehref=aoinuetr,=i"L="L3work_href=a_mcoef="mm/mtrework_href=a"sref="+code=__SPIunwork_mcoef="mm/mtreworkuetrset &g18mme>181"> 263181"> 263183=> 24720m2n cl#defrol1 26320meue_h3set &g18mme>181"> 26320m4 href=mov17>-&>177lSS per DEFINE_PER_CPU_mcoef="mm/mtreDEFINE_PER_CPUt">  QUEUE_HEADef="+code=__26"cg8stoa>_pc="lsylatomic_incuetcg8stoa>_pc=ity298<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 263#en20p18>20m5 href=mov17>-&>177lSS per DEFINE_MUTEX_mcoef="mm/mtreDEFINE_MUTEXt">  ch9" c_mutexcnameu89" cla18percpu>ch9" c_mutexe=movset &g18mme>181"> 263 320ait>20m>1844d="L244" cla href="mm/memco2037brearef20ontrol.c#L335" id="L335120ont>20m18fal>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262038brearef20unless=mem_cgrput" clato20unl>20m17mmi>176id="L}mem_cgroup_mm_cTry_cgroonhum=1e=1778"cch9" c on1thnoncpu./I2 ed. I2183class="s2037<>2037e="Lthe memory controller./*um/mem1 which iscontr=urralr t9" ct,href="+saitq17./Tmisce=177 *>             20S p>203ry controller.ass="line" nam emofmscan_nlinlass="line" name="L262043brearef20aitqastrE>mem_cgroup_mm_20ait>2033 href=mov17>-&>177lSS per cgroup. We would eve* Has to beeUalled withoonhum=8stoa>"lsylatomic_incoonhum=8stoa>t">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=move_anon" class="1826"mm/mem12034brearef20it_infoef="+code=__SPIoo20it_>203="L326" class="lass="line"_seleL42035brearef20re protected bycode=mem_20re >203etroare proteQUEUE_HEADef="+code=__26"cg8stoa>_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> set &g18mme>181"> 263,
20379"> 26er cgroup. We would ecgroup. We would eve* Has to beeUalled withrefup. We would evrefuetrcla1785"mm/mem17ame="L384"> 384     17ame>178id="L244" cla* file p} e2037brearef20mem_cgrput" clwait_queue20mem>203lse22
mem_2038brearef2018static struct 20389"> 26er cgroup. We would e_toa>"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenue ct_cpu>va3=> 24mem_cgroup ct_cpu>va3"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 263203"mm/memcotc#e22<18e" >182pan cf="+code=moclla1785"mm/mem17am_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetr_ch_mcch_mc L244" cla href=_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetrve_anon" class="1826"mm/mem1205_brearef207207183id="L244" cla href=_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetr--set &g18mme>181"> 2632071ity22
ch9" cm emofmscan_nlinlass="line" name="L262052brearef20__SPIloops=ef
Y207m_cgrput" clPAGE_SHIFTs=ef>mem_cgrourefup. We would evrefuetrcla1785"mm/mem17am_lockef="+code=__SPIoom_lockastr
va3=> 24mem_cgroupput_cpu>va3"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 263mem20___>2074u" clas18ef=mem17387"> 387181"> 263waitq;       20m17>207>1844d="L244" cla href="mm/memco2057brearef20SPImcoef="mm/mrePE_imabl20SPI>20718fal>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262058brearef20a href="mm/memcomcoef="m20a h>20717mmi>176id="L}mem_cgroup_mm_cRef="+sastoa>onoacheduin percpuup_mres_otecter 34m/mem18_mem;
"lsylatomic_incdrain8stoa>t">  QUEUE_HEADef="+code=__26"cg8stoa>_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> ve_anon" class="1826"mm/mem12061brearef20=17358>176020_m_cgrput" clPQUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324178claoldmotrcla1785"mm/mem17am_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetrset &g18mme>181"> 26320_ass="lnoswapef="+code=__SPInoswa2064brearef20mm/mem17test_bit(20_4mm/memcotc#e22"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetrv2ected biheref="+code=__SPIih2065brearef20tected broot_assde=mem_c20tec>20_m18mment">   2
"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetrm_cper cgroup. We PAGE_SIZE_mcoef="mm/mtrePAGE_SIZEuetrset &g18mme>181"> 263msrefE>mem_cg20 hr>20_>1844d="L244" cla href="mm/memco2067brearef20=mov17>-&>176"> 263<20=mo>20_ >1796 387unch9" cup. We would evres_otecter>unch9" ct">  ch_mcoef="mm/mtrenueSldass17387>178claoldmotrcode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr98 263);
20"mm>20_="srefE_ef="+code=mov22 ve_anon" class="1826"mm/mem12069brearef20ode=bool" class="sref">b20ode>20_on>179"> 247 387unch9" cup. We would evres_otecter>unch9" ct">  ch_mcoef="mm/mtrenueSldass17387>178claoldmotrcode=__SPIiheruetr,i="1swcnameu89" cla1825"swuetr98 26320lhn class18334>183id="L244" cla href=_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetr_181"> 263176RSS per 20ref>20l8a h>1848> 24367" class="linetest_ass="li20l2brearef20/a>->20/a>>20lc>182=> 247"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetr_la1785"mm/mem17amNULLass17387>178claNULLuetrset &g18mme>181"> 263/p *>            20t">>20leue_h367" class="linetest_ass="li20l4brearef20moom_lockef="+code=__SPI20moo>20l="L3267" class="linetest_ass="li20l5brearef20nt"> * Maximu17las>177">20nt">20l..e whole subtren soewe .av6"mofmscan_nlinlass="line" name="L262076brearef20ref= href="mm/staticare 20ref>20l67" class="linefalse22
 "/Tmiscmust9" cla176drcgrouppreempt diss173" orcmust9" cla176drbymofmscan_nlinlass="line" name="L262077brearef20="1776"mm/mem17ontrol.c#20="1>20l18fal>180"> 26}mem_cgroup_mm_ca thclas which iscpinned3"mmlocal1cpu.mofmscan_nlinlass="line" name="L262078brearef20ted bycode=mem_cgrput" c20ted>20l17mmi>176id="L}mem_cgroup_mm_emofmscan_nlinlass="line" name="L262079brearef20ef6" id="L406" cliheref=20ef6>20l9 href=mov17oomef="+code=__SPIundrain8local8stoa>"lsylatomic_incdrain8local8stoa>t">  QUEUE_HEADef="+code=__work_href=a_mcoef="mm/mtrework_href=a"srefame="L324"> 324 ve_anon" class="1826"mm/mem1208_brearef202020<8a h>1848> 247_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenue__ ct_cpu>va3=> 24mem_cgroup__ ct_cpu>va3"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 263 379<17"li>178lSS per c20> 3>20182=> 247"lsylatomic_incdrain8stoa>t">  me="L324"> 324"lsylatomic_incstoa>t"> vset &g18mme>181"> 26320<3>1811/* &quo18 oup_r_b18t">  me="L324"> 324t"> code=__SPIiheruetr,iflagh_mcoef="mm/mtreflaghe=movset &g18mme>181"> 26320<4ue_h367" class="linetest_ass="li2085brearef20+code=__SPImcoef="mm/mih20+co>20,
<20<6brearef20eref="+code=__SPIiheruet20ere>20<67" class="linefalse22
6"mofmscan_nlinlass="line" name="L262087brearef20_mm_cnameu89" cla1786"mm20_mm>20<18fal>180"> 26}mem_cgroup_mm_cCachecch9" cs(val) which iscfrom res_otecter,3"mmlocal1per>cpu 173a.mofmscan_nlinlass="line" name="L262088brearef20" cla6" id="L406" cliher20" c>20<17mmi>176id="L}mem_cgroup_mm_cTmiscwill9" coonhum=d by oonhum=8stoa>/me 34, later.mofmscan_nlinlass="line" name="L262089brearef20"+code=__SPIoom_lockastr20"+c>20<7e="Lthe memory controller./*emofmscan_nlinlass="line" name="L26209_brearef205>1787e="L325"> 32}mem_c205>1>205> href=mov17oomef="+code=__SPIunrlaa178stoa>"lsylatomic_incrlaa178stoa>t">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo,a*i"L="L32__SPImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetrve_anon" class="1826"mm/mem12091brearef20"> 388#define17e=">120"> >2051"L326" class="lass="line"_seleL42092brearef20PIfailedsrefEmem_cgroup_20PIf>205m_cgrput" clPQUEUE_HEADef="+code=__26"cg8stoa>_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenue ct_cpu>va3=> 24mem_cgroup ct_cpu>va3"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 2632054mm/memcotc#e22"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetr_!la1785"mm/mem17am/a><18e" >182pan cf="+code=mov {to>   2
"lsylatomic_incdrain8stoa>t">  me="L324"> 324"lsylatomic_incstoa>t"> vset &g18mme>181"> 263val<2017v>205an class18334>183id="L244" cla href=_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetr_la1785"mm/mem17am/a><18e" >182pan cf="+code=moset &g18mme>181"> 263 395205_TYPE,
 2098brearef20rotected bycode=mem_cgrp20rot>20589"> 26er cgroup. We would e_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetr_+la1785"mm/mem17amnr8pageh_mcoef="mm/mtrenr8pagehuetrset &g18mme>181"> 263205rity22
va3=> 24mem_cgroupput_cpu>va3"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=movset &g18mme>181"> 263210ooot_assdesref,o6" id="L406" clvi21r1brearef21r> 388#define17e=">121r> >210="mm/mem18ass="line" name="L339"21r2brearef21rIfailedsrefEmem_cgroup_21rIf>210ry controller.ass="line" na6"mofmscan_nlinlass="line" name="L2621r3brearef21rclass="linetc#e22
<21rcl>210ierirchyeis undereoom,ass="l* Drains a171per-CPUcch9" c oachesemofmscan_nlinlass="line" name="L2621r4brearef21rf17ef=>1792val<21r7v>21067" class="linefalse22
 "emofmscan_nlinlass="line" name="L2621r7brearef21rq1796"mm/mem17"> 3952107 href=mov17oomef="+code=__SPIundrain8a178stoa>"lsylatomic_incdrain8a178stoa>t">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 32421r8mm/m6" class="lass="line"_seleL421r9brearef21rmem17control.c#L397" id21rme>21ron>179"> 247<__SPImco="_oom_wakecpuass17387>178claopuuetr98178claourcpuuetrset &g18mme>181"> 2632188a h>1848> 24o>  21em1>211c>182=> 247  vset &g18mme>181"> 2632113>1811178claourcpuuetr_la1785"mm/mem17am ct_cpu=> 24mem_cgroup ct_cput">  vset &g18mme>181"> 2632184u" clas18ef=__SPIiheruetr,ifor_each_on="co_cpu_mcoef="mm/mtrefor_each_on="co_cpu"mm/m178claopuuetrv2ected biheref="+code=__SPIih2115brearef21cgroup_mm_cnameu89" cla121cgr>211m18mment">   2
_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenueper>cpu=> 24mem_cgroupper>cpu"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=mo98178claopuuetrvset &g18mme>181"> 263218an class18334>183id="href=aoinuetr,=i"L="L326" class="lsylatomic_incuetroYsylauetr,=4v href5 id="L3/a><18e" >182pan cf="+code=mo">MEM_CGROUP_MAX_SOFT1789"mm2187brearef21Ioom_lockastr
211="srefE_ef="+code=mov4v href5 id="L3/a><18e" >182pan cf="+code=mocla1785"mm/mem17am_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,ioachedass17387>178claoacheduetrset &g18mme>181"> 263spinloc18_t">1821s=">211on>179"> 247182pan cf="+code=moc||  per cgroup. We _toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetrve_anon" class="1826"mm/mem1212_brearef21oomef="+code=__SPImcoef=21oom>212hn class18334>183id="""""""""826"inueset &g18mme>181"> 2632121n>179"> 247"lsylatomic_incuetroYsyla8s18"_or_sub"mm/m<18e" >182pan cf="+code=movve_anon" class="1826"mm/mem12122brearef21mem18" class="line" name21mem>212m_cgrput" clPAGE_SHIF""""""""826"inueset &g18mme>181"> 2631822/* &quo18 test_and_sct_b18t">  me="L324"> 324t"> code=__SPIiheruetr,iflagh_mcoef="mm/mtreflaghe=movv2ected biheref="+code=__SPIih21o4brearef2189" cla1823"mm/mem18c#L32189">2124u" clas18ef=>18221822178claopuuetrclla1785"mm/mem17amourcpuass17387>178claourcpuuetrve_anon" class="1826"mm/mem12125brearef21="L406" clatomic_inc=mem21="L>212m18mment">   2
"lsylatomic_incdrain8local8stoa>t">  ch_mcoef="mm/mtrenue_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,iwork_mcoef="mm/mtreworkuetrvset &g18mme>181"> 263212an class18334>183id="""""""""e=meet &g18mme>181"> 263 >1796178claopuuetr bch_mcoef="mm/mtrenue_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,iwork_mcoef="mm/mtreworkuetrvset &g18mme>181"> 263212="srefE_ef="+code=movassdesref,o6" id="L406" clvi21o9brearef21em18ass="sref">mem_cgrou21em1>21ority22
spinlock_t<21mem>21memm/memcotc#e href=prioritysput_cpu=> 24mem_cgroupput_cput">  vset &g18mme>181"> 263183=> 247213m_cgrput" clP22213pu" clas18ef=>1822/* &quo18 ou8uetrset &g18mme>181"> 263213="L3267" class="linetest_ass="li2135brearef21p1833"mm/mem18331#en21p18>213ef="m18331>183trol.the memorfor_each_on="co_cpu_mcoef="mm/mtrefor_each_on="co_cpu"mm/m178claopuuetrv2ected biheref="+code=__SPIih2136brearef21aitq1835"mm/mem18334"> 321ait>213an class18334>183id="href=aoinuetr,=i"L="L326"cg8stoa>_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenueper>cpu=> 24mem_cgroupper>cpu"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=mo98178claopuuetrvset &g18mmref="+code=__SPIih2137brearef21ontrol.c#L335" id="L335121ont>213 >1796/* &quo18 test_b18t">  me="L324"> 324t"> code=__SPIiheruetr,iflagh_mcoef="mm/mtreflaghe=movvet &g18mmref="+code=__SPIih2138brearef21unless=mem_cgrput" clato21unl>213="srefE_ef="+code=move_anon" __SPIiheruetr,iflush_work_mcoef="mm/mtreflush_workt">  ch_mcoef="mm/mtrenue_toa>"lsylatomic_incstoa>t"> code=__SPIiheruetr,iwork_mcoef="mm/mtreworkuetrvset &g18mme>181"> 263      21_SP>213rity22
<18e" >183class="s2137<>2137e="Lt/a>/* &quo18 ou8uetr:et &g18mme>181"> 263mem_cgroup_mm_cnameu821rE>>2141mm/memcotc#e href=prioritysput_on="co_cpuh_mcoef="mm/mtreput_on="co_cpuht">  vset &g18mme>181"> 263 *>             21S p>213ry coassdesref,o6" id="L406" clvi2143brearef21aitqastrE>mem_cgroup_mm_21ait>214ass="lnoswapef="+code=__SPInoswa2134brearef21it_infoef="+code=__SPIoo21it_>214ef="mm/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262135brearef21re protected bycode=mem_21re >214..e whole subtren soewe .ave* Tries u89drain1e=1778"cch9" cs8__ other1cpus./Tmisc 34e_s asynchronouht"fmscan_nlinlass="line" name="L262136brearef21em18OVE_TYPE,
21467" class="linefalse22
 "/a hrjust9put a1work per1cpue21418fal>180"> 26}mem_cgroup_mm_cexpects somecch9" cscwill9" cbackup_mres_otecter2147e="Lthe memory controller./*emofmscan_nlinlass="line" name="L26215_brearef217215_ href=mov17oomef="+code=__SPIundrain8a178stoa>_async"lsylatomic_incdrain8a178stoa>_asynct">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 3242151"L326" class="lass="line"_seleL42152brearef21__SPIloops=ef
Y217m_cgrput" clPm/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262173brearef21PSs=efEEmem_cgroup_mm_cn21PSs>215ierirchyeis undereoom,ass="line" name/I2;
215ef="m18331>1822"lsylatomic_incuutex_tryloa>t">  ch_mcoef="mm/mtrenuepercpu>ch9" c_mutexcnameu89" cla18percpu>ch9" c_mutexe=movvet &g18mmref="+code=__SPIih2156brearef21m17ef">waitq;       21m17>215an class18334>183id="9 set &g18mme>181"> 263215 >1Imco="_oom_wakedrain8a178stoa>"lsylatomic_incdrain8a178stoa>t">   26321589"> 26er cgroup. We would euutex_e* Has"lsylatomic_incuutex_e* Hast">  ch_mcoef="mm/mtrenuepercpu>ch9" c_mutexcnameu89" cla18percpu>ch9" c_mutexe=movset &g18mme>181"> 263mem21__S>216f1844d="L244" cla href="mm/memco2161brearef21=17358>1760_sync"lsylatomic_incdrain8a178stoa>_synct">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324(21_4mm/memcotc#eour hierirchyeis alrea/_cla176drwhene183trol.the memoruutex_ Has"lsylatomic_incuutex_ Hast">  ch_mcoef="mm/mtrenuepercpu>ch9" c_mutexcnameu89" cla18percpu>ch9" c_mutexe=movset &g18mme>181"> 263msrefE>mem_cg21 hr>21679"> 26er cgroup. We would edrain8a178stoa>"lsylatomic_incdrain8a178stoa>t">   384     17amevset &g18mme>181"> 263-&>176"> 263<21=mo>216 >1Imco="_oom_wakeuutex_e* Has"lsylatomic_incuutex_e* Hast">  ch_mcoef="mm/mtrenuepercpu>ch9" c_mutexcnameu89" cla18percpu>ch9" c_mutexe=movset &g18mme>181"> 263);
21"mm>21_="sreassdesref,o6" id="L406" clvi2169brearef21ode=bool" class="sref">b21ode>21_on>17ssdesref,o6" id="L406" clvi217_brearef21lhe administrator determ21lhe>2177e="Lthe memory controller.6"mofmscan_nlinlass="line" name="L2621l1brearef21ref="+c17tes>176RSS per 21ref>217n ofmour hierirchyeis alreadsuTmisc 34edrains percpuuotecter->21/a>>217ry controller.ass="line" nam 1movecit3"mmlocal1cpu.1Note3"hatptmisc 34eoan9" cpreempt6dm/mem18_mem;
/p *>            21t">>217ierirchyeis undereoom,ass="l*emofmscan_nlinlass="line" name="L2621l4brearef21moom_lockef="+code=__SPI21moo>2174_cgrf=mov17oomef="+code=__SPIunuetroYsyla8drain8pcp_otecter"lsylatomic_incuetroYsyla8drain8pcp_otectert">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo98__SPImco="_oom_wakecpuass17387>178claopuuetrvn_nlinlass="line" name="L2621l5brearef21nt"> * Maximu17las>177">21nt">21l..e w6" class="lass="line"_seleL42176brearef21ref= href="mm/staticare 21ref>21779"> 26er cgr__SPImco="_oom_wakeiass17387>178claiuetrset &g18mme>181"> 26321789"> 26er cgroup. We would e_pin8loc>"lsylatomic_incspin8loc>t">  ch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ipcp_otecter8loc>"lsylatomic_incpcp_otecter8loc>e=movset &g18mme>181"> 263217rity22
178claiuetr_178claiuetr <sPImco="_oom_wakeMEM_CGROUP_STAT_NSTATSass17387>178claMEM_CGROUP_STAT_NSTATSuetrsPImco="_oom_wakeiass17387>178claiuetr++v2ected biheref="+code=__SPIih218_brearef21218hn class18334>183id="lof=hper cgroup. We xcnameu89" cla18xuetrcla1785"mm/mem17amper>cpu=> 24mem_cgroupper>cpu"mm/m<18e" >182pan cf="+code=mocode=__SPIiheruetr,ie=moass17387>178clae=mot"> code=__SPIiheruetr,iotectass17387>178claotectt"> [href="+co href=iass17387>178claiuetr]98178claopuuetrvset &g18mmref="+code=__SPIih2181brearef21lassGE_TYPE_________cm..21las>218="mm/mem18ass="line" name="L339"2182brearef21> 379<17"li>178lSS per c21> 3>218m_cgrput" clPAGE_SHIFTs=ef>mem_cgrouper>cpu=> 24mem_cgroupper>cpu"mm/m<18e" >182pan cf="+code=mocode=__SPIiheruetr,ie=moass17387>178clae=mot"> code=__SPIiheruetr,iotectass17387>178claotectt"> [href="+co href=iass17387>178claiuetr]98178claopuuetrv_181"> 263218pu" clas18ef=>1822<18e" >182pan cf="+code=mocode=__SPIiheruetr,inocpu>backef="+code=__SPInocpu>backe=mo.__SPIiheruetr,iotectass17387>178claotectt"> [href="+co href=iass17387>178claiuetr]_+la1785"mm/mem17amxcnameu89" cla18xuetrset &g18mme>181"> 2632184mm/memcotc#eassdesref,o6" id="L406" clvi2185brearef21+code=__SPImcoef="mm/mih21+co>2185ity22
178claiuetr_178claiuetr <sPImco="_oom_wakeMEM_CGROUP_EVENTS_NSTATSass17387>178claMEM_CGROUP_EVENTS_NSTATSuetrsPImco="_oom_wakeiass17387>178claiuetr++v2ected biheref="+code=__SPIih2186brearef21eref="+code=__SPIiheruet21ere>218an class18334>183id="*i"L="L32lof=hper cgroup. We xcnameu89" cla18xuetrcla1785"mm/mem17amper>cpu=> 24mem_cgroupper>cpu"mm/m<18e" >182pan cf="+code=mocode=__SPIiheruetr,ie=moass17387>178clae=mot"> code=__SPIiheruetr,ievassh_mcoef="mm/mtreevassht"> [href="+co href=iass17387>178claiuetr]98178claopuuetrvset &g18mmref="+code=__SPIih2187brearef21_mm_cnameu89" cla1786"mm21_mm>218lse22
mem_2188brearef21" cla6" id="L406" cliher21" c>218="srefE_ef="+code=mov4v href5 id="L3per>cpu=> 24mem_cgroupper>cpu"mm/m<18e" >182pan cf="+code=mocode=__SPIiheruetr,ie=moass17387>178clae=mot"> code=__SPIiheruetr,ievassh_mcoef="mm/mtreevassht"> [href="+co href=iass17387>178claiuetr]98178claopuuetrv_181"> 263218on>179"> 247<18e" >182pan cf="+code=mocode=__SPIiheruetr,inocpu>backef="+code=__SPInocpu>backe=mo.__SPIiheruetr,ievassh_mcoef="mm/mtreevassht"> [href="+co href=iass17387>178claiuetr]_+la1785"mm/mem17amxcnameu89" cla18xuetrset &g18mme>181"> 2631787e="L325"> 32}mem_c215>1>2190mm/memcotc#eassdesref,o6" id="L406" clvi2191brearef21"> 388#define17e=">121"> >2191mm/memcotc#e href=prioritysspin8e* Has"lsylatomic_incspin8e* Hast">  ch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ipcp_otecter8loc>"lsylatomic_incpcp_otecter8loc>e=movset &g18mme>181"> 263219ry coassdesref,o6" id="L406" clvi2193brearef21 class="linetc#e22
<21 cl>215ass="lnoswapef="+code=__SPInoswa2194brearef21ef17ef=>1792cpuin18ent">/* &quo18 _>cpuin18mm/meoef="mm/mtrenue/a><1_cpu>hotplu1_callback8e" >182pan cf="+cod_cpu>hotplu1_callbackt">  QUEUE_HEADef="+code=__notifier8bloc>"lsylatomic_incnotifier8bloc>8e" name="L324"> 324215m18mment">   2
 34"lsylatomic_incac> 34e=mo9lnoswapef="+code=__SPInoswa2196brearef2117val" class="sref">val<2117v>215an class18334>183id="""""""""""""""""""""""""oomefame="L324"> 324178clahopuuetrvn_nlinlass="line" name="L262197brearef21tq1796"mm/mem17"> 395215_TYPEected biheref="+code=__SPIih2198brearef21rotected bycode=mem_cgrp21rot>21589"> 26er cgr__SPImco="_oom_wakecpuass17387>178claopuuetr_ 324178clahopuuetrset &g18mme>181"> 263215rity22
_pc="lsylatomic_incuetcg8stoa>_pc=ity22ame="L324"> 324"lsylatomic_incstoa>t"> set &g18mme>181"> 263220emm/memcotc#ehref=aoinuetr,=i"L="L326"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324 set &g18mme>181"> 263 388#define17e=">122r> >220="mm/mem18ass="line" name="L339"22r2brearef22rIfailedsrefEmem_cgroup_22rIf>220m_cgrput" clP22 34"lsylatomic_incac> 34e=moclla1785"mm/mem17amCPU_ONLINE_mcoef="mm/mtreCPU_ONLINEuetrvn_nlinlass="line" name="L2622r3brearef22rclass="linetc#e22
<22rcl>220pu" clas18ef=>1822 387 set &g18mme>181"> 2631792220ef="m18331>1822 34"lsylatomic_incac> 34e=moc!la1785"mm/mem17amCPU_DEAD_mcoef="mm/mtreCPU_DEADuetr &h_mcch_mc L244" cla href=ac> 34"lsylatomic_incac> 34e=moc!la1785"mm/mem17amCPU_DEAD_FROZEN_mcoef="mm/mtreCPU_DEAD_FROZENuetrvn_nlinlass="line" name="L2622r6brearef22r7val" class="sref">val<22r7v>220an class18334>183id="9 87"> 387 set &g18mme>181"> 263 395220lse22
mem_22r8brearef22rotected bycode=mem_cgrp22rot>22089"> 26er cgroup. We would efor_each_26"oup_mm_cnameu89" cla18for_each_26"oup_mm_"mm/m vn_nlinlass="line" name="L2622r9brearef22rmem17control.c#L397" id22rme>220on>179"> 247roYsyla8drain8pcp_otecter"lsylatomic_incuetroYsyla8drain8pcp_otectert">   98178claopuuetrvset &g18mmref="+code=__SPIih221_brearef228f 3982211mm/memcotc#e href=prioritysstoa>"lsylatomic_incstoa>t"> clach_mcoef="mm/mtrenueper>cpu=> 24mem_cgroupper>cpu"mm/m<18stoa>"lsylatomic_incuetcg8stoa>e=mo98178claopuuetrvset &g18mmref="+code=__SPIih2282brearef22em18n class="comment">  22em1>221c>182=> 247"lsylatomic_incdrain8stoa>t">  me="L324"> 324"lsylatomic_incstoa>t"> vset &g18mme>181"> 2632213>1811 87"> 387 set &g18mme>181"> 2632214ue_h367" class="linetest_ass="li2215brearef22cgroup_mm_cnameu89" cla122cgr>221clatomic_incuetroYPE_FILE,
<2286brearef22="L406" cliheref="+code=22="L>221>1844d="L244" cla href="mm/memco2287brearef22Ioom_lockastr
 26}mem_cgroup_m6" See __26"oup_mm__try>ch9" c/me221="sreenum2ected biheref="+code=__SPIih2289brearef22s="sref">spinloc18_t">1822s=">221rity22
 26}mem_cgroup_m6" sucOVE_l*emofmscan_nlinlass="line" name="L26222_brearef22oomef="+code=__SPImcoef=22oom>222emm/memcotc#e href=prioritysCHARGE_RETRY_mcoef="mm/mtreCHARGE_RETRYe=mo98 2472221mm/memcotc#e href=prioritysCHARGE_NOMEM_mcoef="mm/mtreCHARGE_NOMEMe=mo98 247 8-ENOMEMreemofmscan_nlinlass="line" name="L2622o2brearef22mem18" class="line" name22mem>222c>182=> 2472224u" c}set &g18mme>181"> 263222clatomic_incuetroYPE_FILE,
<22o6brearef22+code=__SPIiheruetr69222an clf=mov17__SPImco="_oom_wakeuetroYsyla8do_ch9" cup. We would evuetroYsyla8do_ch9" ct">  QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo98me="L324"> 324182pan cf=gf__tmm/meoef="mm/mtrenuegf__mas>"lsylatomic_incgf__mas>e=mo9lnoswapef="+code=__SPInoswa22o7brearef22325" class="18#L3>182me=22325>222 >1796"lsylatomic_incoo"mmhea>t"> vn_nlinlass="line" name="L2622o8brearef22mef="+code=__SPImcoef="m22mef>2228mm/m6" class="lass="line"_seleL422o9brearef22em18ass="sref">mem_cgrou22em1>22ority22
181"> 263spinlock_t<22mem>223emm/memcotc#ehref=aoinuetr,=i"L="L326"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<25"mover8lim18ent">/* &quo18 25"mover8lim18uetrset &g18mme>181"> 263/* &quo18 res_otecter8e" name="L324"> 324181"> 263183=> 247223m_cgrput" clP*i"L="L32lof=hper cgroup. We flagh_mcoef="mm/mtreflaghe=mo_181"> 263223pu" clas18ef=__SPImco="_oom_wakerefup. We would evrefuetrset &g18mme>181"> 263223="L3267" class="linetest_ass="li2235brearef22p1833"mm/mem18331#en22p18>223ef="m18331>183trol.the memorrefup. We would evrefuetrcla1785"mm/mem17amres_otecter>ch9" cent">/* &quo18 res_otecter_ch9" ct">  ch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr98181"> 263 322ait>223>1844d="L244" cla href="mm/memco2237brearef22ontrol.c#L335" id="L335122ont>223 >122   per cgroup. We refup. We would evrefuetrvv2ected biheref="+code=__SPIih2238brearef22unless=mem_cgrput" clato22unl>223="srefE_ef="+code=mov22 ve_anon" class="1826"mm/mem122m9brearef22_SPIiheruetr69      22_SP>223on>179"> 247 87"> 387181"> 263<18e" >183class="s2237<>224hn class18334>183id="L244" cla href=refup. We would evrefuetrcla1785"mm/mem17amres_otecter>ch9" cent">/* &quo18 res_otecter_ch9" ct">  ch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,im"1swcnameu89" cla1825"swuetr98181"> 263mem_cgroup_mm_cnameu822rE>>2241n>179"> 247   per cgroup. We refup. We would evrefuetrvvet &g18mme>181"> 263 *>             22S p>224m_cgrput" clPAGE_SHIF""""""""9 87"> 387181"> 263mem_cgroup_mm_22ait>224ass="lnoswapef="+code=__SPInoswa2234brearef22it_infoef="+code=__SPIoo22it_>2244u" clas18ef=>1822unch9" cup. We would evres_otecter>unch9" ct">  ch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr98181"> 263224m18mment">   2
/* &quo18 25"mover8lim18uetr_la1785"mm/mem17am/a>roYsyla8from_res_otecterent">/* &quo18 /a>roYsyla8from_res_otectert">  me="L324"> 324swcnameu89" cla1825"swuetrvset &g18mme>181"> 263,
224an class18334>183id="L244" cla href=flagh_mcoef="mm/mtreflaghe=mo_|la1785"mm/mem17amMEM_CGROUP_RECLAIM_NOSWAP_mcoef="mm/mtreMEM_CGROUP_RECLAIM_NOSWAPe=moset &g18mme>181"> 263224_TYPE,
181"> 263static struct 224="srefE_ef="+code=mov4v href5 id="L3/a>mover8lim18ent">/* &quo18 25"mover8lim18uetr_la1785"mm/mem17am/a>roYsyla8from_res_otecterent">/* &quo18 /a>roYsyla8from_res_otectert">  me="L324"> 324 263224rity22
2257e="Lthe memory controller.+code=mov* nr8pageheoan9" ceither1nliuge page (HPAGE_PMD_NR),1nlbatchmofmscan_nlinlass="line" name="L262251brearef22GE_TYPE_ i6 4ntrol.L326"22GE_>225n ofmour hierirchyeis alreadcode=mov* of"9;
225ry controller.ass="line" namcode=mov*/mem18_mem;
 34allbatchef=, 9;
;
225..e whole subtren soewe .aveine" nameemofmscan_nlinlass="line" name="L262256brearef22m17ef">waitq;       22m17>225an class1833422 ve_anon" class="1826"mm/mem12257brearef22SPImcoef="mm/mrePE_imabl22SPI>225 >1796 87"> 387181"> 26322589"> et &g18mme>181"> 263e=mo ch_mc L244" cla href=__GFP_WAIT"lsylatomic_inc__GFP_WAITuetrvvet &g18mme>181"> 263mem22__S>226hn class18334>183id="9 87"> 387181"> 2631760226c>182=> 247roYsyla8re uniment">/* &quo18 /a>roYsyla8re unim"mm/mmover8lim18ent">/* &quo18 25"mover8lim18uetr98me="L324"> 324"lsylatomic_incgf__mas>e=mo9"L244" cla href=flagh_mcoef="mm/mtreflaghe=movset &g18mme>181"> 2632263n class1833422roYsyla8m9" i4"lsylatomic_inc/a>roYsyla8m9" i4"mm/mmover8lim18ent">/* &quo18 25"mover8lim18uetr) ode=la1785"mm/mem17amnr8pageh_mcoef="mm/mtrenr8pagehuetrvet &g18mme>181"> 263(2264u" clas18ef=>1822 87"> 387181"> 263226ef="m18331>183he memory controller.6"mofmscan_nlinlass="line" name="L262266brearef22 href=viL4>msrefE>mem_cg22 hr>22667" class="linefalse22
 ine" namelEven thoughmthe1lim18 iscexceeded atptmiscpoint, re unim"mfmscan_nlinlass="line" name="L262267brearef22=mov17>-&>176"> 263<22=mo>22618fal>180"> 26}mem_cgroup_mmine" namelmay have1been able"to free somecpageh.  R);
22"mm>22617mmi>176id="L}mem_cgroup_mmine" namelbefore killef=hthe1tas>m/mem18_mem;
b22ode>2267e="Lthe memory controller./code=mov*/mem18_mem;
;
176RSS per 22ref>227n ofmour hierirchyeis alreadine" namelunlikely"to sucOVed soierose"to the1lim18,na hrwe fa171backt"em18_mem;
->22/a>>227ry controller.ass="line" namine" namel"mm9/p *>            22t">>227ierirchyeis undereoom,ass="line" nameemofmscan_nlinlass="line" name="L2622l4brearef22moom_lockef="+code=__SPI22moo>2274mm/memcotc#e22 * Maximu17las>177">22nt">227m18mment">   2
 87"> 387181"> 263183he memory controller.6"mofmscan_nlinlass="line" name="L262278brearef22ted bycode=mem_cgrput" c22ted>22717mmi>176id="L}mem_cgroup_mmine" namelAt1tas>1move,cch9" c acotectheoan9" cdoubly"otected. So, it'ht"fmscan_nlinlass="line" name="L262279brearef22ef6" id="L406" cliheref=22ef6>2277e="Lthe memory controller./code=mov*9" tter<"mmwaiteect_7_moveci2roYsyla8waitracot_move"mm/mmover8lim18ent">/* &quo18 25"mover8lim18uetr)vn_nlinlass="line" name="L262282brearef22> 379<17"li>178lSS per c22> 3>228m_cgrput" clPAGE_SHIF9 87"> 387181"> 263228ass="lnoswapef="+code=__SPInoswa2284brearef22/mem17GROUP_CHARGE_TYPE_22/me>2284mm/memcotc#eo> 8iid=diately"eemofmscan_nlinlass="line" name="L262285brearef22+code=__SPImcoef="mm/mih22+co>228ef="m18331>1822"lsylatomic_incoo"mmhea>t"> vn_nlinlass="line" name="L262286brearef22eref="+code=__SPIiheruet22ere>228an class18334>183id="9 87"> 387181"> 2632287f="m18331>183he memory controller.6" mhea>228="srefE_ef="+22roYsyla8ha hle_oo""mm/mmover8lim18ent">/* &quo18 25"mover8lim18uetr98me="L324"> 324"lsylatomic_incgf__mas>e=mo9"L244" cla href= ct_orderent">/* &quo18  ct_order"mm/m228on>179"> 247 87"> 387181"> 2631787e="L325"> 32}mem_c225>1>229f1844d="L244" cla href="mm/memco2291brearef22"> 388#define17e=">122"> >2291mm/memcotc#e9 87"> 387181"> 263229ry coassdesref,o6" id="L406" clvi2293brearef22 class="linetc#e22
<22 cl>225ass="lnoswapef="+code=__SPInoswa2294brearef22ef17ef=>1792ch9" c/medoeht"fmscan_nlinlass="line" name="L262296brearef2217val" class="sref">val<2217v>22967" class="linefalse22
 "/1.hdetect "+cod3"mmbe1=h9" cd againstcfrom pnef6dremmna hr*ptr,t"fmscan_nlinlass="line" name="L262297brearef22tq1796"mm/mem17"> 39522918fal>180"> 26}mem_cgroup_mm_c2. update res_otectert"fmscan_nlinlass="line" name="L262298brearef22rotected bycode=mem_cgrp22rot>22917mmi>176id="L}mem_cgroup_mm_c3.mcall ineory re unim 222297e="Lthe memory controller./*mofmscan_nlinlass="line" name="L2623r_brearef23r_br17control.c#L397" id23r_b>2307e="Lthe memory controller.m"1In somecspecial1case,c22 iscfatal,Ffatal_"L="al_pe hef=/mea t"fmscan_nlinlass="line" name="L2623r1brearef23r> 388#define17e=">123r> >230n ofmour hierirchyeis alreadsuhas TIF_MEMDIE,ptmisc 34e9 s -EINTR while writef= reot_uetmm/mem18efmscan_nlinlass="line" name="L2623r2brearef23rIfailedsrefEmem_cgroup_23rIf>230ry controller.ass="line" nam 1"mm*ptr./Tmere are twmm9
<23rcl>230ierirchyeis undereoom,ass="l*eas possible"without any hazards. 2: all pageheshould have1a230ef="mm/moom_lock()mmay not b* pccode=uetmm/mem1.1IfrmmniscNULLna hrthe1=a176r1doehn't pnef1aval<23r7v>23067" class="linefalse22
 "mofmscan_nlinlass="line" name="L2623r7brearef23rq1796"mm/mem17"> 39523018fal>180"> 26}mem_cgroup_mm_cSo __26"oup_mm__try>ch9" c/mewill99 mofmscan_nlinlass="line" name="L2623r8brearef23rotected bycode=mem_cgrp23rot>23017mmi>176id="L}mem_cgroup_mm_c 0mcotc#e...  on1sucOVE_,Ffillef=h*ptr with a2307e="Lthe memory controller./* 8-ENOMEMr...  ch9" c failurcrbecause o2;
2317e="Lthe memory controller.m"1 -EINTR r...  22231n ofmour hierirchyeis alreadsmofmscan_nlinlass="line" name="L262312brearef23em18n class="comment">  23em1>231ry controller.ass="line" nam 1Unlike231ierirchyeis undereoom,ass="l*ethe1oom-ki176r oan9" cinvok6dm/mem18_mem;
231ef="mm/moom_lock()mmay not b*emofmscan_nlinlass="line" name="L262315brearef23cgroup_mm_cnameu89" cla123cgr>231clatof=mov17__SPImco="_oom_wake_>26"oup_mm__try>ch9" c"lsylatomic_inc__26"oup_mm__try>ch9" c"mm/mhref=aoinuetr,=i"L="L32m_href=aent">/* &quo18 2m_href=amm/meame="L324"> 324<2""lsylatomic_inc/""mm/9lnoswapef="+code=__SPInoswa2386brearef23="L406" cliheref="+code=23="L>231an class18334>183id=""""""""""""""""""""me="L324"> 324182pan cf=gf__tmm/meoef="mm/mtrenuegf__mas>"lsylatomic_incgf__mas>e=mo9lnoswapef="+code=__SPInoswa2387brearef23Ioom_lockastr
 >1796231="srefE_ef="+code=move_anon"            href=aoinuetr,=i"L="L326"oup_mm_cnameu89" cla1825"mm/mem18e" naame="L324"> 324spinloc18_t">1823s=">231on>179"> 247 324 vn_nlinlass="line" name="L26232_brearef23oomef="+code=__SPImcoef=23oom>232emm/mected biheref="+code=__SPIih23o1brearef23em18c#L318" id="L318" cl23em1>2321mm/memcotc#e*i"L="L32__SPImco="_oom_wakebatchup. We would eveatchmotrcla1785"mm/mem17am/axcnameu89" cla18/ax"mm/m 9"L244" cla href=nr8pageh_mcoef="mm/mtrenr8pagehuetrvset &g18mme>181"> 263232c>182=> 247178claMEM_CGROUP_RECLAIM_RETRIESe=moset &g18mme>181"> 263 324<18e" >182pan cf="+code=mocla1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 2632324>182=> 247181"> 263232clatomic_incuetroYPE_FILE,
<23o6brearef23+code=__SPIiheruetr6923279"> 26er cgro/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L2623o7brearef23325" class="18#L3>182me=23325>23218fal>180"> 26}mem_cgroup_mmine" namelUnlike23217mmi>176id="L}mem_cgroup_mmine" namelin1eystem level. So, allow "mmgo ah 34etot"fmscan_nlinlass="line" name="L2623o9brearef23em18ass="sref">mem_cgrou23em1>2327e="Lthe memory controller./code=mov*9MEMDIEhproOVE_m/mem18_mem;
spinlock_t<23mem>2337e="Lthe memory controller.mine" nameemofmscan_nlinlass="line" name="L262331brearef23 protected biheref="+cod23 pr>2331n class1833422 vn_nlinlass="line" name="L262332brearef2329<18"li>183=> 247233m_cgrput" clPAGE_SHIF"""""||8181"> 263233="L3267" class="linetest_ass="li2335brearef23p1833"mm/mem18331#en23p18>233ef="m18331>183he memory controller.6"mofmscan_nlinlass="line" name="L262336brearef23aitq1835"mm/mem18334"> 323ait>23367" class="linefalse22
 ine" namelWe always;
 26}mem_cgroup_mmine" namelThe12m_href=a'h<25"mm/mem11migra> 34e22;
23317mmi>176id="L}mem_cgroup_mmine" namelth9eh. Ia'h;
;
183class="s2337<>2347e="Lthe memory controller.mine" nameemofmscan_nlinlass="line" name="L262341brearef23rE>mem_cgroup_mm_cnameu823rE>>2341n class1833422 324 324181"> 263mem_cgroup_mm_23ait>234ass="1785"mm/mem17amagainup. We would evagainss=":et &g18mme>181"> 2632344mm/memcotc#e22 324   2
182pan cf="+code=moclaame="L324"> 324181"> 263,
234an class18334>183id="L244" cla href=VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)vset &g18mme>181"> 263234 >1796roYsyla8is_reot"lsylatomic_inc/a>roYsyla8is_reot"mm/m<18e" >182pan cf="+code=mo)vn_nlinlass="line" name="L262338brearef2318static struct 234="srefE_ef="+code=movvvvvvvvvgo"mmImco="_oom_wakedonc"lsylatomic_incdoncuetrset &g18mme>181"> 263234on>179"> 247"lsylatomic_inc 26sume8stoa>"mm/m<18e" >182pan cf="+code=mo)vn_nlinlass="line" name="L26235_brearef237235hn class18334>183id="vvvvvvvvgo"mmImco="_oom_wakedonc"lsylatomic_incdoncuetrset &g18mme>181"> 2632351n>179"> 247182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 263_href=aent">/* &quo18 tas>_href=a8e" name="L324"> 324<1up. We would ev18etrset &g18mme>181"> 263mem23___>235="L3267" class="linetest_ass="li2355brearef23   2
"lsylatomic_incrcu_9"mm/m)set &g18mme>181"> 263waitq;       23m17>235an class18334>183id="L244" cla href=1up. We would ev18etr la1785"mm/mem17amrcu_dereferencc"lsylatomic_incrcu_dereferencc"mm/m/* &quo18 owneruetr)set &g18mme>181"> 263235 >1796_loc>(), "p" oan9exitm/mem18_mem;
;
;
236n ofmour hierirchyeis alreadine" nammmmmmmmm* But1such ki hro2;
;
;
;
-QUEUE_. So, mm-ode=owner oan9" cNULLm/mem18_mem;
 263<23=mo>236 >1796 324<18e" >182pan cf="+code=mocla1785"mm/mem17am/a>roYsyla8from_tas>"lsylatomic_inc/a>roYsyla8from_tas>"mm/m181"> 263);
23"mm>236="srefE_ef="+code=mov22<18e" >182pan cf="+code=mo)et &g18mme>181"> 263b23ode>236on>179"> 247 324<18e" >182pan cf="+code=mocla1785"mm/mem17amreot_uetmm/mem1up. We would evreot_uetmm/mem18etrset &g18mme>181"> 263237hn class18334>183id="22roYsyla8is_reot"lsylatomic_inc/a>roYsyla8is_reot"mm/m<18e" >182pan cf="+code=mo)v2ected biheref="+code=__SPIih2371brearef23ref="+c17tes>176RSS per 23ref>2371n>179"> 247 324181"> 263->23/a>>237m_cgrput" clPAGE_SHIF""""""""go"mmImco="_oom_wakedonc"lsylatomic_incdoncuetrset &g18mme>181"> 263/p *>            23t">>237pu" clas18ef=========assdesref,o6" id="L406" clvi23l4brearef23moom_lockef="+code=__SPI23moo>2374u" clas18ef=>1822"lsylatomic_inc 26sume8stoa>"mm/m<18e" >182pan cf="+code=mo)v2ected biheref="+code=__SPIih2375brearef23nt"> * Maximu17las>177">23nt">237m18mment">   2
23767" class="linefalse22
 ine" nammmmmmmmmmmmmmmmm* It seems dagesylseto acoVE_l"+cod without css_gef()m/mem18_mem;
 26}mem_cgroup_mmine" nammmmmmmmmmmmmmmmm* But1 26sideref=hhow  26sume8stok works, it'hcont/mem18_mem;
23717mmi>176id="L}mem_cgroup_mmine" nammmmmmmmmmmmmmmmm* neOVE_ary.1Ifr 26sume8stoa>1sucOVE_,Fsomecch9" cht"fmscan_nlinlass="line" name="L262379brearef23ef6" id="L406" cliheref=23ef6>2377e="Lthe memory controller./code=movmmmmmmmmmmmmmmmm* from tmisc"+cod are cachede34etmisccpu. So, we/mem18_mem;
;
()m/mem18_mem;
178lSS per c23> 3>238ry controller.ass="line" namine" nammmmmmmmmmmmmmmmm*emofmscan_nlinlass="line" name="L262383brearef23roller. mmmmmmmmGE_TYPE_23rol>238pu" clas18ef=================3e="L324"> 324181"> 2632384u" clas18ef=>1822181"> 263238m18mment">   2
238 >1796182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)v2ected biheref="+code=__SPIih2388brearef23" cla6" id="L406" cliher23" c>238="srefE_ef="+code=movvvvvvvvv3e="L324"> 324181"> 263238on>179"> 247181"> 2631787e="L325"> 32}mem_c235>1>239hn class18334>183id="assdesref,o6" id="L406" clvi2391brearef23"> 388#define17e=">123"> >2391n>179"> 247181"> 263239m_cgrput" clP et &g18mme>181"> 2632394u" clas18ef=do2ected biheref="+code=__SPIih2395brearef23 mmmmmmmm* OK,ewe failed23 mm>239m18mment">   2
"lsylatomic_incoo"mmhea>t"> set &g18mme>181"> 263val<2317v>239>1844d="L244" cla href="mm/memco2397brearef23tq1796"mm/mem17"> 395239 >1796239on>179"> 247 324182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 263240hn class18334>183id="vvvvvvvvgo"mmImco="_oom_wakebypnefup. We would eveypnefuetrset &g18mme>181"> 263 388#define17e=">124r> >2401n>179"> 247181"> 263240ry coet &g18mme>181"> 263
<24rcl>240pu" clas18ef========= beeUalled withoo"mmhea>"lsylatomic_incoo"mmhea>t"> cla1785"mm/mem17amfalsc"lsylatomic_incfalscuetrset &g18mme>181"> 26317921822  &h_mcch_mc  per cgroup. We nr8oom_retries_mcoef="mm/mtrenr8oom_retriesmotr)2ected biheref="+code=__SPIih24r5brearef24rmmmmmmmm* OK,ewe failed24rmm>240m18mment">   2
"lsylatomic_incoo"mmhea>t"> cla1785"mm/mem17ame="Lent">/* &quo18 t="Luetrset &g18mme>181"> 263val<24r7v>240an class18334>183id="""""""""per cgroup. We nr8oom_retries_mcoef="mm/mtrenr8oom_retriesmotrcla1785"mm/mem17amMEM_CGROUP_RECLAIM_RETRIESass17387>178claMEM_CGROUP_RECLAIM_RETRIESe=moset &g18mme>181"> 263 395240 >1796181"> 26324089"> et &g18mme>181"> 263240on>179"> 247roYsyla8do_ch9" cup. We would evuetroYsyla8do_ch9" ct">  oef="mm/mtrenue/a><18e" >182pan cf="+code=mo98me="L324"> 324"lsylatomic_incgf__mas>e=mo9"L244" cla href=batchup. We would eveatchmotr9"L244" cla href=oo"mmhea>"lsylatomic_incoo"mmhea>t"> vset &g18mme>181"> 2632411n>179"> 247181"> 263  24em1>241m_cgrput" clPAGE_SHIF""""""""b9181"> 263241pu" clas18ef=========oase ="+code=__SPIunCHARGE_RETRY_mcoef="mm/mtreCHARGE_RETRYe=mo:r3he memory controller.6"1ontrin OOMmsitua> 34ebut 92414u" clas18ef=>1822 263241m18mment">   2
182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 263241an class18334>183id="""""""""3e="L324"> 324<18e" >182pan cf="+code=mocla1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263 >1796181"> 263241="srefE_ef="+code=movoase ="+code=__SPIunCHARGE_WOULDBLOCK_mcoef="mm/mtreCHARGE_WOULDBLOCKe=mo:r3he memory controller.6"1!__GFP_WAIT *emofmscan_nlinlass="line" name="L262489brearef24s="sref">spinloc18_t">1824s=">241on>179"> 247182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 263242hn class18334>183id="vvvvvvvvgo"mmImco="_oom_wakeno1">_mcoef="mm/mtreno1">ss="set &g18mme>181"> 2632421n>179"> 247242m_cgrput" clPAGE_SHIF""""""""22 v2ected biheref="+code=__SPIih24o3brearef24 cla18"2"mm/mem18ef="+co24 cl>242pu" clas18ef=================nnnnnnnn3beeUalled withcss_pufup. We would evcss_puf"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 2632424u" clas18ef=>1822_mcoef="mm/mtreno1">ss="set &g18mme>181"> 263242m18mment">   2
181"> 263242an class18334>183id="""""""""3he memory controller.6"1Ifroo", we lever re/a> 8-ENOMEMr*emofmscan_nlinlass="line" name="L2624o7brearef24325" class="18#L3>182me=24325>242 >1796 263242="srefE_ef="+code=movvvvvvvvvb9181"> 263mem_cgrou24em1>242on>179"> 247spinlock_t<24mem>243hn class18334>183id="vvvvvvvv3beeUalled withcss_pufup. We would evcss_puf"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 263 247181"> 263183=> 247243m_cgrput" clPAGE_SHIF et &g18mme>181"> 263243pu" clas18ef=} while /="+code=__SPIunrefup. We would evrefuetr !la1785"mm/mem17amCHARGE_OK_mcoef="mm/mtreCHARGE_OKe=mo)set &g18mme>181"> 263243="L3267" class="linetest_ass="li2435brearef24p1833"mm/mem18331#en24p18>243ef="m18331>1822181"> 263 324ait>243an class18334>183id="L244" cla href=" ci178stoa>"lsylatomic_inc" ci178stoa>t">  oef="mm/mtrenue/a><18e" >182pan cf="+code=mo98me="L324"> 324181"> 263183beeUalled withcss_pufup. We would evcss_puf"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)set &g18mme>181"> 26324317mmi>mco="_oom_wakedonc"lsylatomic_incdoncuetr:et &g18mme>181"> 263      24_SP>243on>179"> 247 324<18e" >182pan cf="+code=moset &g18mme>181"> 263<18e" >183class="s2437<>244hn class18334re/a> 80set &g18mme>181"> 263mem_cgroup_mm_cnameu824rE>>2441n clImco="_oom_wakeno1">_mcoef="mm/mtreno1">ss=":et &g18mme>181"> 263 *>             24S p>244m_cgrput" clPame="L324"> 324182pan cf=NULLe=moset &g18mme>181"> 263mem_cgroup_mm_24ait>2443n class18334re/a> 8-1785"mm/mem17amENOMEM_mcoef="mm/mtreENOMEMe=moset &g18mme>181"> 2632444mm/mImco="_oom_wakebypnefup. We would eveypnefuetr:et &g18mme>181"> 263244m18mment">   ame="L324"> 324181"> 263,
244an class18334re/a> 8-1785"mm/mem17amEINTR_mcoef="mm/mtreEINTR8etrset &g18mme>181"> 263244181"> 263static struct 24489"> et &g18mme>181"> 2632447e="Lthe memory controller.6"mofmscan_nlinlass="line" name="L26245_brearef2472457e="Lthe memory controller.m"1So1">times we have1"mmundo1ach9" c/mm/mem18_mem;
245n ofmour hierirchyeis alreadsuTmisc 34eis ;
245ry controller.ass="line" nam 1go"tenrby1try>ch9" c/mm/mem18_mem;
26"oup_mm__cancel>ch9" c"lsylatomic_inc__26"oup_mm__cancel>ch9" c"mm/mQUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo9lnoswapef="+code=__SPInoswa2455brearef24   2
181"> 263waitq;       24m17>245an clected biheref="+code=__SPIih2457brearef24SPImcoef="mm/mrePE_imabl24SPI>245 >122roYsyla8is_reot"mm/m<18e" >182pan cf="+code=mo)v2ected biheref="+code=__SPIih2458brearef24a href="mm/memcomcoef="m24a h>245="srefE_ef="+code=mov*i"L="L32lof=mImco="_oom_wakebyteh_mcoef="mm/mtrebytehmotrcla1785"mm/mem17amnr8pageh_mcoef="mm/mtrenr8pagehuetrm 11785"mm/mem17amPAGE_SIZE_mcoef="mm/mtrePAGE_SIZE8etrset &g18mme>181"> 263181"> 263mem24__S>246hn class18334>183id="L244" cla href=" s_otecter_unch9" c"lsylatomic_inc" s_otecter_unch9" c"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr9mImco="_oom_wakebyteh_mcoef="mm/mtrebytehmotr)set &g18mme>181"> 2631760 247181"> 263246m_cgrput" clPAGE_SHIF""""""""L244" cla href=" s_otecter_unch9" c"lsylatomic_inc" s_otecter_unch9" c"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,i"+csw8e" >182pan cf="+cswuetr9mImco="_oom_wakebyteh_mcoef="mm/mtrebytehmotr)set &g18mme>181"> 263246pu" clas18ef=}et &g18mme>181"> 263(246ef="m}et &g18mme>181"> 263246clatomic_incuetroYPE_FILE,
<2466brearef24 href=viL4>msrefE>mem_cg24 hr>24667" class="linefalse22
6"mofmscan_nlinlass="line" name="L262467brearef24=mov17>-&>176"> 263<24=mo>24618fal>180"> 26}mem_cgroup_mm_cCancel);
24"mm>24617mmi>176id="L}mem_cgroup_mm_cTmisciscuseful whenrmovef=husage "mmparalr m/mem1.mofmscan_nlinlass="line" name="L262469brearef24ode=bool" class="sref">b24ode>2467e="Lthe memory controller./*emofmscan_nlinlass="line" name="L26247_brearef24lhe administrator determ24lhe>247hn clf=mov17voidPImco="_oom_wake_>26"oup_mm__cancel>local>ch9" c"lsylatomic_inc__26"oup_mm__cancel>local>ch9" c"mm/mQUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo9lnoswapef="+code=__SPInoswa2471brearef24ref="+c17tes>176RSS per 24ref>2471n>179"> 247181"> 263->24/a>>247m_cgrected biheref="+code=__SPIih2473brearef24t">/p *>            24t">>247pu" clas18ef=*i"L="L32lof=mImco="_oom_wakebyteh_mcoef="mm/mtrebytehmotrcla1785"mm/mem17amnr8pageh_mcoef="mm/mtrenr8pagehuetrm 11785"mm/mem17amPAGE_SIZE_mcoef="mm/mtrePAGE_SIZE8etrset &g18mme>181"> 263247="L3267" class="linetest_ass="li2475brearef24nt"> * Maximu17las>177">24nt">247ef="m18331>1822roYsyla8is_reot"mm/m<18e" >182pan cf="+code=mo)v67" class="linetest_ass="li2476brearef24ref= href="mm/staticare 24ref>247an class18334>183id="9 set &g18mme>181"> 263 263247="srefE_ef="+L244" cla href=" s_otecter_unch9" c_untioup. We would ev" s_otecter_unch9" c_untio"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr9mImco="_oom_wake/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,ireh_mcoef="mm/mtrerehuetr.me="L324"> 324181"> 2632479f="m18331>1822181"> 263248hn class18334>183id="L244" cla href=" s_otecter_unch9" c_untioup. We would ev" s_otecter_unch9" c_untio"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,i"+csw8e" >182pan cf="+cswuetr9et &g18mme>181"> 2632481n>179"> 247183id="L244" cla href=/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,i"+csw8e" >182pan cf="+cswuetr.me="L324"> 324181"> 263 379<17"li>178lSS per c24> 3>248ry coassdesref,o6" id="L406" clvi2483brearef24roller. mmmmmmmmGE_TYPE_24rol>248ass="lnoswapef="+code=__SPInoswa2484brearef24/mem17GROUP_CHARGE_TYPE_24/me>248ef="mm/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262485brearef24+code=__SPImcoef="mm/mih24+co>248..e whole subtren soewe .ave* A helperc 34e"mmgef /a>roYsyla from ID. mustmbe1=a176drundert"fmscan_nlinlass="line" name="L262486brearef24eref="+code=__SPIiheruet24ere>24867" class="linefalse22
 "/rcu_9(). The1=a176r1mustmmhea> css_is_removed/mea Fsomecift"fmscan_nlinlass="line" name="L262487brearef24_mm_cnameu89" cla1786"mm24_mm>24818fal>180"> 26}mem_cgroup_mm_cit'hc" ncern. (droppef= refcntmfrom swap oan9" c=a176dragainstcremoved"mfmscan_nlinlass="line" name="L262488brearef24" cla6" id="L406" cliher24" c>24817mmi>176id="L}mem_cgroup_mm_c"+cod.)"mfmscan_nlinlass="line" name="L262489brearef24"+code=__SPIoom_lockastr24"+c>2487e="Lthe memory controller./*emofmscan_nlinlass="line" name="L26249_brearef245>1787e="L325"> 32}mem_c245>1>249hn clf=mov17QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324roYsyla8lookm_cnameu89" cla1825"mm/mem18lookm_"mm/m*i"L="L32shortHEADef="+code=__idup. We would eviduetrvet &g18mme>181"> 263 388#define17e=">124"> >2491n>17ected biheref="+code=__SPIih2492brearef24PIfailedsrefEmem_cgroup_24PIf>249m_cgrput" clPQUEUE_HEADef="+code=__m/mem18subsys_f=moc"lsylatomic_incm/mem18subsys_f=moc8e" name="L324"> 324181"> 2632494u" clas18ef=3he memory controller.6"1ID 0ciscunusL32ID *emofmscan_nlinlass="line" name="L262495brearef24 mmmmmmmm* OK,ewe failed24 mm>249ef="m18331>1822181"> 263val<2417v>249an class18334>183id="9 a1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263 3952497f="m18331>183beeUalled withcssup. We would evcefuetrcla1785"mm/mem17amcss_lookm_cnameu89" cla18css_lookm_"mm/mch_mcoef="mm/mtrenue/a>_m/mem18subsyscnameu89" cla1825"mm/mem18subsysuetr9mImco="_oom_wakeidup. We would eviduetrvset &g18mme>181"> 263249="srefE_ef="+22181"> 263249on>179"> 247 a1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263250hn class18334re/a> 8oef="mm/mtrenue/a>_m/mem18from_cssup. We would ev/a>_m/mem18from_css"mm/m181"> 263 388#define17e=">125r> >2501n>17assdesref,o6" id="L406" clvi25r2brearef25rIfailedsrefEmem_cgroup_25rIf>250ry coet &g18mme>181"> 263
<25rcl>250pu" cQUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324gef_/a>_m/mem18from_pagecnameu89" cla18try>gef_/a>_m/mem18from_page"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324181"> 2631792   QUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mocla1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263val<25r7v>250an class18334QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 263 395250 >1*i"L="L32shortHEADef="+code=__idup. We would eviduetrset &g18mme>181"> 263250="srefE_ef="+L244" cla href=swp_llery>rup. We would evswp_llery>r"srefL244" cla href=alrup. We would evalruetrset &g18mme>181"> 2632507e="Let &g18mme>181"> 263181"> 2632511n>17et &g18mme>181"> 263  25em1>251m_cgrput" clPme="L324"> 324181"> 263251pu" clas18ef=1785"mm/mem17amlock_pageoup_mm_cnameu89" cla18lock_pageoup_mm_"mm/m181"> 2632514u" clas18ef=22251m18mment">   2
 324<18e" >182pan cf="+code=mocla1785"mm/mem17ampccnameu89" cla18pce=mocode=__SPIiheruetr,i"+coup_mm_cnameu89" cla1825"mm/mem18e" set &g18mme>181"> 263251an class18334>183id="22182pan cf="+code=moc&h_mcch_mc  per cgroup. We css_trygefup. We would evcss_trygef"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)vet &g18mme>181"> 263 >1796 324<18e" >182pan cf="+code=mocla1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263251="srefE_ef="+ "e=me222spinloc18_t">1825s=">251on>179"> 247 324181"> 263252hn class18334>183id="EADef="+code=__idup. We would eviduetrcla1785"mm/mem17amlookm__swap_oYsyla8idup. We would evlookm__swap_oYsyla8id"mm/m181"> 2632521n>179"> 247"mm/m)set &g18mme>181"> 263252m_cgrput" clPAGE_SHIFme="L324"> 324<18e" >182pan cf="+code=mocla1785"mm/mem17am/a>roYsyla8lookm_cnameu89" cla1825"mm/mem18lookm_"mm/mImco="_oom_wakeidup. We would eviduetrvset &g18mme>181"> 263182pan cf="+code=moc&h_mcch_mc  per cgroup. We css_trygefup. We would evcss_trygef"mm/mch_mcoef="mm/mtrenue/a><18e" >182pan cf="+code=mocode=__SPIiheruetr,icefup. We would evcefuetr)vet &g18mme>181"> 2632524u" clas18ef=>1822 324<18e" >182pan cf="+code=mocla1785"mm/mem17amNULL8e" >182pan cf=NULLe=moset &g18mme>181"> 263252m18mment">   2
181"> 263252an class18334assdesref,o6" id="L406" clvi25o7brearef25325" class="18#L3>182me=25325>2527f="m18331>183beeUalled withe* Has_pageoup_mm_cnameu89" cla18e* Has_pageoup_mm_"mm/m181"> 263252="srefE_ef="+re/a> 8oef="mm/mtrenue/a><18e" >182pan cf="+code=moset &g18mme>181"> 263mem_cgrou25em1>252on>17assdesref,o6" id="L406" clvi253_brearef25mem18="sref">spinlock_t<25mem>253hn clssdesref,o6" id="L406" clvi2531brearef25 protected biheref="+cod25 pr>2531n>17f=mov17voidPImco="_oom_wake_>26"oup_mm__commit>ch9" c"lsylatomic_inc__26"oup_mm__commit>ch9" c"mm/mQUEUE_HEADef="+code=__26"oup_mm_cnameu89" cla1825"mm/mem18e" name="L324"> 324<18e" >182pan cf="+code=mo9lnoswapef="+code=__SPInoswa2532brearef2529<18"li>183=> 247253m_cgrput" clPAGE_SHIFFFFFFFFFFFFFFFFFFFFFFFFQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 3242534u" clas18ef=>1822#en25p18>253m18mment">   2
181"> 263 325ait>253an clected biheref="+code=__SPIih2537brearef25ontrol.c#L335" id="L335125ont>2537f="m18331>18QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 2632538f="m18331>18QUEUE_HEADef="+code=__zonc"lsylatomic_inczoncuetr ame="L324"> 324181"> 263      25_SP>253on>179"> 247 324181"> 263<18e" >183class="s2537<>254hn class18334L244" cla href=bgroup. We would eve* Has to beeUalled withwas_on_lEUup. We would evwas_on_lEUe=mocla1785"mm/mem17amfalsc"lsylatomic_incfalscuetrset &g18mme>181"> 263mem_cgroup_mm_cnameu825rE>>2541n class18334L244" cla href=bgroup. We would eve* Has to beeUalled withanonup. We would evanonuetrset &g18mme>181"> 263 *>             25S p>254ry coet &g18mme>181"> 263mem_cgroup_mm_25ait>254pu" clas18ef=1785"mm/mem17amlock_pageoup_mm_cnameu89" cla18lock_pageoup_mm_"mm/m181"> 2632544u" clas18ef=1785"mm/mem17amVM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m="+code=__SPIunPageCp_mm_Used_mcoef="mm/mtrePageCp_mm_Used"mm/m181"> 263254m18mment">   m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262546brearef25em18OVE_TYPE,
25467" class="linefalse22
 ine" nam* we don't leed3pageoup_mm__loc> about tail3pages, becase they are ont/mem18_mem;
25418fal>180"> 26}mem_cgroup_mmine" nam* acoVE_6drby1any otherc" ntext atptmiscpoint.mofmscan_nlinlass="line" name="L262538brearef2518static struct 25417mmi>176id="L}mem_cgroup_mmine" nam*emofmscan_nlinlass="line" name="L262549brearef25,c#L332" id="L332" class25,c#>2547e="Let &g18mme>181"> 263255018mment">   m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262551brearef25GE_TYPE_ i6 4ntrol.L326"25GE_>255n ofmour hierirchyeis alreadine" nam* InFsomeccases, SwapCachena hrFUSE(splice_bufcode=radixtree), the page"mfmscan_nlinlass="line" name="L262552brearef25__SPIloops=ef
Y255ry controller.ass="line" namine" nam* may al9255m18mment">   2
181"> 263waitq;       25m17>255an class18334>183id="L244" cla href=spin_loc>_irqup. We would evspin_loc>_irq"mm/mch_mcoef="mm/mtrenuezonc"lsylatomic_inczoncuetrcode=__SPIiheruetr,ilEU_loc>"lsylatomic_inclEU_loc>"mm/)set &g18mme>181"> 263255 >1796roYsyla8zonc_lEUveccnameu89" cla18/a>roYsyla8zonc_lEUvec"mm/m181"> 263 247181"> 263mem25__S>256hn class18334>183id="nnnnnnnn3beeUalled withdel_pageofrom_lEU_list"lsylatomic_incdel_pageofrom_lEU_list"mm/m181"> 2631760 247/* &quo18 t="Luetrset &g18mme>181"> 263256m_cgrput" clPAGE_SHIFassdesref,o6" id="L406" clvi2563brearef25             rns=mem_cgr25   >256pu" clas18ef=}et &g18mme>181"> 263(256="L3267" class="linetest_ass="li2565brearef25tected broot_assde=mem_c25tec>256m18mment">   mmco="_oom_wakepccnameu89" cla18pce=mocode=__SPIiheruetr,i"+coup_mm_cnameu89" cla1825"mm/mem18e"  la1785"mm/mem17am/a><18e" >182pan cf="+code=moset &g18mme>181"> 263msrefE>mem_cg25 hr>256an class18334m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262567brearef25=mov17>-&>176"> 263<25=mo>25618fal>180"> 26}mem_cgroup_mmmmmmmmmm* We acoVE_ a3pageoup_mm_ asynchronously without lock_pageoup_mm_/mm/mem18_mem;
);
25"mm>25617mmi>176id="L}mem_cgroup_mmmmmmmmmm* Especially whenra3pageoup_mm_ isctakenmfrom a3page, pccode=25"mm/mem18eem18_mem;
b25ode>2567e="Lthe memory controller./mmmmmmmm* iscacoVE_6drafter;
176RSS per 25ref>257n ofmour hierirchyeis alreadine" nam* Seec25"mm/mem1_add_lEU_list(), etcm/mem18_mem;
->25/a>>257ry controller.ass="line" namine" nam*emofmscan_nlinlass="line" name="L262573brearef25t">/p *>            25t">>257pu" clas18ef=1785"mm/mem17amsmp_wmbup. We would evsmp_wmb"mm/m)set &g18mme>181"> 2632574u" clas18ef=1785"mm/mem17amSetPageCp_mm_Used_mcoef="mm/mtreSetPageCp_mm_Used"mm/m181"> 263 * Maximu17las>177">25nt">257clatomic_incuetroYPE_FILE,
<2576brearef25ref= href="mm/staticare 25ref>257an class1833422257 >1796257="srefE_ef="+code=mov>183id="L244" cla href=lEUveccnameu89" cla18lEUvecuetr la1785"mm/mem17am/a>roYsyla8zonc_lEUveccnameu89" cla18/a>roYsyla8zonc_lEUvec"mm/m181"> 263257on>179"> 247181"> 263258hn class18334>183id="las18ef=1785"mm/mem17amSetPageLRU_mcoef="mm/mtreSetPageLRU"mm/m181"> 2632581n>179"> 247181"> 263 379<17"li>178lSS per c25> 3>258m_cgrput" clPAGE_SHIFassdesref,o6" id="L406" clvi2583brearef25roller. mmmmmmmmGE_TYPE_25rol>258pu" clas18ef========= beeUalled withspin_e* Has_irqup. We would evspin_e* Has_irq"mm/mch_mcoef="mm/mtrenuezonc"lsylatomic_inczoncuetrcode=__SPIiheruetr,ilEU_loc>"lsylatomic_inclEU_loc>"mm/)set &g18mme>181"> 2632584u" clas18ef=assdesref,o6" id="L406" clvi2585brearef25+code=__SPImcoef="mm/mih25+co>258clatomic_incuetroYPE_FILE,
<2586brearef25eref="+code=__SPIiheruet25ere>258an class1833422181"> 263258 >1796/* &quo18 t="Luetrset &g18mme>181"> 263258="srefE_ef="+e=meet &g18mme>181"> 263258on>179"> 247181"> 2631787e="L325"> 32}mem_c255>1>259hn clssdesref,o6" id="L406" clvi2591brearef25"> 388#define17e=">125"> >2591n class18334L244" cla href=26"oup_mm__ch9" c_f=movstecsup. We would ev/a>_m/mem18ch9" c_f=movstecs"mm/m<18e" >182pan cf="+code=mo9nL244" cla href=anonup. We would evanonuetr9nL244" cla href=nr8pageh_mcoef="mm/mtrenr8pagehuetrvset &g18mme>181"> 263259m_cgrput" clPme="L324"> 324181"> 2632594u" clas18ef=3he memory controller.6"mofmscan_nlinlass="line" name="L262595brearef25 mmmmmmmm* OK,ewe failed25 mm>259..e whole subtren soewe .aveeeeeeeee* "ch9" c_f=movstecs" updated evalr mtecter. Then,mmhea> it.mofmscan_nlinlass="line" name="L262596brearef2517val" class="sref">val<2517v>25967" class="linefalse22
 ine" nam* Insertna cestor (a hra cestor'hca cestors), to softlimit RB-tree.mofmscan_nlinlass="line" name="L262597brearef25tq1796"mm/mem17"> 39525918fal>180"> 26}mem_cgroup_mmmmmmmmmm* 22259on>179"> 247<<1_mhea>_evalrsup. We would ev/a><1_mhea>_evalrs"mm/m<18e" >182pan cf="+code=mo9nL244" cla href=pagecnameu89" cla18page"mm/)set &g18mme>181"> 263260hn classdesref,o6" id="L406" clvi26r1brearef26r> 388#define17e=">126r> >2601n>17et &g18mme>181"> 263260ry co#ifdefn3beeUalled withCONFIG_TRANSPARENT_HUGEPAGE_mcoef="mm/mtreCONFIG_TRANSPARENT_HUGEPAGEn>17et &g18mme>181"> 263
<26rcl>260ass="lnoswapef="+code=__SPInoswa26r4brearef26rf17ef=>1792181"> 263260..e whole subtren soewe .av6"mofmscan_nlinlass="line" name="L2626r6brearef26r7val" class="sref">val<26r7v>26067" class="linefalse22
 "/Because tail3pages are ont mark6dras "usL3", set it. We're undert"fmscan_nlinlass="line" name="L2626r7brearef26rq1796"mm/mem17"> 39526018fal>180"> 26}mem_cgroup_mm_czonccode=lEU_loc>, 'hplittef= on pmd'na hr_cgptecd_loc>.mofmscan_nlinlass="line" name="L2626r8brearef26rotected bycode=mem_cgrp26rot>26017mmi>176id="L}mem_cgroup_mm_cch9" c/unch9" c will " clever happenra hrmove_acotect() iscdonc undert"fmscan_nlinlass="line" name="L2626r9brearef26rmem17control.c#L397" id26rme>2607e="Lthe memory controller./*r_cgptecd_loc>(), so we don't have1"mmtakeccare of races.mofmscan_nlinlass="line" name="L26261_brearef268f 3982611n>17voidPImco="_oom_wake/a>_m/mem18hplit_hugeofixm_cnameu89" cla1825"mm/mem18hplit_hugeofixm_"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324181"> 263  26em1>261m_cgrected biheref="+code=__SPIih2613brearef26mem18#L310" id="L310" cl26mem>261pu" clas18ef=QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 2632614u" clas18ef=QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 263261m18mment">   __SPImco="_oom_wakeicnameu89" cla18ie=moset &g18mme>181"> 263261an clet &g18mme>181"> 263 >122181"> 263261="srefE_ef="+code=mov9 set &g18mme>181"> 263spinloc18_t">1826s=">261on>179"> 247<262hn class18334>183id="EADef="+code=__pccnameu89" cla18pce=mocla1785"mm/mem17amhead_pccnameu89" cla18head_pcuetrc+PImco="_oom_wakeicnameu89" cla18ie=moset &g18mme>181"> 2632621n>179"> 247181"> 263262m_cgrput" clPAGE_SHIFme="L324"> 324ch9" c() "emofmscan_nlinlass="line" name="L2626o3brearef26 cla18"2"mm/mem18ef="+co26 cl>262pu" clas18ef=========L244" cla href=pccnameu89" cla18pce=mocode=__SPIiheruetr,iflagsup. We would evflags8e"  la1785"mm/mem17amhead_pccnameu89" cla18head_pcuetrcode=__SPIiheruetr,iflagsup. We would evflags8e"  ch_mc ~1785"mm/mem17amPCGF_NOCOPY_AT_SPLIT_mcoef="mm/mtrePCGF_NOCOPY_AT_SPLITn>17set &g18mme>181"> 2632624u" clas18ef=assdesref,o6" id="L406" clvi26o5brearef26="L406" clatomic_inc=mem26="L>262m18mmassdesref,o6" id="L406" clvi26o6brearef26+code=__SPIiheruetr69262an cl#end22<3he memory controller.6"1CONFIG_TRANSPARENT_HUGEPAGE "emofmscan_nlinlass="line" name="L2626o7brearef26325" class="18#L3>182me=26325>26218falet &g18mme>181"> 26326217mmi>176id="L}mem_cgroup_m/*"mofmscan_nlinlass="line" name="L2626o9brearef26em18ass="sref">mem_cgrou26em1>2627e="Lthe memory controller./*r.asmm/mem18move_acotect -rmove acotect of the page"mfmscan_nlinlass="line" name="L26263_brearef26mem18="sref">spinlock_t<26mem>2637e="Lthe memory controller.m"1@page: the page"mfmscan_nlinlass="line" name="L262631brearef26 protected biheref="+cod26 pr>263n ofmour hierirchyeis alreadsu@nr8pageh: number of regular3pages (ode=1<183=> 247263ry controller.ass="line" nam 1@pc:3pageoup_mm_ of the page.mofmscan_nlinlass="line" name="L262633brearef26snewhchild is cre/aed wh26sne>263ierirchyeis undereoom,ass="l* @from: /a>roYsyla which the page iscmovedmfrom.mofmscan_nlinlass="line" name="L262634brearef26 memory controller. mmmm26 me>263ef="mm/moom_lock()mmay not l* @to: /a>roYsyla which the page iscmovedmto. @from != @to.mofmscan_nlinlass="line" name="L262635brearef26p1833"mm/mem18331#en26p18>263..e whole subtren soewe .ave*mofmscan_nlinlass="line" name="L262636brearef26aitq1835"mm/mem18334"> 326ait>26367" class="linefalse22
 "/The1=a176r1mustmmonfirm< 26}mem_cgroup_mm_c- page iscont oncLRU (isolate8page() iscuseful.)"mfmscan_nlinlass="line" name="L262638brearef26unless=mem_cgrput" clato26unl>26317mmi>176id="L}mem_cgroup_mm_c-r_cgptecd_loc> ischeld whenrnr8pageh ode= 1"mfmscan_nlinlass="line" name="L262639brearef26_SPIiheruetr69      26_SP>2637e="Lthe memory controller./*"mfmscan_nlinlass="line" name="L26264_brearef2637<18e" >183class="s2637<>2647e="Lthe memory controller.m"1Tmisc 34edoehn't do "ch9" c" to new up_mm_ andedoehn't do "unch9" c""mfmscan_nlinlass="line" name="L262641brearef26rE>mem_cgroup_mm_cnameu826rE>>264n ofmour hierirchyeis alreadsufrom old m/mem1.mofmscan_nlinlass="line" name="L262642brearef26S pp *>             26S p>264ry controller.ass="line" nam emofmscan_nlinlass="line" name="L262643brearef26aitqastrE>mem_cgroup_mm_26ait>264pu" cQUmov17__SPImco="_oom_wake.asmm/mem18move_acotect_mcoef="mm/mtre.asmm/mem18move_acotect"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 3242644u" clas18ef=>1822264m18mment">                              QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324,
264an class18334>183id="                   QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324264 >1796 324/* &quo18 to"mm/)et &g18mme>181"> 263static struct 26417mmiected biheref="+code=__SPIih2649brearef26,c#L332" id="L332" class26,c#>264on>179"> 247<*i"L="L32lof=mImco="_oom_wakeflagsup. We would evflags8e" set &g18mme>181"> 263265018mment">   __SPImco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 2632651n class18334L244" cla href=bgroup. We would eve* Has to beeUalled withanonup. We would evanonuetr la1785"mm/mem17amPageAnonup. We would evPageAnon"mm/m181"> 263 263265pu" clas18ef=1785"mm/mem17amVM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m="+code=__SPIunfromup. We would evfrome=mo =la1785"mm/mem17amtoent">/* &quo18 to"mm/)set &g18mme>181"> 263mem26___>2654u" clas18ef=1785"mm/mem17amVM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m="+code=__SPIunPageLRU_mcoef="mm/mtrePageLRU"mm/m181"> 263   hole subtren soewe .av6"mofmscan_nlinlass="line" name="L262656brearef26m17ef">waitq;       26m17>26567" class="linefalse22
 ine" nam* The page iscisolatedmfromcLRU. So,r_cllapsec 34mofmscan_nlinlass="line" name="L262657brearef26SPImcoef="mm/mrePE_imabl26SPI>26518fal>180"> 26}mem_cgroup_mmmmmmmmmm* will ont handleptmiscpage. But page hplittef= oan9happen.mofmscan_nlinlass="line" name="L262658brearef26a href="mm/memcomcoef="m26a h>26517mmi>176id="L}mem_cgroup_mmmmmmmmmm* Doptmiscmhea> underr_cgptecd_pageoloc>(). The1=a176r1should"mfmscan_nlinlass="line" name="L262659brearef26#L332" id="L332" class="26#L3>2657e="Lthe memory controller./mmmmmmmm* hold it.mofmscan_nlinlass="line" name="L26266_brearef26__SPInr_scanneds=efE>mem26__S>2667e="Lthe memory controller.mmmmmmmmm*emofmscan_nlinlass="line" name="L262661brearef26=17358>1760181"> 263266m_cgrput" clP22181"> 263266pu" clas18ef=========goto 181"> 263(266="L3267" class="linetest_ass="li2665brearef26tected broot_assde=mem_c26tec>266m18mment">   mmco="_oom_wakelock_pageoup_mm_cnameu89" cla18lock_pageoup_mm_"mm/m181"> 263msrefE>mem_cg26 hr>266an clet &g18mme>181"> 263-&>176"> 263<26=mo>2667f="m18331>183beeUalled withrefup. We would evreruetr la-L244" cla href=EINVAL8e" >182pan cf=EINVALuetrset &g18mme>181"> 263);
26"mm>266="srefE_ef="+22181"> 263b26ode>266on>179"> 247181"> 263267hn clssdesref,o6" id="L406" clvi2671brearef26ref="+c17tes>176RSS per 26ref>2671n class18334L244" cla href=2ove_lock_"+coup_mm_cnameu89" cla182ove_lock_"+coup_mm_"mm/m="+code=__SPIunfromup. We would evfrome=mo, ch_mcoef="mm/mtrenueflagsup. We would evflags8e" )set &g18mme>181"> 263->26/a>>267ry coet &g18mme>181"> 263/p *>            26t">>267pu" clas18ef=222674u" clas18ef=>1822roYsyla *emofmscan_nlinlass="line" name="L262675brearef26nt"> * Maximu17las>177">26nt">267m18mment">   2
267an class18334>183id="L244" cla href=__tmis_cpu_deccnameu89" cla18__tmis_cpu_dec"mm/m="+code=__SPIunfromup. We would evfrome=mocode=__SPIiheruetr,iQUmoup. We would evsUmoe=mocode=__SPIiheruetr,iotect_mcoef="mm/mtreotect"mm/[__SPIiheruetr,iMEM_CGROUP_STAT_FILE_MAPPED_mcoef="mm/mtreMEM_CGROUP_STAT_FILE_MAPPED"mm/])sn_nlinlass="line" name="L262677brearef26="1776"mm/mem17ontrol.c#26="1>267 >1796/* &quo18 to"mm/code=__SPIiheruetr,iQUmoup. We would evsUmoe=mocode=__SPIiheruetr,iotect_mcoef="mm/mtreotect"mm/[__SPIiheruetr,iMEM_CGROUP_STAT_FILE_MAPPED_mcoef="mm/mtreMEM_CGROUP_STAT_FILE_MAPPED"mm/])sn_nlinlass="line" name="L262678brearef26ted bycode=mem_cgrput" c26ted>267="srefE_ef="+code=movEADef="+code=__preempt8enablecnameu89" cla18preempt8enable"mm/m)sn_nlinlass="line" name="L262679brearef26ef6" id="L406" cliheref=26ef6>267on>179"> 247268hn class18334L244" cla href=26"oup_mm__ch9" c_f=movstecsup. We would ev/a>_m/mem18ch9" c_f=movstecs"mm/m181"> 2632681n>17et &g18mme>181"> 263 379<17"li>178lSS per c26> 3>268m_cgrput" clP3he memory controller.6"1=a176r1should have1donc css_get *emofmscan_nlinlass="line" name="L262683brearef26roller. mmmmmmmmGE_TYPE_26rol>268pu" clas18ef=1785"mm/mem17ampccnameu89" cla18pce=mocode=__SPIiheruetr,i"+coup_mm_cnameu89" cla1825"mm/mem18e"  la1785"mm/mem17amtoent">/* &quo18 to"mm/set &g18mme>181"> 2632684u" clas18ef=1785"mm/mem17am26"oup_mm__ch9" c_f=movstecsup. We would ev/a>_m/mem18ch9" c_f=movstecs"mm/m/* &quo18 to"mm/9nL244" cla href=anonup. We would evanonuetr9nL244" cla href=nr8pageh_mcoef="mm/mtrenr8pagehuetrvset &g18mme>181"> 263268m18mment">   hole subtren soewe .av6"mofmscan_nlinlass="line" name="L262686brearef26eref="+code=__SPIiheruet26ere>26867" class="linefalse22
 ine" nam* Wecch9" cs against "to" which may ont have any tasks. Then,m"to"mofmscan_nlinlass="line" name="L262687brearef26_mm_cnameu89" cla1786"mm26_mm>26818fal>180"> 26}mem_cgroup_mmmmmmmmmm* oan9bc under rmdir(). But i"> urralr impleroupa> 34,1=a176r1ofmofmscan_nlinlass="line" name="L262688brearef26" cla6" id="L406" cliher26" c>26817mmi>176id="L}mem_cgroup_mmmmmmmmmm* tmisc 34eiscjustm2687e="Lthe memory controller./mmmmmmmm* guaranteed3that "to" iscoever removed. So,rwe don't mhea> rmdirmofmscan_nlinlass="line" name="L26269_brearef265>1787e="L325"> 32}mem_c265>1>2697e="Lthe memory controller.mmmmmmmmm* f=mous;
 388#define17e=">126"> >269n ofmour hierirchyeis alreadine" nam*emofmscan_nlinlass="line" name="L262692brearef26PIfailedsrefEmem_cgroup_26PIf>269m_cgrput" clPme="L324"> 324<2ove_e* Has_"+coup_mm_cnameu89" cla182ove_e* Has_"+coup_mm_"mm/m="+code=__SPIunfromup. We would evfrome=mo, ch_mcoef="mm/mtrenueflagsup. We would evflags8e" )set &g18mme>181"> 263181"> 2631792181"> 263269m18mment">   mmco="_oom_wakee* Has_pageoup_mm_cnameu89" cla18e* Has_pageoup_mm_"mm/m181"> 263val<2617v>269an class18334m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262697brearef26tq1796"mm/mem17"> 39526918fal>180"> 26}mem_cgroup_mmmmmmmmmm* mhea> evalrs"mfmscan_nlinlass="line" name="L262698brearef26rotected bycode=mem_cgrp26rot>26917mmi>176id="L}mem_cgroup_mmine" nam*emofmscan_nlinlass="line" name="L262699brearef26/mem17control.c#L397" id26/me>269on>179"> 247<<1_mhea>_evalrsup. We would ev/a><1_mhea>_evalrs"mm/m/* &quo18 to"mm/9nL244" cla href=pagecnameu89" cla18page"mm/)set &g18mme>181"> 263270hn class18334L244" cla href=26"<1_mhea>_evalrsup. We would ev/a><1_mhea>_evalrs"mm/m181"> 263 388#define17e=">127r> >2701n>17181"> 263270m_cgrput" clPre/a> 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263
<27rcl>270ass="assdesref,o6" id="L406" clvi27r4brearef27rf17ef=>1792270..e whole subtren soewe .av6"mofmscan_nlinlass="line" name="L2627r6brearef27r7val" class="sref">val<27r7v>27067" class="linefalse22
 "/movecch9" cs to itscparalrm/mem18_mem;
 39527018fal>180"> 26}mem_cgroup_mm_emofmscan_nlinlass="line" name="L2627r8brearef27rotected bycode=mem_cgrp27rot>27017mmin_nlinlass="line" name="L2627r9brearef27rmem17control.c#L397" id27rme>2707e="LQUmov17__SPImco="_oom_wake.asmm/mem18move_paralrup. We would ev/a>_m/mem18move_paralr"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324271hn class18334>183id="las18ef===========QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 3242711n>179"> 247 324181"> 263  27em1>271m_cgrected biheref="+code=__SPIih2713brearef27mem18#L310" id="L310" cl27mem>271pu" clas18ef=QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324181"> 2632714u" clas18ef=*i"L="L32__SPImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetrset &g18mme>181"> 263271m18mment">   *i"L="L32lof=mImco="_oom_wakeecinitialized_varcnameu89" cla18ecinitialized_var"mm/m181"> 263271an class183342_SPImco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 263 263271="srefE_ef="+3he memory controller.6"1Is ROOT ?m_emofmscan_nlinlass="line" name="L262719brearef27s="sref">spinloc18_t">1827s=">271on>179"> 247<22_m/mem18is_roor"mm/m 263272hn class18334>183id="re/a> 8-L244" cla href=EINVAL8e" >182pan cf=EINVALuetrset &g18mme>181"> 2632721n>17et &g18mme>181"> 263272m_cgrput" clPme="L324"> 324181"> 263/* &quo18 get_pageounless_zero"mm/m181"> 2632724u" clas18ef=>1822181"> 2632725n>179"> 247<22181"> 263272an class18334>183id="goto 181"> 263 2632728_cgrput" clPme="L324"> 324181"> 263mem_cgrou27em1>2727e="Let &g18mme>181"> 263spinlock_t<27mem>273hn class18334L244" cla href=paralrup. We would evparalr"mm/ la1785"mm/mem17amparalr_"+coup_mm_cnameu89" cla18paralr_"+coup_mm_"mm/m 263183=> 247273ry controller.ass="line" nammmmmmmmm"1If nocparalr,/movecch9" cs to roor m/mem1.mofmscan_nlinlass="line" name="L262733brearef27snewhchild is cre/aed wh27sne>273ierirchyeis undereoom,ass="lmmmmmmmm"emofmscan_nlinlass="line" name="L262734brearef27 memory controller. mmmm27 me>2734u" clas18ef=22181"> 263#en27p18>273m18mment">   2
181"> 263 327ait>273an clet &g18mme>181"> 263 >122181"> 263273="srefE_ef="+code=movEADef="+code=__flagsup. We would evflags8e"  la1785"mm/mem17am_cgptecd_loc>_irqsavecnameu89" cla18_cgptecd_loc>_irqsave"mm/m181"> 263      27_SP>2737e="Let &g18mme>181"> 263<18e" >183class="s2737<>274hn class18334L244" cla href=refup. We would evreruetr laImco="_oom_wake.asmm/mem18move_acotect_mcoef="mm/mtre.asmm/mem18move_acotect"mm/mme="L324"> 324 247 324181"> 263 *>             27S p>274m_cgrput" clP22181"> 263mem_cgroup_mm_27ait>274pu" clas18ef=========L244" cla href=__"+coup_mm__ca cel_local8ch9" cup. We would ev__"+coup_mm__ca cel_local8ch9" c"mm/m181"> 263274="L3267" class="linetest_ass="li2745brearef27re protected bycode=mem_27re >2745n>179"> 247<22181"> 263,
274an class18334>183id="1785"mm/mem17am_cgptecd_e* Has_irqrestorecnameu89" cla18_cgptecd_e* Has_irqrestore"mm/mme="L324"> 324181"> 2632747f="m18331>183beeUalled withpufbaas_lEU_pagecnameu89" cla18pufbaas_lEU_page"mm/m181"> 263static struct 27417mmi181"> 263274on>179"> 247<181"> 263275018mm181"> 2632751n class18334re/a> 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263275ass="lnoswapef="+code=__SPInoswa2754brearef27_______________brear>mem27___>275ef="mm/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262755brearef27waitq;       27m17>27567" class="linefalse22
 * Re/a> mofmscan_nlinlass="line" name="L262757brearef27SPImcoef="mm/mrePE_imabl27SPI>27518fal>180"> 26}mem_cgroup_mm* 0 22 324 3241760 247 324179me="L324"> 324179me="L324"> 324181"> 263276m_cgrected biheref="+code=__SPIih2763brearef27             rns=mem_cgr27   >276pu" clas18ef=QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263(2764u" clas18ef=*i"L="L32__SPImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetrcla1;et &g18mme>181"> 263276m18mment">   mmco="_oom_wakebgroup. We would eve* Has to beeUalled withoomup. We would evoome=mo =a1785"mm/mem17ame="Lent">/* &quo18 t="Luetrset &g18mme>181"> 263msrefE>mem_cg27 hr>276an class183342_SPImco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 263-&>176"> 263<27=mo>27618falet &g18mme>181"> 263);
27"mm>276="srefE_ef="+22b27ode>276on>179"> 247181"> 263277hn class18334>183id="EADef="+code=__VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m per cgroup. We PageTransHugecnameu89" cla18PageTransHuge"mm/m181"> 263176RSS per 27ref>2771n>179"> 247->27/a>>277ry controller.ass="line" nammmmmmmmmmmmmmmmm* Never OOM-kill a prooVE_1/p *>            27t">>277ierirchyeis undereoom,ass="lmmmmmmmmmmmmmmmm* fault handler will fall "ack to regular3pages.mofmscan_nlinlass="line" name="L2627l4brearef27moom_lockef="+code=__SPI27moo>277ef="mm/moom_lock()mmay not lmmmmmmmmmmmmmmmm*emofmscan_nlinlass="line" name="L262775brearef27nt"> * Maximu17las>177">27nt">277m18mment">   2
181"> 263 2632778_cgrput" clPme="L324"> 324 324181"> 263277on>179"> 247<22181"> 263278hn class18334>183id="re/a> 8Imco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 2632781n class18334L244" cla href=__"+coup_mm__commit>ch9" cup. We would ev__"+coup_mm__commit>ch9" c"mm/m<1cnameu89" cla1825"ode=mo9=Imco="_oom_wakepagecnameu89" cla18page"mm/9PImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetr99me="L324"> 324181"> 263 379<17"li>178lSS per c27> 3>278m_cgrput" clPre/a> 80set &g18mme>181"> 263278ass="assdesref,o6" id="L406" clvi2784brearef27/mem17GROUP_CHARGE_TYPE_27/me>278="L3267" class="linetest_ass="li2785brearef27+code=__SPImcoef="mm/mih27+co>278m18mm__SPImco="_oom_wake.asmm/mem18newpageouh9" cup. We would ev.asmm/mem18newpageouh9" c"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324 324 324179me="L324"> 324181"> 26327818falected biheref="+code=__SPIih2788brearef27" cla6" id="L406" cliher27" c>278="srefE_ef="+22181"> 263278on>179"> 247 80set &g18mme>181"> 2631787e="L325"> 32}mem_c275>1>279hn class18334L244" cla href=VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m="+code=__SPIunpageomapped_mcoef="mm/mtrepageomapped"mm/m181"> 263 388#define17e=">127"> >2791n class18334L244" cla href=VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m="+code=__SPIunpagecnameu89" cla18page"mm/code=__SPIiheruetr,i"appin1cnameu89" cla182appin1uetr oh_mcch_mc  per cgroup. We PageAnonup. We would evPageAnon"mm/m181"> 263279m_cgrput" clPme="L324"> 324181"> 263 8Imco="_oom_wake.asmm/mem18ch9" c_ntroonup. We would ev.asmm/mem18ch9" c_ntroon"mm/mImco="_oom_wakepagecnameu89" cla18page"mm/9PImco="_oom_wakemmup. We would evmme=mo99me="L324"> 324181"> 26317921822 324181"> 263279m18mmassdesref,o6" id="L406" clvi2796brearef2717val" class="sref">val<2717v>279an clet &g18mme>181"> 263 39527918fal>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262798brearef27rotected bycode=mem_cgrp27rot>27917mmi>176id="L}mem_cgroup_mm* Whilepswap-in, try8ch9" c code= commit or ca cel, the page isc Hased.mofmscan_nlinlass="line" name="L262799brearef27/mem17control.c#L397" id27/me>2797e="Lthe memory controller./*rAnd whenrtry8ch9" c() sucoVE_fully=re/a> s, onc nlac_SPto 25"od withoufuefmscan_nlinlass="line" name="L2628r_brearef28r_br17control.c#L397" id28r_b>2807e="Lthe memory controller.m"1QUEUE_Hpageoup_mm_ iscacquired. Tmiscnlac_SPwill be " nsumed byuefmscan_nlinlass="line" name="L2628r1brearef28r> 388#define17e=">128r> >280n ofmour hierirchyeis alreadsu"commit()" or removed byu"ca cel()"uefmscan_nlinlass="line" name="L2628r2brearef28rIfailedsrefEmem_cgroup_28rIf>280ry controller.ass="line" nam emofmscan_nlinlass="line" name="L2628r3brearef28rclass="linetc#e22
<28rcl>280pu" cQUmov17__SPImco="_oom_wake__"+coup_mm__try8ch9" c_swapinup. We would ev__"+coup_mm__try8ch9" c_swapin"mm/mQUEUE_HEADef="+code=__"m_QUEUE_up. We would ev.m_QUEUE_"mm/ ame="L324"> 32417921822 324280m18mment">                              vv" clPme="L324"> 324179me="L324"> 324181"> 263val<28r7v>280an class18334>183id="                   " clP==QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  aame="L324"> 324<1_cnameu89" cla1825"<1_"mm/)et &g18mme>181"> 263 39528018falected biheref="+code=__SPIih28r8brearef28rotected bycode=mem_cgrp28rot>280="srefE_ef="+QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=moset &g18mme>181"> 2632809"srefE_ef="+QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 263   __SPImco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 2632811n>17et &g18mme>181"> 263  28em1>281m_cgrput" clPme="L324"> 324181"> 263281pu" clas18ef=>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262814brearef28 cla1813"mm/mem18c#L312"28 cl>281ef="mm/moom_lock()mmay not lmmmmmmmm* Everypswap fault against a sin1le page trics to ch9" c themofmscan_nlinlass="line" name="L262815brearef28cgroup_mm_cnameu89" cla128cgr>281..e whole subtren soewe .avemmmmmmmm* page, bail as early=as possible.  sh25"munusc() enotecters"mfmscan_nlinlass="line" name="L262816brearef28="L406" cliheref="+code=28="L>28167" class="linefalse22
 ine" nam* already ch9" cd3pages, too.  The USED bit iscprotected byuefmscan_nlinlass="line" name="L262817brearef28Ioom_lockastr
 26}mem_cgroup_mmmmmmmmmm* the page  Has, which serializespswap cache removal, whichuefmscan_nlinlass="line" name="L262818brearef28meu89" cla1815"mm/mem18#28meu>28117mmi>176id="L}mem_cgroup_mmmmmmmmmm* inrta> 8serializespunch9" ing.mofmscan_nlinlass="line" name="L262819brearef28s="sref">spinloc18_t">1828s=">2817e="Lthe memory controller./mmmmmmmm*emofmscan_nlinlass="line" name="L26282_brearef28oomef="+code=__SPImcoef=28oom>282hn class1833422181"> 2632821n>179"> 247 80set &g18mme>181"> 263282m_cgrput" clP22181"> 263181"> 2632824u" clas18ef=me="L324"> 324<1cnameu89" cla1825"ode=mo =a1785"mm/mem17ame=y_get_"+coup_mm__from_pagecnameu89" cla18e=y_get_"+coup_mm__from_page"mm/m181"> 2632825n>179"> 247<22<1cnameu89" cla1825"ode=mo)et &g18mme>181"> 263282an class18334>183id="goto 181"> 26318ame="L324"> 324<1_cnameu89" cla1825"<1_"mm/ laImco="_oom_wake.as<1cnameu89" cla1825"ode=moset &g18mme>181"> 2632828_cgrput" clPme="L324"> 324182pan cf=NULLuetr9PImco="_oom_wakemass"lsylatomic_incmass"mm/9 19PImco="_oom_wakema><1_cnameu89" cla1825"<1_"mm/9PImco="_oom_wakee="Lent">/* &quo18 t="Luetr)set &g18mme>181"> 263mem_cgrou28em1>282on>179"> 247<181"> 263spinlock_t<28mem>283hn class1833422181"> 263 247 324181"> 263183=> 247283m_cgrput" clPre/a> 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263283ierirc/a>181"> 2632834u" clas18ef=me="L324"> 324 324/* &quo18 t="Luetr)set &g18mme>181"> 263#en28p18>2835n>179"> 247<22181"> 263 328ait>283an class18334>183id="1785"mm/mem17amrefup. We would evreruetr la0set &g18mme>181"> 263 >1re/a> 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263283="sreassdesref,o6" id="L406" clvi2839brearef28_SPIiheruetr69      28_SP>2837e="Let &g18mme>181"> 263<18e" >183class="s2837<>284hn cl__SPImco="_oom_wake.asmm/mem18try8ch9" c_swapinup. We would ev"+coup_mm__try8ch9" c_swapin"mm/mQUEUE_HEADef="+code=__"m_QUEUE_up. We would ev.m_QUEUE_"mm/ ame="L324"> 324 324mem_cgroup_mm_cnameu828rE>>2841n>179"> 247 324179me="L324"> 324 324<1_cnameu89" cla1825"<1_"mm/)et &g18mme>181"> 263 *>             28S p>284m_cgrected biheref="+code=__SPIih2843brearef28aitqastrE>mem_cgroup_mm_28ait>284pu" clas18ef=ame="L324"> 324<1_cnameu89" cla1825"<1_"mm/ laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 2632844u" clas18ef=22181"> 263284m18mment">           re/a> 80set &g18mme>181"> 263,
284an class18334m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L262847brearef28mem_cgrput" clwait_queue28mem>28418fal>180"> 26}mem_cgroup_mmmmmmmmmm* A racing thread'h fault, or swapoff, may have alreadymofmscan_nlinlass="line" name="L262848brearef2818static struct 28417mmi>176id="L}mem_cgroup_mmmmmmmmmm* updated the pte,ra hreval removed page frompswap cache: i mofmscan_nlinlass="line" name="L262849brearef28,c#L332" id="L332" class28,c#>2847e="Lthe memory controller./mmmmmmmm* those casespunuse_pte()'h pte_s cl() test will fail; bufuefmscan_nlinlass="line" name="L26285_brearef2872857e="Lthe memory controller.mmmmmmmmm* tmere'h also a KSM case which doescoeed to ch9" c the3page.uefmscan_nlinlass="line" name="L262851brearef28GE_TYPE_ i6 4ntrol.L326"28GE_>285n ofmour hierirchyeis alreadine" nam*emofmscan_nlinlass="line" name="L262852brearef28__SPIloops=ef
Y285m_cgrput" clP22181"> 263mem28___>285="L3267" class="linetest_ass="li2855brearef28   2
 324<1_cnameu89" cla1825"<1_"mm/9PImco="_oom_wakee="Lent">/* &quo18 t="Luetr)set &g18mme>181"> 263waitq;       28m17>285an class18334>183id="22181"> 263285 >1796
181"> 263285="srefE_ef="+code=movre/a> 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263 247mem28__S>286hn class18334re/a> 8oef="mm/mtrenue__"+coup_mm__try8ch9" c_swapinup. We would ev__"+coup_mm__try8ch9" c_swapin"mm/m 324<1_cnameu89" cla1825"<1_"mm/)set &g18mme>181"> 2631760286m_cgrssdesref,o6" id="L406" clvi2863brearef28             rns=mem_cgr28   >286pu" cvoid8Imco="_oom_wake.asmm/mem18ca cel_ch9" c_swapinup. We would ev"+coup_mm__ca cel_ch9" c_swapin"mm/mQUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo)et &g18mme>181"> 263(2864u" cected biheref="+code=__SPIih2865brearef28tected broot_assde=mem_c28tec>2865n>179"> 247<22181"> 263msrefE>mem_cg28 hr>286an class18334>183id="re/a> set &g18mme>181"> 263-&>176"> 263<28=mo>286 >122<1cnameu89" cla1825"ode=mo)et &g18mme>181"> 263);
28"mm>286="srefE_ef="+code=movre/a> set &g18mme>181"> 263b28ode>286on>179"> 247<<1cnameu89" cla1825"ode=mo9=1)set &g18mme>181"> 263287hn classdesref,o6" id="L406" clvi2871brearef28ref="+c17tes>176RSS per 28ref>2871n>17et &g18mme>181"> 263->28/a>>287ry coQUmov17voidet &g18mme>181"> 263/p *>            28t">>287ierirc/a>ch9" c_swapinup. We would ev__"+coup_mm__commit>ch9" c_swapin"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324 324<1cnameu89" cla1825"ode=mo967" class="linetest_ass="li28l4brearef28moom_lockef="+code=__SPI28moo>2874u" clas18ef=>1822179me="L324"> 324181"> 263 * Maximu17las>177">28nt">287m18mmected biheref="+code=__SPIih2876brearef28ref= href="mm/staticare 28ref>287an class1833422181"> 263 >1796 set &g18mme>181"> 263287="srefE_ef="+22<1cnameu89" cla1825"ode=mo)et &g18mme>181"> 263287on>179"> 247 set &g18mme>181"> 263288hn class18334L244" cla href=m/mem18exclude_rmdir"lsylatomic_incm/mem18exclude_rmdir"mm/mch_mcoef="mm/mtrenue/a><1cnameu89" cla1825"ode=mocode=__SPIiheruetr,iosh_mcoef="mm/mtreoshuetr)set &g18mme>181"> 2632881n>17et &g18mme>181"> 263 379<17"li>178lSS per c28> 3>288m_cgrput" clPme="L324"> 324<__"+coup_mm__commit>ch9" cup. We would ev__"+coup_mm__commit>ch9" c"mm/m<1cnameu89" cla1825"ode=mo9=Imco="_oom_wakepagecnameu89" cla18page"mm/9P19PImco="_oom_wakectypc"lsylatomic_incmtypc"sre9PImco="_oom_wakee="Lent">/* &quo18 t="Luetr)set &g18mme>181"> 263288pu" clas18ef=>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262884brearef28/mem17GROUP_CHARGE_TYPE_28/me>288ef="mm/moom_lock()mmay not lmmmmmmmm* Nowpswap iscon-mneory. Tmiscmeans tmiscpage may bemofmscan_nlinlass="line" name="L262885brearef28+code=__SPImcoef="mm/mih28+co>288..e whole subtren soewe .avemmmmmmmm* otected both=as inera hrswap....double otect.uefmscan_nlinlass="line" name="L262886brearef28eref="+code=__SPIiheruet28ere>28867" class="linefalse22
 ine" nam* Fix it byuunch9" ing frompinesw. Basically, tmiscSwapCache iscQUmbleuefmscan_nlinlass="line" name="L262887brearef28_mm_cnameu89" cla1786"mm28_mm>28818fal>180"> 26}mem_cgroup_mmmmmmmmmm* under  Has_page(). But inrdo_swap_page()::mneory.c,nreuse_swap_page()uefmscan_nlinlass="line" name="L262888brearef28" cla6" id="L406" cliher28" c>28817mmi>176id="L}mem_cgroup_mmmmmmmmmm* may call delete_from_swap_cache() before reach mere.uefmscan_nlinlass="line" name="L262889brearef28"+code=__SPIoom_lockastr28"+c>2887e="Lthe memory controller./mmmmmmmm*emofmscan_nlinlass="line" name="L26289_brearef285>1787e="L325"> 32}mem_c285>1>289hn class1833422 388#define17e=">128"> >2891n>179"> 247 324179me="L324"> 324 324181"> 263289m_cgrput" clP/a> 324<"+coup_mm__unch9" e_swap_mcoef="mm/mtre.asmm/mem18unch9" e_swap"mm/m181"> 2631792180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262895brearef28 mmmmmmmm* OK,ewe failed28 mm>289..e whole subtren soewe .avemmmmmmmm* At swapin, we may ch9" c acotect against up_mm_ which has no tasks.mofmscan_nlinlass="line" name="L262896brearef2817val" class="sref">val<2817v>28967" class="linefalse22
 ine" nam* So,nrmdir()code=pre_deQUEoy() cs="be "alled whilepwe do tmiscch9" c.mofmscan_nlinlass="line" name="L262897brearef28tq1796"mm/mem17"> 39528918fal>180"> 26}mem_cgroup_m ine" nam* In tmat case, we oeed to call pre_deQUEoy() again.ccheck it mere.uefmscan_nlinlass="line" name="L262898brearef28rotected bycode=mem_cgrp28rot>28917mmi>176id="L}mem_cgroup_mmmmmmmmmm*emofmscan_nlinlass="line" name="L262899brearef28/mem17control.c#L397" id28/me>289on>179"> 247<181"> 263290hn classdesref,o6" id="L406" clvi29r1brearef29r> 388#define17e=">129r> >2901n>17et &g18mme>181"> 263290ry covoid8Imco="_oom_wake.asmm/mem18commit>ch9" c_swapinup. We would ev"+coup_mm__commit>ch9" c_swapin"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324181"> 263
<29rcl>290pu" clas18ef==============================QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo)et &g18mme>181"> 2631792   c/a>ch9" c_swapinup. We would ev__"+coup_mm__commit>ch9" c_swapin"mm/mme="L324"> 324val<29r7v>290an class18334>183id="                   " clP==Imco="_oom_wakeMEM_CGROUP_CHARGE_TYPE_ANON_mcoef="mm/mtreMEM_CGROUP_CHARGE_TYPE_ANONe=mo)set &g18mme>181"> 263 39529018falassdesref,o6" id="L406" clvi29r8brearef29rotected bycode=mem_cgrp29rot>290="sressdesref,o6" id="L406" clvi29r9brearef29rmem17control.c#L397" id29rme>2909"sre__SPImco="_oom_wake.asmm/mem18cacheouh9" cup. We would ev.asmm/mem18cacheouh9" c"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324 324179me="L324"> 324181"> 2632911n>17ected biheref="+code=__SPIih2912brearef29em18n class="comment">  29em1>291m_cgrput" clPQUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263291pu" clas18ef=enuma1785"mm/mem17am_h9" c_typc"lsylatomic_incmh9" c_typcn>179me="L324"> 324179laImco="_oom_wakeMEM_CGROUP_CHARGE_TYPE_CACHE_mcoef="mm/mtreMEM_CGROUP_CHARGE_TYPE_CACHEuetrset &g18mme>181"> 2632914u" clas18ef=2_SPImco="_oom_wakerefup. We would evreruetrset &g18mme>181"> 263291..e wet &g18mme>181"> 263291an class1833422181"> 263 >1796 a0set &g18mme>181"> 263291="srefE_ef="+22181"> 263spinloc18_t">1829s=">291on>179"> 247 80set &g18mme>181"> 263292hn clet &g18mme>181"> 2632921n>179"> 247<22181"> 263292m_cgrput" clP/a> 324 324 32417)set &g18mme>181"> 263180"> 26}mem_cgroup_m6" page iscswapcache/sh25"m*emofmscan_nlinlass="line" name="L2629o4brearef2989" cla1823"mm/mem18c#L32989">2924u" clas18ef=>1822 324 3242925n>179"> 247<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 324181"> 263292an class18334>183id="22181"> 263 >1796
ch9" c_swapinup. We would ev__"+coup_mm__commit>ch9" c_swapin"mm/mme="L324"> 324 32417)set &g18mme>181"> 2632928_cgrput" clPassdesref,o6" id="L406" clvi29o9brearef29em18ass="sref">mem_cgrou29em1>292on>179"> 247 8oef="mm/mtrenuerefup. We would evreruetrset &g18mme>181"> 263spinlock_t<29mem>293hn classdesref,o6" id="L406" clvi2931brearef29 protected biheref="+cod29 pr>2931n>17et &g18mme>181"> 263183=> 247293ry coQUmov17voidaImco="_oom_wake.asmm/mem18do8unch9" e_mcoef="mm/mtre.asmm/mem18do8unch9" e"mm/mQUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo967" class="linetest_ass="li2933brearef29snewhchild is cre/aed wh29sne>293pu" clas18ef============================*i"L="L32__SPImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetr967" class="linetest_ass="li2934brearef29 memory controller. mmmm29 me>2934u" clas18ef=>1822179me="L324"> 324181"> 263#en29p18>293m18mmected biheref="+code=__SPIih2936brearef29aitq1835"mm/mem18334"> 329ait>293an class18334QUEUE_HEADef="+code=__"+ccg_batch_infocnameu89" cla1825"od_batch_info8e"  ame="L324"> 324182pan cf=NULLuetrset &g18mme>181"> 263 >1me="L324"> 324/* &quo18 t="Luetrset &g18mme>181"> 263293="sressdesref,o6" id="L406" clvi2939brearef29_SPIiheruetr69      29_SP>293on>179"> 247<<180"> 26}mem_cgroup_m6" If swapout, usage of swap doesn't decreasem*emofmscan_nlinlass="line" name="L26294_brearef2937<18e" >183class="s2937<>294hn class1833422 324181"> 263mem_cgroup_mm_cnameu829rE>>2941n>179"> 247181"> 263 *>             29S p>294m_cgrssdesref,o6" id="L406" clvi2943brearef29aitqastrE>mem_cgroup_mm_29ait>294pu" clas18ef=me="L324"> 324181"> 2632944u" clas18ef=>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262945brearef29re protected bycode=mem_29re >294..e whole subtren soewe .avemmmmmmmm* In usual, we do css_get() whenrwe remember 25"od poicter.uefmscan_nlinlass="line" name="L262946brearef29em18OVE_TYPE,
29467" class="linefalse22
 ine" nam* But inrtmisccase, we keep rescode=usage ectilPend of a8series ofuefmscan_nlinlass="line" name="L262947brearef29mem_cgrput" clwait_queue29mem>29418fal>180"> 26}mem_cgroup_mmmmmmmmmm* unch9" es. Tmen, it'h ok to L="ore 25"od'h rlac_S.uefmscan_nlinlass="line" name="L262948brearef2918static struct 29417mmi>176id="L}mem_cgroup_mmmmmmmmmm*emofmscan_nlinlass="line" name="L262949brearef29,c#L332" id="L332" class29,c#>294on>179"> 247<22181"> 263295hn class18334>183id="EADef="+code=__batchcnameu89" cla18batche=mocode=__SPIiheruetr,i25"odcnameu89" cla1825"ode=mo laImco="_oom_wake.as<1cnameu89" cla1825"ode=moset &g18mme>181"> 2632951u" clas18ef=>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262952brearef29__SPIloops=ef
Y295ry controller.ass="line" nammmmmmmmm*rdo_batch ode= 0 whenrun2appin13pages or inwak invalidate/t="ncate.uefmscan_nlinlass="line" name="L262953brearef29PSs=efEEmem_cgroup_mm_cn29PSs>295ierirchyeis undereoom,ass="lmmmmmmmm* In tmose cases, all pages freed " nainuously cs="be expected to be i mofmscan_nlinlass="line" name="L262954brearef29_______________brear>mem29___>295ef="mm/moom_lock()mmay not lmmmmmmmm* the3s cl up_mm_ a hrwe have ch9nce to coalesce unch9" es.mofmscan_nlinlass="line" name="L262955brearef29waitq;       29m17>29567" class="linefalse22
 ine" nam* becausepwe wa_SPto do unch9" e as soon=as possible.uefmscan_nlinlass="line" name="L262957brearef29SPImcoef="mm/mrePE_imabl29SPI>29518fal>180"> 26}mem_cgroup_mmmmmmmmmm*emofmscan_nlinlass="line" name="L262958brearef29a href="mm/memcomcoef="m29a h>295="sressdesref,o6" id="L406" clvi2959brearef29#L332" id="L332" class="29#L3>295on>179"> 247<22 324 324181"> 263mem29__S>296hn class18334>183id="goto 181"> 2631760 263296m_cgrput" clP22181"> 263296pu" clas18ef=========goto 181"> 263(296="L3267" class="linetest_ass="li2965brearef29tected broot_assde=mem_c29tec>2965n>179"> 247<>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L262966brearef29 href=viL4>msrefE>mem_cg29 hr>29667" class="linefalse22
 ine" nam* In typicalccase, batchcode=25"od == 25". Tmiscmeans we ca mofmscan_nlinlass="line" name="L262967brearef29=mov17>-&>176"> 263<29=mo>29618fal>180"> 26}mem_cgroup_mmmmmmmmmm* me" e a8series of unch9" esPto an unch9" e of res_otecter.uefmscan_nlinlass="line" name="L262968brearef29"mm/mem17mmigrate);
29"mm>29617mmi>176id="L}mem_cgroup_mmmmmmmmmm* If not, we unch9" e res_otecter ony by onc.uefmscan_nlinlass="line" name="L262969brearef29ode=bool" class="sref">b29ode>2967e="Lthe memory controller./mmmmmmmm*emofmscan_nlinlass="line" name="L26297_brearef29lhe administrator determ29lhe>297hn class1833422181"> 263176RSS per 29ref>2971n>179"> 247181"> 263->29/a>>2972n>179"> 247<>180"> 26}mem_cgroup_m6" remember freed "h9" e a hrunch9" e it later *emofmscan_nlinlass="line" name="L262973brearef29t">/p *>            29t">>297pu" clas18ef=me="L324"> 324181"> 2632974u" clas18ef=22181"> 263 * Maximu17las>177">29nt">297m18mment">   2
181"> 263 263181"> 2632978_cgrput" clPme="L324"> 32417)set &g18mme>181"> 263297on>179"> 247<22181"> 263298hn class18334>183id="EADef="+code=__res_otecter8unch9" e_mcoef="mm/mtreres_otecter8unch9" e"mm/mch_mcoef="mm/mtrenue/a><1cnameu89" cla1825"ode=mocode=__SPIiheruetr,iineswup. We would evineswe=mo9PImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetrm* per cgroup. We PAGE_SIZEcnameu89" cla18PAGE_SIZEn>17)set &g18mme>181"> 2632981n>179"> 247<22 324181"> 263 379<17"li>178lSS per c29> 3>298m_cgrput" clP/a> 324<"+ccg_oom_recover"lsylatomic_inc"+ccg_oom_recover"mm/m<1cnameu89" cla1825"ode=mo)set &g18mme>181"> 263298pu" cassdesref,o6" id="L406" clvi2984brearef29/mem17GROUP_CHARGE_TYPE_29/me>298="L3267" class="linetest_ass="li2985brearef29+code=__SPImcoef="mm/mih29+co>298..e whole subtren soewe .av6"mofmscan_nlinlass="line" name="L262986brearef29eref="+code=__SPIiheruet29ere>29867" class="linefalse22
 *runch9" e if !pageo2apped(page)uefmscan_nlinlass="line" name="L262987brearef29_mm_cnameu89" cla1786"mm29_mm>29818fal>180"> 26}mem_cgroup_mm*emofmscan_nlinlass="line" name="L262988brearef29" cla6" id="L406" cliher29" c>29817mmiQUmov17QUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  an_nlinlass="line" name="L262989brearef29"+code=__SPIoom_lockastr29"+c>2987e="LtADef="+code=____"+coup_mm__unch9" e_ntroonup. We would ev__"+coup_mm__unch9" e_ntroon"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324179me="L324"> 3241787e="L325"> 32}mem_c295>1>299hn class18334>183id="         " clme="L324"> 324181"> 263 388#define17e=">129"> >2991n>17ected biheref="+code=__SPIih2992brearef29PIfailedsrefEmem_cgroup_29PIf>299m_cgrput" clPQUEUE_HEADef="+code=__"+coup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263181"> 2631792 324181"> 263299m18mment">   c/a>181"> 263val<2917v>29967" cet &g18mme>181"> 263 395299 >122181"> 263299="srefE_ef="+code=movre/a> 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 2632997e="Let &g18mme>181"> 26330r_18mment">   c/a>t &g18mme>181"> 263 388#define17e=">130r> >30r1n>17et &g18mme>181"> 26330rm_cgrput" clP22
<30rcl>30rpu" clas18ef=========Imco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetr olt;olt;laImco="_oom_wakeccgptecd_order"lsylatomic_incccgptecd_order"mm/m181"> 26317921822 324181"> 26330rm18mment">   assdesref,o6" id="L406" clvi30r6brearef30r7val" class="sref">val<30r7v>30ran class18334m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L2630r7brearef30rq1796"mm/mem17"> 39530r18fal>180"> 26}mem_cgroup_mmmmmmmmmm* Check if our pageoup_mm_ciscvalidmofmscan_nlinlass="line" name="L2630r8brearef30rotected bycode=mem_cgrp30rot>30r17mmi>176id="L}mem_cgroup_mmmmmmmmmm*emofmscan_nlinlass="line" name="L2630r9brearef30rmem17control.c#L397" id30rme>30ron>179"> 247<181"> 263 247<22181"> 2633081n>179"> 247 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263  30em1>308m_cgrssdesref,o6" id="L406" clvi3083brearef30mem18#L310" id="L310" cl30mem>308pu" clas18ef=me="L324"> 324< Has_pageoup_mm_cnameu89" cla18loas_pageoup_mm_"mm/m181"> 263308="L3267" class="linetest_ass="li3085brearef30cgroup_mm_cnameu89" cla130cgr>308m18mment">   c/a><1cnameu89" cla1825"ode=mo laImco="_oom_wakepccnameu89" cla18pce=mocode=__SPIiheruetr,i25"oup_mm_cnameu89" cla1825"mm/mem18e" set &g18mme>181"> 26330867" cet &g18mme>181"> 263 >122181"> 263308="srefE_ef="+code=movgoto 181"> 263spinloc18_t">1830s=">3087e="Let &g18mme>181"> 26330oo18mment">   c/a>181"> 26330o1n>17et &g18mme>181"> 26330om_cgrput" clPQwitch m 26330o4u" clas18ef=>182230o..e whole subtren soewe .avemmmmmmmmmmmmmmmm* Generally PageAnon tells122 26}mem_cgroup_mmmmmmmmmmmmmmmmmm* used before page reached the QUm e of bein13marked PageAnon.uefmscan_nlinlass="line" name="L2630o8brearef30mef="+code=__SPImcoef="m30mef>30o17mmi>176id="L}mem_cgroup_mmmmmmmmmmmmmmmmmm*emofmscan_nlinlass="line" name="L263029brearef30em18ass="sref">mem_cgrou30em1>30oon>179"> 247/* &quo18 t="Luetrset &g18mme>181"> 263spinlock_t<30mem>30meu" clas18ef=>182230m1u" clas18ef=case  263183=> 24730mm_cgrput" clP/a>1822181"> 263#en30p18>30mm18mment">   2
 330ait>30m67" class="linefalse22
 ine" nammmmmmmmm* Pages under migrmovon may not be unch9" ed.  Butmofmscan_nlinlass="line" name="L263037brearef30ontrol.c#L335" id="L335130ont>30m18fal>180"> 26}mem_cgroup_mmmmmmmmmmmmmmmmmm* end_migrmovon()c/must/ be the onc unch9" ing themofmscan_nlinlass="line" name="L263038brearef30unless=mem_cgrput" clato30unl>30m17mmi>176id="L}mem_cgroup_mmmmmmmmmmmmmmmmmm*punused post-migrmovon page a hrso it mas to callmofmscan_nlinlass="line" name="L263039brearef30_SPIiheruetr69      30_SP>30m7e="Lthe memory controller./mmmmmmmmmmmmmmmm*pmere with the migrmovon bit still set.  See themofmscan_nlinlass="line" name="L26304_brearef3037<18e" >183class="s3037<>3037e="Lthe memory controller./mmmmmmmmmmmmmmmm*pres_otecter ha hling below.uefmscan_nlinlass="line" name="L263041brearef30rE>mem_cgroup_mm_cnameu830rE>>303n ofmour hierirchyeis alreadine" nammmmmmmmm*emofmscan_nlinlass="line" name="L263042brearef30S pp *>             30S p>303m_cgrput" clP/a>181"> 263mem_cgroup_mm_30ait>303pu" clas18ef=================goto 181"> 2633034u" clas18ef=>1822181"> 2633035u" clas18ef=case 181"> 263,
303an class18334>183id="22303 >1796
181"> 263303on>179"> 247307<"srefE_ef="+code=mov================goto 181"> 2633071n>179"> 247181"> 263181"> 263307pu" clas18ef=========breakset &g18mme>181"> 263mem30___>3074u" clas18ef=assdesref,o6" id="L406" clvi3055brearef30 263waitq;       30m17>307an class18334mADef="+code=__"+coup_mm_8ch9" c_sUmovstics_mcoef="mm/mtre.asmm/mem18ch9" c_sUmovstics"mm/m<1cnameu89" cla1825"ode=mo9PImco="_oom_wakeanonup. We would evanone=mo, -Imco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetr)set &g18mme>181"> 2633077.e wet &g18mme>181"> 2633078_cgrput" clPme="L324"> 324181"> 263 247<<180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L26306_brearef30__SPInr_scanneds=efE>mem30__S>30__8fal>180"> 26}mem_cgroup_mmmmmmmmmm* pccode=25"oup_mm_ciscnot cleared mere. It will bc acoessed when30_n ofmour hierirchyeis alreadine" nam* freed frompLRU. Tmisciscsafe becausepunch9" ed page iscexpected notmofmscan_nlinlass="line" name="L263062brearef30oftmlimit_excessuetroYPE30oft>30_ry controller.ass="line" nammmmmmmmm*rto be reused (freed soon). Excepovon iscSwapCache, it'h ha hled bymofmscan_nlinlass="line" name="L263063brearef30             rns=mem_cgr30   >30_ierirchyeis undereoom,ass="lmmmmmmmm* special funcovons.mofmscan_nlinlass="line" name="L2630_4brearef30mm/mem17test_bit(30_ef="mm/moom_lock()mmay not lmmmmmmmm*emofmscan_nlinlass="line" name="L263065brearef30tected broot_assde=mem_c30tec>30_..e wet &g18mme>181"> 263msrefE>mem_cg30 hr>30_an class18334mADef="+code=__unloas_pageoup_mm_cnameu89" cla18unloas_pageoup_mm_"mm/m181"> 263-&>176"> 263<30=mo>30_7n>179"> 247<<180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L263068brearef30"mm/mem17mmigrate);
30"mm>30_17mmi>176id="L}mem_cgroup_mmmmmmmmmm* evenb30ode>30_7e="Lthe memory controller./mmmmmmmm* will never be freed.mofmscan_nlinlass="line" name="L26307_brearef30lhe administrator determ30lhe>30lhf="mm/moom_lock()mmay not lmmmmmmmm*emofmscan_nlinlass="line" name="L263071brearef30ref="+c17tes>176RSS per 30ref>30l1n class18334mADef="+code=__"+ccg_check_events_mcoef="mm/mtre.ascg_check_events"mm/m<1cnameu89" cla1825"ode=mo9PImco="_oom_wakepagecnameu89" cla18page"mm/)set &g18mme>181"> 263->30/a>>30lm_cgrput" clP22/p *>            30t">>30lpu" clas18ef=========Imco="_oom_wake.asmm/mem18swap_sUmovstics_mcoef="mm/mtre.asmm/mem18swap_sUmovstics"mm/m<1cnameu89" cla1825"ode=mo9PImco="_oom_wakee="Lent">/* &quo18 t="Luetr)set &g18mme>181"> 26330l4u" clas18ef=>1822 324<.asmm/mem18gefup. We would ev.asmm/mem18gef"mm/m<1cnameu89" cla1825"ode=mo)set &g18mme>181"> 263 * Maximu17las>177">30nt">30lm18mment">   assdesref,o6" id="L406" clvi3076brearef30ref= href="mm/staticare 30ref>30lan class18334m/moom_lock()mmay not 6"mofmscan_nlinlass="line" name="L263077brearef30="1776"mm/mem17ontrol.c#30="1>30l18fal>180"> 26}mem_cgroup_mmmmmmmmmm* Migrmovon doescnot ch9" e the res_otecter for themofmscan_nlinlass="line" name="L263078brearef30ted bycode=mem_cgrput" c30ted>30l17mmi>176id="L}mem_cgroup_mmmmmmmmmm* replaceroup page,rso leave it alonc when30l7e="Lthe memory controller./mmmmmmmm* page tmat ispunused after the migrmovon.mofmscan_nlinlass="line" name="L26308_brearef3030 247<22<1cnameu89" cla1825"ode=mo))n_nlinlass="line" name="L263082brearef30> 379<17"li>178lSS per c30> 3>30 324<"+coup_mm__do8unch9" e_mcoef="mm/mtre.asmm/mem18do8unch9" e"mm/m<1cnameu89" cla1825"ode=mo9PImco="_oom_wakenr8pageh_mcoef="mm/mtrenr8pagehuetr99me="L324"> 324181"> 26330<3.e wet &g18mme>181"> 26330<4u" clas18ef=re/a> 8oef="mm/mtrenue/a><1cnameu89" cla1825"ode=moset &g18mme>181"> 26330<..e wet &g18mme>181"> 26330<67" cl/a>181"> 26330< >1me="L324"> 324181"> 26330<8u" clas18ef=re/a> 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26330<7e="Lassdesref,o6" id="L406" clvi309_brearef305>1787e="L325"> 32}mem_c305>1>305>.e wet &g18mme>181"> 263 388#define17e=">130"> >3051n>17voidaImco="_oom_wake.asmm/mem18unch9" e_page_mcoef="mm/mtre.asmm/mem18unch9" e_page"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 3243054u" clas18ef=22   2
 set &g18mme>181"> 263val<3017v>305an class18334mADef="+code=__VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m181"> 263 395305 >122181"> 263305="srefE_ef="+code=movre/a> set &g18mme>181"> 263305on>179"> 247< 324 324181"> 263310hn classdesref,o6" id="L406" clvi3101brearef31r> 388#define17e=">131r> >31r1n>17et &g18mme>181"> 26331rm_cgrvoidaImco="_oom_wake.asmm/mem18unch9" e_cache_page_mcoef="mm/mtre.asmm/mem18unch9" e_cache_page"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324
<31rcl>31rpu" cected biheref="+code=__SPIih31r4brearef31rf17ef=>1792181"> 26331rm18mment">   mADef="+code=__VM_BUG_ON_mcoef="mm/mtreVM_BUG_ON"mm/m181"> 263val<31r7v>310an class18334mADef="+code=____"+coup_mm__unch9" e_ntroonup. We would ev__"+coup_mm__unch9" e_ntroon"mm/m 324 324181"> 263 39531r18falassdesref,o6" id="L406" clvi3108brearef31rotected bycode=mem_cgrp31rot>310="sressdesref,o6" id="L406" clvi3109brearef31rmem17control.c#L397" id31rme>3107e="Lthe memory controller.6"mofmscan_nlinlass="line" name="L26311_brearef318f 398311n ofmour hierirchyeis alread* In tmat cases, pageh are freed " nainuously a hrwe cs="expect pagehuefmscan_nlinlass="line" name="L263112brearef31em18n class="comment">  31em1>311ry controller.ass="line" nam* are inrtme3s cl 25"od. Allrtmese calls12tself lim2tsrtme3number ofuefmscan_nlinlass="line" name="L263113brearef31mem18#L310" id="L310" cl31mem>311ierirchyeis undereoom,ass="l* pages freed at once,rtmen unch9" e_start/end()cisccalled properly.uefmscan_nlinlass="line" name="L263114brearef31 cla1813"mm/mem18c#L312"31 cl>311ef="mm/moom_lock()mmay not l* Tmiscmay be called prural(2) times inra " naext,uefmscan_nlinlass="line" name="L263115brearef31cgroup_mm_cnameu89" cla131cgr>311..e whole subtren soewe .ave*emofmscan_nlinlass="line" name="L263186brearef31="L406" cliheref="+code=31="L>31867" cet &g18mme>181"> 263318="sreected biheref="+code=__SPIih3189brearef31s="sref">spinloc18_t">1831s=">311on>179"> 247<181"> 26331oo18mment">   c/moom_lock()mmay not 6" We cs="do nest.m*emofmscan_nlinlass="line" name="L263121brearef31em18c#L318" id="L318" cl31em1>3121n>179"> 247<22312m_cgrput" clP/a> 324182pan cf=NULLuetrset &g18mme>181"> 263181"> 26331o4u" clas18ef=>1822 324181"> 263312m18mment">   assdesref,o6" id="L406" clvi3126brearef31+code=__SPIiheruetr6931o67" cassdesref,o6" id="L406" clvi3127brearef31325" class="18#L3>182me=31325>3127.e wet &g18mme>181"> 26331o17mmivoidaImco="_oom_wake.asmm/mem18unch9" e_end_mcoef="mm/mtre.asmm/mem18unch9" e_end"mm/mvoid)n_nlinlass="line" name="L263129brearef31em18ass="sref">mem_cgrou31em1>31oon>17ected biheref="+code=__SPIih313_brearef31mem18="sref">spinlock_t<31mem>31meu" clas18ef=QUEUE_HEADef="+code=__"+cod_batch_infocnameu89" cla1825"od_batch_info"mm/ ame="L324"> 324181"> 263 263183=> 247313m_cgrput" clP2231mpu" clas18ef=========re/a> set &g18mme>181"> 263313="L3267" class="linetest_ass="li3135brearef31p1833"mm/mem18331#en31p18>313m18mment">   mADef="+code=__batchcnameu89" cla18batche=mocode=__SPIiheruetr,ido_batch_mcoef="mm/mtredo_batche=mo--set &g18mme>181"> 263 331ait>3136_cgrput" clP22 >1796 set &g18mme>181"> 263313="sressdesref,o6" id="L406" clvi3139brearef31_SPIiheruetr69      31_SP>313on>179"> 247<22181"> 263<18e" >183class="s3137<>314<"srefE_ef="+code=movre/a> set &g18mme>181"> 263mem_cgroup_mm_cnameu831rE>>3141u" clas18ef=>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L263142brearef31S pp *>             31S p>314ry controller.ass="line" nammmmmmmmm*rTmisc"batchcode=25"od"ciscvalid without any css8gef/put etc...uefmscan_nlinlass="line" name="L263143brearef31aitqastrE>mem_cgroup_mm_31ait>314ierirchyeis undereoom,ass="lmmmmmmmm* bacausepwe hide ch9" esPbehind us.mofmscan_nlinlass="line" name="L263144brearef31it_infoef="+code=__SPIoo31it_>314ef="mm/moom_lock()mmay not lmmmmmmmm*emofmscan_nlinlass="line" name="L263145brearef31re protected bycode=mem_31re >3135u" clas18ef=22313 >1796
183id="__SPIiheruetr,ibatchcnameu89" cla18batche=mocode=__SPIiheruetr,inr8pageh_mcoef="mm/mtrenr8pagehuetrm* per cgroup. We PAGE_SIZEcnameu89" cla18PAGE_SIZEn>17)set &g18mme>181"> 263static struct 313="srefE_ef="+22313on>179"> 247317<"srefE_ef="+code=mov================3id="__SPIiheruetr,ibatchcnameu89" cla18batche=mocode=__SPIiheruetr,i/a>sw_nr8pageh_mcoef="mm/mtre25"sw_nr8pagehuetr * per cgroup. We PAGE_SIZEcnameu89" cla18PAGE_SIZEn>17)set &g18mme>181"> 2633151n class18334mADef="+code=__"+ccg_oom_recover"lsylatomic_inc"+ccg_oom_recover"mm/m181"> 263 247<>180"> 26}mem_cgroup_m6" fo" etrtmiscpoicter (for sanity check)c*emofmscan_nlinlass="line" name="L263153brearef31PSs=efEEmem_cgroup_mm_cn31PSs>317pu" clas18ef=182pan cf=NULLuetrset &g18mme>181"> 263mem31___>3174u" cassdesref,o6" id="L406" clvi3155brearef31 263waitq;       31m17>317an cl#ifdefPme="L324"> 324182pan cf=CONFIG_SWAP.e wet &g18mme>181"> 26331518fal>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L263178brearef31a href="mm/memcomcoef="m31a h>31517mmi>176id="L}mem_cgroup_mm* called after __delete_from8swap_cache() a hrdropc"page"cacotect.mofmscan_nlinlass="line" name="L263159brearef31#L332" id="L332" class="31#L3>3157e="Lthe memory controller./* 25"od informaovon iscrecorded to swap_cp_mm_cofc"lle"mofmscan_nlinlass="line" name="L26316_brearef31__SPInr_scanneds=efE>mem31__S>31__8fal>180"> 26}mem_cgroup_mm*emofmscan_nlinlass="line" name="L263161brearef31=17358>1760 324 324 324 324 324<1cnameu89" cla1825"ode=moset &g18mme>181"> 2633165u" clas18ef=2_SPImco="_oom_wakectypc"lsylatomic_incmtypc"sre laImco="_oom_wakeMEM_CGROUP_CHARGE_TYPE_SWAPOUT_mcoef="mm/mtreMEM_CGROUP_CHARGE_TYPE_SWAPOUT"sreset &g18mme>181"> 263msrefE>mem_cg31 hr>31667" cet &g18mme>181"> 263-&>176"> 263<31=mo>316 >122180"> 26}mem_cgroup_m6" tmiscwas a swap cache buf tme3swap ispunused !m*emofmscan_nlinlass="line" name="L263168brearef31"mm/mem17mmigrate);
31"mm>316="srefE_ef="+code=movImco="_oom_wakectypc"lsylatomic_incmtypc"sre laImco="_oom_wakeMEM_CGROUP_CHARGE_TYPE_DROP_mcoef="mm/mtreMEM_CGROUP_CHARGE_TYPE_DROPe=moset &g18mme>181"> 263b31ode>3167e="Let &g18mme>181"> 263317o18mment">   c/a> 324 324181"> 263176RSS per 31ref>3171n>17et &g18mme>181"> 263->31/a>>3172n>179"> 247<>180"> 26}mem_cgroup_m6"mofmscan_nlinlass="line" name="L263173brearef31t">/p *>            31t">>317ierirchyeis undereoom,ass="lmmmmmmmm* record 25"od informaovon,>122317ef="mm/moom_lock()mmay not lmmmmmmmm* "+coup_mm__ et() was called inrunch9" e().mofmscan_nlinlass="line" name="L263175brearef31nt"> * Maximu17las>177">31nt">317..e whole subtren soewe .avemmmmmmmm*emofmscan_nlinlass="line" name="L263176brearef31ref= href="mm/staticare 31ref>3176_cgrput" clP22181"> 263 >1796 324181"> 26331l17mmiassdesref,o6" id="L406" clvi3179brearef31ef6" id="L406" cliheref=31ef6>31l7e="L#endifssdesref,o6" id="L406" clvi318_brearef31318>.e wet &g18mme>181"> 26331<1n>17#ifdefPme="L324"> 324182pan cf=CONFIG_MEMCG_SWAP.e wet &g18mme>181"> 263 379<17"li>178lSS per c31> 3>318ry controller.ass="line" na6"mofmscan_nlinlass="line" name="L263183brearef31roller. mmmmmmmmGE_TYPE_31rol>318ierirchyeis undereoom,ass="l* called frompswapooupry_free(). remove record inrswap_cp_mm_candmofmscan_nlinlass="line" name="L263184brearef31/mem17GROUP_CHARGE_TYPE_31/me>318ef="mm/moom_lock()mmay not l* unch9" ec"25"sw"cacotect.mofmscan_nlinlass="line" name="L263185brearef31+code=__SPImcoef="mm/mih31+co>318..e whole subtren soewe .ave*emofmscan_nlinlass="line" name="L263186brearef31eref="+code=__SPIiheruet31ere>31<67" cvoidaImco="_oom_wake.asmm/mem18unch9" e_swapcnameu89" cla18.asmm/mem18unch9" e_swap"mm/m 324181"> 26331<31<8u" clas18ef=QUEUE_HEADef="+code=__m5"oup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=moset &g18mme>181"> 263318on>179"> 247181"> 2631787e="L325"> 32}mem_c315>1>315>.e wet &g18mme>181"> 263 388#define17e=">131"> >3191n>179"> 247<22181"> 263319m_cgrput" clP/a> set &g18mme>181"> 263 2631792181"> 263319m18mment">   mADef="+code=__rcu_read_loas_mcoef="mm/mtrercu_read_loas"mm/m)set &g18mme>181"> 263val<3117v>315an class18334mADef="+code=__25"odcnameu89" cla1825"ode=mo laImco="_oom_wake.asmm/mem18lookupcnameu89" cla18.asmm/mem18lookup"mm/m181"> 263 395315 >1223197e="Lthe memory controller./mmmmmmmmmmmmmmmm*pWepunch9" e tmiscbecausepswap ispfreed.mofmscan_nlinlass="line" name="L2632r_brearef32r_br17control.c#L397" id32r_b>3207e="Lthe memory controller./mmmmmmmmmmmmmmmm*pTmiscme"od cs="be obsolete onc.pWepavoidacalling css8prygef"mfmscan_nlinlass="line" name="L2632r1brearef32r> 388#define17e=">132r> >320n ofmour hierirchyeis alreadine" nammmmmmmmm*emofmscan_nlinlass="line" name="L2632r2brearef32rIfailedsrefEmem_cgroup_32rIf>320m_cgrput" clP/a><1cnameu89" cla1825"ode=mo))n_nlinlass="line" name="L2632r3brearef32rclass="linetc#e22
<32rcl>320pu" clas18ef=================__SPIiheruetr,ires_otecter8unch9" e_mcoef="mm/mtreres_otecter8unch9" e"mm/mch_mcoef="mm/mtrenue25"odcnameu89" cla1825"ode=mocode=__SPIiheruetr,imneswup. We would evineswe=mo9 per cgroup. We PAGE_SIZEcnameu89" cla18PAGE_SIZEn>17)set &g18mme>181"> 26317921822 324<.asmm/mem18swap_sUmovstics_mcoef="mm/mtre.asmm/mem18swap_sUmovstics"mm/m<1cnameu89" cla1825"ode=mo9PImco="_oom_wakefalsc"lsylatomic_incfalscuetr)set &g18mme>181"> 26332rm18mment">   >1822 324<.asmm/mem18purup. We would ev.asmm/mem18pur"mm/m<1cnameu89" cla1825"ode=mo)set &g18mme>181"> 263val<32r7v>320an class18334assdesref,o6" id="L406" clvi32r7brearef32rq1796"mm/mem17"> 395320 >1me="L324"> 324181"> 26332017mmiassdesref,o6" id="L406" clvi3209brearef32rmem17control.c#L397" id32rme>3207e="Let &g18mme>181"> 263321n ofmour hierirchyeis alread* .asmm/mem18move_swap_acotect - move swap ch9" e a hrswapoup_mm_'h record.mofmscan_nlinlass="line" name="L263212brearef32em18n class="comment">  32em1>321ry controller.ass="line" nam* @oupry: swap oupryrto be movedmofmscan_nlinlass="line" name="L263213brearef32mem18#L310" id="L310" cl32mem>321ierirchyeis undereoom,ass="l* @from:  .asmm/mem1 which the oupryriscmoved frommofmscan_nlinlass="line" name="L263214brearef32 cla1813"mm/mem18c#L312"32 cl>321ef="mm/moom_lock()mmay not l* @to:  .asmm/mem1 which the oupryriscmoved tomofmscan_nlinlass="line" name="L263215brearef32cgroup_mm_cnameu89" cla132cgr>321..e whole subtren soewe .ave*mofmscan_nlinlass="line" name="L263216brearef32="L406" cliheref="+code=32="L>32167" class="linefalse22
 * It succeeds only when32118fal>180"> 26}mem_cgroup_mm* asctme3.asmm/mem1'h idaof @from.mofmscan_nlinlass="line" name="L263218brearef32meu89" cla1815"mm/mem18#32meu>32117mmi>176id="L}mem_cgroup_mm*mofmscan_nlinlass="line" name="L263219brearef32s="sref">spinloc18_t">1832s=">3217e="Lthe memory controller./* Re/a> s 0 on Qucoess, -EINVAL on failure.uefmscan_nlinlass="line" name="L26322_brearef32oomef="+code=__SPImcoef=32oom>322_8fal>180"> 26}mem_cgroup_mm*uefmscan_nlinlass="line" name="L263221brearef32em18c#L318" id="L318" cl32em1>322n ofmour hierirchyeis alread* The caller must have ch9" ed to @to, IOW, called res_otecter8ch9" e() aboutmofmscan_nlinlass="line" name="L263222brearef32mem18" class="line" name32mem>322ry controller.ass="line" nam* both res a hrinesw, a hrcalled css8gef().mofmscan_nlinlass="line" name="L263223brearef32 cla18"2"mm/mem18ef="+co32 cl>322ierirchyeis undereoom,ass="l*emofmscan_nlinlass="line" name="L263224brearef3289" cla1823"mm/mem18c#L33289">32o4u" csUmovc=2_SPImco="_oom_wake.asmm/mem18move_swap_acotectup. We would ev.asmm/mem18move_swap_acotect"mm/m 324322m18mment">   >1822 324 324181"> 26332o67" cected biheref="+code=__SPIih3227brearef32325" class="18#L3>182me=32325>322 >1unsigned shor_HEADef="+code=__old8idup. We would evold8ide=mo9PImco="_oom_wakenew8idup. We would evnew8id"mm/set &g18mme>181"> 263322="sressdesref,o6" id="L406" clvi3229brearef32em18ass="sref">mem_cgrou32em1>322on>179"> 247<181"> 263spinlock_t<32mem>323o18mment">   c/a>181"> 263 263183=> 247323m_cgrput" clP2232mpu" clas18ef=========Le="L324"> 324<.asmm/mem18swap_sUmovstics_mcoef="mm/mtre.asmm/mem18swap_sUmovstics"mm/m181"> 2633234u" clas18ef=>1822 324<.asmm/mem18swap_sUmovstics_mcoef="mm/mtre.asmm/mem18swap_sUmovstics"mm/m/* &quo18 t="Luetr)set &g18mme>181"> 263#en32p18>323m18mment">   >1822 332ait>32367" class="linefalse22
                 *pTmiscfuncovonrisconly called fromptask migrmovon " naext now.mofmscan_nlinlass="line" name="L263237brearef32ontrol.c#L335" id="L335132ont>32318fal>180"> 26}mem_cgroup_mmmmmmmmmm        *pIt postpones res_otecter a hrnlaotect ha hling tillrtme endmofmscan_nlinlass="line" name="L263238brearef32unless=mem_cgrput" clato32unl>32317mmi>176id="L}mem_cgroup_mmmmmmmmmm        *pof task migrmovon(.asmm/mem18clear_mc()) for performanclmofmscan_nlinlass="line" name="L263239brearef32_SPIiheruetr69      32_SP>3237e="Lthe memory controller./mmmmmmmmmmmmmmmm*pimproveolle. Butrwe cs=not postpone "+coup_mm__ et(to)mofmscan_nlinlass="line" name="L26324_brearef3237<18e" >183class="s3237<>3247e="Lthe memory controller./mmmmmmmmmmmmmmmm*pbecausep22 324<.asmm/mem18gefup. We would ev.asmm/mem18gef"mm/m181"> 2633244u" clas18ef=>1822 80set &g18mme>181"> 2633235u" clas18ef=assdesref,o6" id="L406" clvi3246brearef32em18OVE_TYPE,
323an class18334re/a> 8-Imco="_oom_wakeEINVALcnameu89" cla18EINVAL"mm/set &g18mme>181"> 26332418falassdesref,o6" id="L406" clvi3238brearef3218static struct 323="sre#elscssdesref,o6" id="L406" clvi3239brearef32,c#L332" id="L332" class32,c#>323on>17sUmovc= 324327<"srefE_ef="+code=mov================QUEUE_HEADef="+code=__m5"oup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324 324181"> 2633251n clected biheref="+code=__SPIih3252brearef32__SPIloops=ef
Y3252n>179"> 247 8-Imco="_oom_wakeEINVALcnameu89" cla18EINVAL"mm/set &g18mme>181"> 263327pu" cassdesref,o6" id="L406" clvi3254brearef32_______________brear>mem32___>3274u" c#endifssdesref,o6" id="L406" clvi3255brearef32 263waitq;       32m17>32567" class="linefalse22
6"mofmscan_nlinlass="line" name="L263277brearef32SPImcoef="mm/mrePE_imabl32SPI>32518fal>180"> 26}mem_cgroup_ml* Before starting migrmovon,cacotect PAGE_SIZE to .asmm/mem1 tmat the oldmofmscan_nlinlass="line" name="L263278brearef32a href="mm/memcomcoef="m32a h>32517mmi>176id="L}mem_cgroup_mm* page belongs to.mofmscan_nlinlass="line" name="L263259brearef32#L332" id="L332" class="32#L3>3257e="Lthe memory controller./*emofmscan_nlinlass="line" name="L26326_brearef32__SPInr_scanneds=efE>mem32__S>32__8falvoidaImco="_oom_wake.asmm/mem18prepare_migrmovonup. We would ev.asmm/mem18prepare_migrmovon"mm/mQUEUE_HEADef="+code=__pagecnameu89" cla18page"mm/ ame="L324"> 324 3243261"srefE_ef="+code=mov==================QUEUE_HEADef="+code=__m5"oup_mm_cnameu89" cla1825"mm/mem18e"  aame="L324"> 324<1_cnameu89" cla1825"<1_"mm/)et &g18mme>181"> 263326m_cgrected biheref="+code=__SPIih3263brearef32             rns=mem_cgr32   >326pu" clas18ef=QUEUE_HEADef="+code=__m5"oup_mm_cnameu89" cla1825"mm/mem18e"  ame="L324"> 324<1cnameu89" cla1825"ode=mo laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263(3264u" clas18ef=QUEUE_HEADef="+code=__pageoup_mm_cnameu89" cla18pageoup_mm_"mm/ ame="L324"> 324181"> 2633265u" clas18ef=enumaImco="_oom_wakech9" e_typc"lsylatomic_incmh9" e_typc"mm/ me="L324"> 324181"> 263msrefE>mem_cg32 hr>32667" cet &g18mme>181"> 263-&>176"> 263<32=mo>326 >1ame="L324"> 324<1_cnameu89" cla1825"<1_"mm/ laImco="_oom_wakeNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263);
32"mm>326="sressdesref,o6" id="L406" clvi3269brearef32ode=bool" class="sref">b32ode>326on>179"> 247<6 /99QUTransHu=============QUEUPageTransima=mocode=__SPIi8======3id="__SPIiheruetr,ibatchcnameu89" c 25"We batchcnameref3137<18e" >183class="s3137<>2723p. We would ev.asmm/mem18p3h the oupryriscmoved tomof3ode=mo laImco="_oom_wake__"+coup_mm__unch9" e_ntroonup. We would ev__"+coup_mm__unch9" e_ntroon"mm/m >3191n>179"> 247<8ch9" e_mcoef="mm/mtreres_otecter5O> *>            31t">>3172erirc2yeis u 247<8ch9" e_mcoef="mm/mtreres24"> 324182pan cf=NULLuetrse_wakech9" e_typc"lsylatsdesref,o6" id="L4a hre1ref30" cla6" id="L406" cliha hre1ref30" cla6"SPIi8======3id="__SPIiheruetr,ibatchcnameu89" c > 247<8ch9" e_mcoef="mm/mtreresL324"> 324nlass="line" name="L263172brear2730<8u" clas18ef=re/a> 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 2ef31ref= h2ef="mm/staticare 31ref>3126_cgr27ss="line" name="L263146brearef31ima=C" claUs_oom_wake__"+coupima=C" claUs_os18ef=re/a> 8oef="mm/mtrenueNULL8e" >182pan ap_sUmovstics_mcoef="mm/mtre.asm oh_mcch_m2 per cgroup. We swapourup2 We w27eu89" cla18batche=mocode=__SPIiheruest_bit(3264u" clas18ef=QUEUE_HEADe/mtrenueNULL8e" >182pan181"> 263181"> 2e8e" >182pa 324181"> 26331l17mmiassdesref,o6" id="L406" clvi3179brearef31ef6"cf=NULLuetrset &g18mme>181"> 2e79"> 247<.e wet2&g18mme>181"> 263<18e" >183class="sAt"m32a h>f="632anonymous*emof,eoom mapmi>176goes downpWepunch9" e tmiscbecausepswap ispf217#ifdefPm2="L324"> 324mem_cgroup_mm_cnameu8mmmmd="L}mm*emofmsc wmm  ole subtr="Lth, evenme="itmm*mofmfullypWepunch9" e tmiscbecausepswap ispf21_ntroon"mm81"> 263 328ame="L263242brearef32S pp *>             3ierirpset up_mmmmmmme wh_nlid="L}f=mofmis am:  .pWepunch9" e tmiscbecausepswap ispf21_otecter5OGE_TYPE_31rol>318ierirchy2is un2ereoom,ass="l* called frompsa> *>             332mem>32againhyeisset MIGRATION flag herass="ldel whWe PAGE_SIepunch9" e tmiscbecausepswap ispf2124"> 324 *>             3ietlidendcode=__pagnot l* TmiscSIepunch9" e tmiscbecausepswap ispf21L324"> 324me="L263185brearef31+code2__SPI2coef="mm/mih31+co>318..e whol> *>             SIepunch9" e tmiscbecausepswap ispf21f31ref= h2PIiheruet31ere>31<67" cvo2daImc2="_oom_wake.asmm/mem18unch9" > *>             3Corner Cased="Lnkch9" epunch9" e tmiscbecausepswap ispf21oh_mcch_m2m 247<<1cnameu89" cla1825"ode2moset28" name="L263239brearef32_SPIiheruetr69    while up_mmmmmmmewe ongo>181pbecausep22.e wet2sp319_brearef315>1787e="L225"> 28name="L26324_brearef3237<18e" >183class="sIfmierir finds"m32Iolda>mof,}mm*emofmsc o="it wmm  oledel wmmpbecausep22 247<22mem_cgroup_mm_cnameu8ietlidendcode=__pagno.sIfmierir finds"a new*emof,eoomm*mofpbecausep22181"> 263 *>             3ie32mem>32ref="it make mapmi>176m:  .a1iassd0.sIfmierir id="pbecausep223193.e wet &g18mme>281"> 29reoom,ass="l* called frompsa> *>             3finds"lass=ode=__pag3274ry conew*emof wmm  y cobe >31rm18mecausep22 324 *>             3s="lendcode=__pagnotwmm  find"it(mapmi>17==0lass="line" name="L263224brearef3289" recordup. 2e would evswapoup_mm__rec2rd"mm29oef="mm/mih31+co>318..e whol> *>             SIepunch9" e tmiscbecausepswap ispf218mme>181"2 263 *>             3B*pbecausep22 247<329" name="L263239brearef32_SPIiheruetr69    e="mapmi>176goes downmmmmm*m_wakecurrarerirem_cgroufullypWepunch9" e tmiscbecausepswap ispf2eed.mofmsc2n_nlinlass="line" name="L2632r_2rearef32r_br17control.c#L397" id32r_b>3207e="Ltereoom,aller.>f="it againhpWepunch9" e tmiscbecausepswap ispf3avoidacall3ng css8prygef"mfmscan_nli3lass=3line" name="L2632r1brearef32r> 388#define1pWepunch9" e tmiscbecausepswap ispf3a1oidacall3n>181"> 263320m_cgrput" clP/a><13nameu30reoom,ass="l* called frompsa> *>             318" mofmscoldmofmsca>mofm_wakeder 30" c>30mofmoom,asswmm  y cobe lasspse-om,hpWepunch9" e tmiscbecausepswap ispf3a4otecter83n would evswapoup_mm__rec3class30oef="mm/mih31+co>318..e whol> *>             sIfmy conew*emof is lasspse om,abmm/memendcode=__3251ourpWepunch9" e tmiscbecausepswap ispf3a5otecter83n263 *>             3hookmmmmusual32S p>om,apathswmm  ca> >1me="L324"> 324381"> 263 3e="L263146brearef31ima=0538mem17control.c#L397" id33aref3307e="Lthe memory contrrrrrrrrr======3id="__SPSetima=C" claMecnameu89" cla18page"mmSetima=C" claMecnameu8s18ef=re/a> 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 3"mm/moom_l3ck()mmay not /*"mofmscan_3linla30/m321n ofmou3 hier31enuetocnameu89" cla18to"mm/cearef3ref30" cla6" id="L406" clihearef3ref30" cla6"s18ef=re/a> 8oef="mm/mtrenueNULL8e" >182pan cf=NULLuetrset &g18mme>181"> 3rswapoup_m3_'h record.mofmscan_n3inlas31oller.ass="line" nammmmmmmmm*rTmisc"batchcode=25"od"ciscvalid 3ne" name="3263213brearef32mem18#L3103 id="3310" cl32mem>321ierirchyeis u         sIfmy coemof is y co32mem>32a8ef=327pu" heraass="line" name="L263186brearef31ere3n_nlinlass3"line" name="L263215brear3f32cg3oup_mm_cnameu89" cla132cgr>32c#L335" imigrmovonup. We would ev.asmm/mem18p36" clihere3="+code=32="L>32167" clas3="lin31ss="line" name="Lass="line" name="L2cgroup. We swapoup_mm__recordup. We would evswapoup_mm_3for thisce3pryrisctme3s clmofmscan_n3inlas31eu89" cla18batche=mocn>179"> 247<8ch9" e_mcoef="mm/mtrer3ss="line" 3ame="L263218brearef32meu83" cla31d_mcoef="mm/mtre.asmm/mem18unch9"3ef">spinlo318_t">1832s=">3217e="Lthe3memor317e="Lthe memorearef32"mm/mem17mmigrate);
32"mm>326="sressdesref,o6" id="L4"L2cgroup. We swapoup_mm__rec> 247<8ch9" e_mcoef="mm/mtrer3smm/moom_l3ne" name="L26322_brearef33oomef319ller.ass="line" nammmmmmmmm*rTmisc"batchcode=25"od"ciscvalid 3#L318" id=3L318" cl32em1>322n ofmour3hieri3chyeis alread* The caller mus         sWme32mem>onew*emof bmm/memitmm*mofmised/rirpse. So, evenme="earef3ref30(*pbecausep2232o4u" csU3ovc=23SPImco="_oom_wake.asmm/mem18m         smapmi>176wmm  olefinTmiymmd="L}wle sub memory coindendcode=__pagno.pbecausep2232c#L335" imigrmovonup. We would ev.asmm/mem18p3a1825"mm/m3m18e"  ame="L324"> 324 >3unsigned shor_HEADef="+co3e=__o32eu89" cla18batche=mocode=__SPIiherueg18mme>181"> 263b31ode>3167ANARGE_TYPE_DROPe=mlass="sref">b31ode>3167ANAR_rec> 247<8ch9" e_mcoef="mm/mtrer3"_oom_wake3ew8idup. We would evnew8i3"mm/s3t &g18mme>181"in="L3n cla2_SPImco="_oom_wake.a3179"> 247<3/a>181"> 263b31ode>3167CACHEGE_TYPE_DROPe=mlass="sref">b31ode>3167CACHE_rec> 247<8ch9" e_mcoef="mm/mtrer3"mm/moom_l3uld evcss8id"mm/mch_mcoef3"mm/m329ller.ass="line" nammmmmmmmm*rTmisc"batchcode=25"od"ciscvalid 3idup. We w3uld evcss8id"mm/mch_mcoef3"mm/m33hyeis alread* The caller mus         sT coemof is callittmmmmmm"L}mem_cg,6movIitmm*mofmy coactuallypWepunch9" e tmiscbecausepswap ispf3grput" clP32ler.emof is go>186m:  .aleft"L332"wardcan_nlinlass="line" name="L263145brea3m/mem18swa3_sUmovstics"mm/m 324 324 263->31/a>>3172n336brearef33aitq1835"mm/mem18334"> 333ait>33367" c 247<3erformanclmofmscan_nlinla3s="li3e" nammeu89" cla18page"mm/ ame="L324"endcode=__pagom_wake__"+coup_mm__unch9"endcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263(3264u" cl="+code=__m5"oup_mm_cnameu89"3 "+coup_mm3_ et(to)mofmscan_nlinlass3"line339ller.ass="li263261brearef32=17358>176017e263261brearef32=17358>1760 8oef="mm/mtrenueNULL83mmmmm*3swa3-in, the reaotect of @to 3ight 341coup_mm3_ et(to)mofmscan_nlinlass3"line339ller.ass="li263261brearef32=17358>17us="line" name="L26u31ima=C,rearef32=17358>17unus="line" name="L26unu31ima=Cg18mme>181"> 263181"> 2633265u" clas18ef=enumaImco="_oom_wakech9" 3mm/mem18ge3up. We would ev.asmm/mem13gef"m344"> 324,
32167" clas3="lin31ss="line" name="Lass="line" name="L2cgroup. We swaVALcnameu83" cla18EINVAL"mm/set &g183me>1834r thisce3pryrisctme3s clmofmscan_n3inlas31eu89" cla18batcearef3218<3a>static struct  in3 tillrtme endmofmscanbmm/ms rmdir(7pu" clas18ef=3348"> 324181"> 26331l17mmiassdesref,o6" id="L406" clvi31793 would evi3="L3n cla2_SPImco="_oom_w3ke.as349clihere3="+code=32="L>32167" clas   rns=mem_cgr31   >316pu" cected biherefotef=re/a> 8oef="mm/mtrenueNULL83EUE_HEADef3"+code=__m5"oup_mm_cnameu39" cl31825"mm/mem18e"  ame="aref32=17358>17us="line" name="L26u31ima=CDROPe=moset &g18mm6017unus="line" name="L26unu31ima=CDROPe=moset &g18mm60183"> 263 8oef="mm/mtrenueNULL83Em/mem18ge3___________brear>mem32___33274u35m3261"srefE_edesref,o6" id="L406" clvi31793e    migrmo23261"srefE_edesref,o6" id="L406" clvi31793eref31/a>waitq;       32m17>32567"35>323an class18334re/a> 8-Imco="_oom_wakeEI3linlass="l3ne" name="L263277brearef33SPImc35m18lookupcnameu89" cla18.asmalsy32ss="line" nama63146brDROPe=moset &g18mmfr3m"lsy32ss="line" name="L263146brearef31ima=05181"> 263 32438mem17control.c#L397p_sUmovstics"mm/m181"> 263b31ode>3167ANARGE_T32mm/mem17test_bit(181"> 263b31ode>3167CACHEGE_TYf32mm/mem17test_bit( 324#en32p18>323m18mment">   >1822181"> 2cgrset 181"> 26331l17mmiassdesref,o6" id="L406" clvi31793earef32   3         rns=mem_cgr32   3326pu361t">/p *>            31t">>317ierirchyeis undereoom,ass="lmmmmmmmm* 3up_mm_cnam3u89" cla1825"mm/mem18e"  3me="L36a1823"mm3mem18c#L33289">32o4u" csU3ovcWe de=mllowe41brearef3="sI"sre*>      238brearef="L26324=23SPImcirchyeis undereoom,ass="lmmmmmmmm* 3u    migrmoeu89" cla18pageoup_mm_"mm3 ame=36mscan_nlinlass="line" name="L263175breo"3310" cl32rearef32_SPIizermem1emporarlyal>ler.emof is go>186m:  .aleft"L332"_typc"lsyl3tomic_incmh9" e_typc"mm/ 3e="L33631ref= href="mm/staticare 31ref>3176_ Ctr693310"eoo. 18ef=heck3310" cl32should_cgroc33ineal>ler.emof is go>186m:  .aleft"L332"_inlass="l37>-&>176"> 263<32=mo>326320 >1me="L324"> 324 263182pan cf=NULLuetrse_wakech9" e_typc"lsylatsdesref,o6" id="L4a hre1ref30" cla6" id="L406" 60b32ode>326on>368"> 32430<8u" clas18ef=re/a> 8oef="mm/mtrenueNUL3coef="mm/m3reVM_BUG_ON"mm/m30<8u" clas18ef=re/a> 8oef="mm/mtrenueNUL3nameu89" c325"We batchcnameref3137<18e37kef="+co3e=__SPImc32_un>321n ofmou3 hier31enuetocnameu89" cla18to"mm/cearef3ref30" cla6" id="L406" clihearef3ref30" cla6"s18ef=re/a> 8oef="mm/mtrenueNULL_ntroonup.3We would ev__"+coup_mm__u3ch9" 37put" clP223191n>173"> 247<8ch9" e_mcoef="mm/3trere371t">/p *>            31t">>317ierirchyeis undereoom,ass="lmmmmmmmm* 32erirc2yei3 u 247<8ch9" e_mcoef="mm/3trere37a1823"mm3mem18c#L33289">32o4u" csU3ovcIf ao32 cl>32a f="L2ca=he, radix-tree2mem>3224_brl>32very atomicirchyeis undereoom,ass="lmmmmmmmm* 32    migrmo > 247<8ch9" e_mcoef="mm/3trere37mscan_nlinlass="line" name="L263175breem18m    n skipmendco=heck.ne" nafmieala18em_cgr8e" >183class="sAtirchyeis undereoom,ass="lmmmmmmmm* 32typc"lsyl3 cf=NULLuetrset &g18mme>131"> 23731ref= href="mm/staticare 31ref>3176_ rearef32_SPIiherB     L26324m  adde41ut" rerirreoo.dendcode=__of iirchyeis undereoom,ass="lmmmmmmmm* 32inlass="l3p_sUmovstics_mcoef="mm/mt3e.asm37>320 >1me="L324"> 324geref31=23SPImco=heckirchyeis undereoom,ass="lmmmmmmmm* 32u89" cla13rcf=NULLuetrset &g18mme>131"> 237clas18ef2158brearef31rotected byco2ereem18USED bico=heck>176"> 324131"> 2379"> 247<32lse="Lthe memory controller./mmmmmmmmmm3mmmmm*pWep3nch9" e tmiscbecausepswap3ispf2318>.e wet2&g18mme>181"> 263183class="s3137<>2723p. We woulalsy32ss="line" nama63146br="line" name="L2cgroup. We swamfullypWep3nch9" e tmiscbecausepswap3ispf238ntroon"mm/m17"> 324/p *>            31t">>317ierirchyeis undereoom,ass="lmmmmmmmm* 3 PAGE_SIep3nch9" e tmiscbecausepswap3ispf2324"> 324 324me="L263185brearef31+code2_*="L26fal>ler.emof is go>186m:  .aleft"L332"      SIep3nch9" e tmiscbecausepswap3ispf23f31ref= h2PIiheruet31ere>31<67" cvo2d*mem>ormdir(7ref31f32_deslefym>32r1brealine" nme="L2   domendco=h18n al>ler.emof is go>186m:  .aleft"L332" inlass="l3nch9" e tmiscbecausepswap3ispf23oh_mcch_m2m3* calle=heck>1t813"mm/mem18c#L312"32 c         swe>327pu"" idA*pbec3usep22 324181"> 26331l17mmiassdesref,o6" id="L406" clvi31793go>181pbec3usep22.e 8334re/a> 8-Imco="_oom_wakeEI3el wmmpbec3usep22 2334re/a> 8-Imco="_oom_wakeEI3efullypWep3usep22181"> 2633193.e wet &gme="Lmem>322o32 clca=he, 261"sre2mem>321      anye="L263     sT coemooler.asmmmmit  l*kepcoby MIGRATION fl3>31rm18mec3usep22 324ot" name="L26324n onT coe    uch"L263222brear    ut" careLRUer.asmmmmit  l*kepcoby MIGRATION fl3>TmiscSIep3ine" name="L263224brearef3289" 3ecordup. 2e would evswapoup_m*>176correcmieayerBef32"sre*>3s="to"me woo3237<18r322of32r="L263242m/mem18c#L312"32 c         swe>327pu"      SIep3nch9" e tmiscbecausepswap3ispf238mme>181"2 263322m/cearea=heu89" cla18page"mm/ ame="L3mem>322m/cearea=hepagom_wake__"+coup_mm__unch"line339ller.ass="li263261brearef32=17358>1760381"> 263>>>>>>>>>>>>>>>>>>"+code=old17603261"srefE_e="line" name="L2cgroup. We swag evenpbec3usep22 2f=re/a> 8oef="mm/mtrenueNULL83ufullypWep3nch9" e tmiscbecausepswap3ispf239+coup_mm3_ et(to)mofmscan_nlinlass39"endcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263);
32"mm>326="sressdesref,o6" id="L406" clvi3269br4againhpWep4nch9" e tmiscbecausepswap4ispf3400coup_mm3_ et(to)mofmscan_nlinlass3"lin18mme>181"> 2633265u" clas18ef=enumaImco="_oom_wakech9" 4efine1pWep4nch9" e tmiscbecausepswap4ispf340ntroon"mm/m181"> 263ms&g18mme>181"> 263181"> 263b31ode>3167CACHEGE_TYPE_DROPe=mlass="sref">b31ode>4mas C*pbec4usep22 *>            31t">>314  *at once4rtmen unch9" e_start/end(4cisc340m2723p. We would ev.asmm/mem18p3h the oupryriscmoved tomof3ode=mo laImco="_oom_wake__"+coup_mm__unch9" 4e-om,hpWep4nch9" e tmiscbecausepswap4ispf340bycode=mem_32re >3235u" claPE_DROPe=mlass="sref">b31ode>4m5om,hpWep4nch9" e tmiscbecausepswap4ispf340lass="linefalse22
6"mofmscan_4 venlass="4ine" name="L263186brearef41ere340m18lookupcnameu89" cla18.asmlinlas2="lin27ULL8e" >182pan cf=NULLuetrse_wakech9" e_typc"lsylatsdesref,o6" id="L4a hre1ref30" cla6" id="L406" 60181"> in3 tillrtme endmofmscanfixclearef3e   632OUP_C> *sau" clas18ef= 32430<8u" clas18ef=re/a> 8oef="mm/mtrenueNUL48e" >182pa4 cf=NULLuetrset &g18mme>141"> 3409clihere3="+code=Pe=moset &g18mmfr3m_cgr27ss="line" name="L263146brearef31ima=C" claUs_oom_wake__"+coupima=C" claUs_os18ef=re/a> 8oef="mm/mtrenueNULL84m 263(3264u" clas18ef=QUEUE_HEADe/mtrenueNULL8e" >182pan181"> 26348e" >182pa4 cf=NULLuetrset &g18mme>141"> 341ntroon"mm/m17"> 324 324176RSS per 31ref>3171n>17et , -118ef=re/a> 8oef="mm/mtrenueNUL4misc"4atchcode=25"od"ciscv4lid 3412troon"mm/m17Ctr69the memoryss="line" name="L26Ctr69the memoryss="ef30" cla6" id="L406" clih30" c>30<8u" clas18ef=re/a> 8oef="mm/mtrenueNUL4> 8-Imco="_oom_wakeEI4 heraass="4ine" name="L263186brearef41ere341mem18swa3_sUmovstics"mm/m 8oef="mm/mtrenueNUL435" imigrm4vonup. We would ev.asmm/m4m18p341lass="linefalse22
6"mofmscan_4poup_mm__r4cordup. We would evswapou4_mm_34or thisce3pryrn"mme>181"> 263 247<8ch9" e_mcoef="mm/4trer341clas18ef2158brearef31rotected byco2eree" naf32ontrol.c#shakeemem>322m/cea(),>176somm18ef=sy cont7mmi>176idsinc)mmayple="onereplec43" cla31d_4coef="mm/mtre.asmm/mem18u4ch9"3419"> 247<om,apathswmm  ca> 247<8ch9" e_mcoef="mm/4trer3418>.e wet2&g18mme>181"> 263183class="s3137<32="L>32167" clas3="lin31ss="line" name="Lass="line" name="L2cgroup. We sw4ef30(*pbec4usep22/p *>            31t">>317ierirchyeis undereoom,ass="lmmmmmmmm* 4mm*mofpbec4usep2232o4u" csU3ovcEew*emof261"sreref31=23pe   eala"srename="L2line" nammem>3224_br sIfmy coemof is y co32mem>32a8ef=32a8ef=31<67" cvo2d*mLRUnme="L2   overwrite pcref31=kee="Lentmmusual32S p>om,apathswmm  ca>320 >1me="L324"> 324 247<8ch9" e_mcoef="mm/4trer342&g18mme>181"> 263 324 324181"> 263#en32p18>323m18mment">   >1822 28334re/a> 8-Imco="_oom_wakeEI4167CACHE_r4c> 247<8ch9" e_mcoef="mm/4trer34mm/moo334re/a> 8-Imco="_oom_wakeEI4misc"4atchcode=25"od"ciscv4lid 34dup. W#ifdef aref32=17358>17CONFIG_DElassVMline" name="L26CONFIG_DElassVM/moo334re/a> 8-Imco="_oom_wakeEI4mf30(*pbec4nch9" e tmiscbecausepswap4ispf34rput" 8move_s(to)mofmscan_nlinlass3"lin18mme>181"> 263 8-Imco="_oom_wakeEI4m/anewpbec4usep22 324<1cnameu89" cla1825"ode="lin18mme>181"> 2633265u" clas18ef=enumaImco="_oom_wakech9" 4     migrm4vonup. We would ev.asmm/m4m18p343bycodef=enumaImco="_oom_wakech9" 4aref31/a><4p177="mm/mem17>->31/a>>4172n3435g18mme>181"> 263182pan cf=NULLuetrse_wakech9" e_typc"lsylatsdesref,o6" id="L4a hre1ref30" cla6" id="L406" cliha hre1ref30" cla6"SPIi8======3id="__SPIiheruetr,ibatc4ait>33367"4c181"> 263 247<.e wet2&g18mme>181"> 263327likel"30" cla6" id="L406" clihearef3ref30" cla6"s1 idup.idup.OPe=moset &g18mmfr3m_cgr27ss="line" name="L263146brearef31ima=C" claUs_oom_wake__"+coupima=C" claUs_os18ef=3265u" clas18ef=enumaImco="_oom_wakech9" 4mm/mem18ge4up. We would ev.asmm/mem14gef"m444"> 324);
32"mm>326="sressdesref,o6" id="L406" clvi3269br4m    migrm4 8-Imco="_oom_wakeEI4mref31/a><4ef32em18OVE_TYPE,
1844r thied broot_assde==============QUEUE_HEADef=rearef31          ed tomof3obad"L4a hrheck/9PImco="_oom_wakee="Lent"bad"L4a hrheckpagom_wake__"+coup_mm__unch"line339ller.ass="li263261brearef32=17358>17m_wake__"+coupima=05 8-Imco="_oom_wakeEI4earef3218<4a>static struct 3448"> 3242723p. We would ev.asmm/mem18p3h the oupryriscmoved tomof3ode=mo laImco="_oom_wake__"+coup_mm__unch9" 4 would evi4="L3n cla2_SPImco="_oom_w4ke.as449g18mme>38mem17contro2 cla18ed broot_assde=>176RSS per 31ref>3171n>17et sref,o6" id="L406" clvi3269br4EUE_HEADef4"+code=__m5"oup_mm_cnameu49" cl459"> 2334re/a> 8-Imco="_oom_wakeEI4earef32__S4Iloops=ef
Y17m_wake__"+coupima=05);
32"mm>326="sressdesref,o6" id="L406" clvi3269br4emmmm*emof4" cla18EINVAL"mm/set &g184me>184"> 2638334re/a> 8-Imco="_oom_wakeEI4Em/mem18ge4___________brear>mem32___43274u45m334re/a> 8-Imco="_oom_wakeEI4E    migrm42 8-Imco="_oom_wakeEI4eref31/a><4">waitq;       32m17>42567"45>323a8ef=QUEUE_HEADef="+code=__m5"4linlass="l4ne" name="L263277brearef34SPImc45m18lookupcnamcnameu89" cla1825"ode="lin18mme>181"> 2633265u" clas18ef=enumaImco="_oom_wakech9" 4arting mig4movon,cacotect PAGE_SIZE 4o .as45="line" 3ame="L263218brearef32meu4ngs to.mof4scan_nlinlass="line" name4"L263458"> 324182pan cf=NULLuetrse_wakech9" e_typc"_us="line" name="L266" id="L4a hre1ref_us="pagomaref32=17358>17m_wake__"+coupima=0517KERN_ALERT/9PImco="_oom_wKERN_ALERTef=rea w3uld evcsscna na">led frpc:%p pcref31eoo.s:%lx pcref31=kee="Lent:%p\nled fr clas18fef=1f32p1833"mm/mem18t(3264u" clas18ef=QUEUE_HEADe/eoo.sSS per 31ref>317oo.s" >1f32p1833"mm/mem18t(3264u" clas18ef=QUEUE_HEADe/mtrenueNULL8e" >182pan/p *>8334re/a> 8-Imco="_oom_wakeEI4up_mm_cnam4u89" cla1825"mm/mem18e"  4me="L46a18238334re/a> 8-Imco="_oom_wakeEI4u    migrm4eu89" cla18pageoup_mm_"mm4 ame=46mscan#endif334re/a> 8-Imco="_oom_wakeEI4uref31/a><4tomic_incmh9" e_typc"mm/ 4e="L346lass="linefalse22
6"mofmscan_4_inlass="l47>-&>176"> 263<32=mo>426320<8move_sef=QUEUE_HEADe/DEFINE_MUTEXL8e" >182pan17set_lillitmutexL8e" >182panb32ode>426on>468"> 38move_sin erformanclmofmscan_nlinla3smesize_lillithe oupryriscmoved tomof3omesize_lillipagom_wake__"+coup_mm__unch9"endcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26338mem17control.c#L397p_sUmovsunsigned long long LLuetrset &g18mva==========QUEUE_va=PIi8=334re/a> 8-Imco="_oom_wakeEI4nameu89" c425"We batchcnameref3137<18e47movedf=re/a> 8oef="mm/mtrenueNULL84_ntroonup.4We would ev__"+coup_mm__u4ch9" 471coup_mm3_ eton erformanclmofmsc2 cry3222br=========QUEUE_2 cry3222brlas18ef=enumaImco="_oom_wakech9" 4 >3191n>174"> 247<8ch9" e_mcoef="mm/4trere471t">/p *> vstics"mm/m1f32p1833"mm/mem18vedlillithe oupryriscmovedlilli" >18ef=enumaImco="_oom_wakech9" 4 p_mm_cnam4 u 247<8ch9" e_mcoef="mm/4trere473coup_mm3_ eton erformanclmofmsc2 c=========QUEUE_2 c" >182p08ef=enumaImco="_oom_wakech9" 4     migrm4 > 247<8ch9" e_mcoef="mm/4trere474coup_mm3_ eton erformanclmofmscchildrey32ss="line" namchildrey" >182pan cf=NULLuetrs"L324"> 324 324 324141"> 2475g18mme>181"> 2631f32p1833"mm/mem18oldus_wake__"+coupima=0oldus_wa" >18ef=enumaImco="_oom_wakech9" 4 inlass="l4p_sUmovstics_mcoef="mm/mt4e.asm476coup_mm3_ eton erformanclmofmscenln classalrup. We woenln cl" >18ef=enumaImco="_oom_wakech9" 4 rting mig4rcf=NULLuetrset &g18mme>141"> 247="line" 3ame="L263218brearef32meu42gs to.mof4"cf=NULLuetrset &g18mme>141"> 2478"> 324181"> 263.e wet2&g18mme>181"> 263          me="L263irchyeis undereoom,ass="lmmmmmmmm* 4sntroonup.4nch9" e tmiscbecausepswap4ispf248put" clP32om,apathswmm  ca> 324181"> 263RECLAIM3RETRIES=========QUEUE_e>181"> 263RECLAIM3RETRIES cf=NUerformanclmofmscchildrey32ss="line" namchildrey" >18ef=enumaImco="_oom_wakech9" 4 TmiscSIep4nch9" e tmiscbecausepswap4ispf248bycodef=enumaImco="_oom_wakech9" 4      SIep4nch9" e tmiscbecausepswap4ispf2485g18mme>181"> 2631DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_USAGef31ode=bool" clRES_USAGei8===8ef=enumaImco="_oom_wakech9" 4 inlass="l4nch9" e tmiscbecausepswap4ispf248k migrmo3on " naext now.mofmscan_4" idA*pbec4usep22181"> 263182p08ef=enumaImco="_oom_wakech9" 4sgs to.mof4usep22 324181pbec4usep2238mem17controode=Pe=moset &g18mmsignalopeas na"8e" >182pan 3rformanclmofmsc2 c=========QUEUE_2 c" >182p-rformanclmofmscEINTR=========QUEUE_EINTR" >18ef=enumaImco="_oom_wakech9" 4efullypWep4usep22 8-Imco="_oom_wakeEI4>31rm18mec4usep22181"> 263181"2 263om,apathswmm  ca>320 >1me="L324"> 324om,apathswmm  ca> 247<3/a>181set_lillitmutexL8e" >182pan38mem17contro"+coup_mm__unch9"eswlillithe oupryriscmovedswlilli" >1DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_LIMIT/9PImco="_oom_wRES_LIMITeare=8ef=enumaImco="_oom_wakech9" 5againhpWep5nch9" e tmiscbecausepswap5ispf350825"mm/mem18e"  ame="137<>2723p. We would eswlillithe oupryriscmovedswlilli" >1D< LLuetrset &g18mva==========QUEUE_va=PIi8= 8ef=QUEUE_HEADef="+code=__m5"5efine1pWep5nch9" e tmiscbecausepswap5ispf350ntroon"mm/m182p-rformanclmofmscEINVA/a>);
32"mm>326=EINVA/" >18ef=enumaImco="_oom_wakech9" 5mas C*pbec5usep22181set_lillitmutexL8e" >182pan32358334re/a> 8-Imco="_oom_wakeEI5m5om,hpWep5nch9" e tmiscbecausepswap5ispf350lass="linefalse22
6"mofmscan_5 venlass="5ine" name="L263186brearef51ere350re17"> >3unsigned shor_HEADef="+co3evedlillithe oupryriscmovedlilli" >1DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_LIMIT/9PImco="_oom_wRES_LIMITeare=8ef=enumaImco="_oom_wakech9" 5a7enlass="5isep22381"> 263137<>2723p. We would elillithe oupryriscmovedlilli" >1D< LLuetrset &g18mva==========QUEUE_va=PIi8=ef=enumaImco="_oom_wakech9" 5a8enlass="5isep2238mem17control.c#L397 263182p18ef=enumaImco="_oom_wakech9" 5a9enlass="5ich9" e tmiscbecausepswap51"> 350m/moo334re/a> 8-Imco="_oom_wakeEI5m182pPe=moset &g18mmL263222brea_set_lilli89" cla189" claL263222brea_set_lillild evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18va==========QUEUE_va=PIi8=8ef=enumaImco="_oom_wakech9" 58e" >182pa5 cf=NULLuetrset &g18mme>151"> 351ntroon"mm/m1= 8ef=QUEUE_HEADef="+code=__m5"5misc"5atchcode=25"od"ciscv5lid 3512troon"mm/m137<>2723p. We would eswlillithe oupryriscmovedswlilli" >1DR2pPe=moset &g18mmva==========QUEUE_va=PIi8=ef=enumaImco="_oom_wakech9" 5>182pPe=moset &g18mm331#en32p18>323m18mment8ef=enumaImco="_oom_wakech9" 58-om,hpWep5ine" name="L263186brearef51ere351bycode=mem_32re >323555555555dup. We would evnew8i3"mm/s3t &g535" imigrm5vonup. We would ev.asmm/m5m18p3515182pPe=moset &g18mm>176RSS per 31ref>3171n>17et sref,o6" id="L406" clvi3269br5poup_mm__r5cordup. We would evswapou5_mm_351re17"> >3unsigned sho8334re/a> 8-Imco="_oom_wakeEI5he=mocn>175"> 247<8ch9" e_mcoef="mm/5trer351&g18mme>381"> 263ssold8idup. W3 mutex_18to"m3181set_lillitmutexL8e" >182pan 2ef=enumaImco="_oom_wakech9" 539enlass="5c> 247<8ch9" e_mcoef="mm/5trer3519g18mme>38mem17controode=32="L>32167" cla2 c=========QUEUE_2 c" >1=ef=enumaImco="_oom_wakech9" 5misc"5atchcode=25"od"ciscv5lid 352825"mm/mem18e"  ame="L324"> 3break8ef=enumaImco="_oom_wakech9" 5ef30(*pbec5usep2217ved tomof3ome18mimthe oupryriscmoved tomof3ome18mimld evineswe=mo9 ="L324"> 324);
32"mm>326=GFP_KERNE/earefef=17e>181"> 263RECLAIM3SHRINK=========QUEUE_e>181"> 263RECLAIM3SHRINKeare=8ef=enumaImco="_oom_wakech9" 5pagno.pbec5usep221DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_USAGef31ode=bool" clRES_USAGei8===8ef=enumaImco="_oom_wakech9" 5p5" imigrm5vonup. We would ev.asmm/m5m18p3525 >3unsigned sho137<>2723p. We woulcurus_wake__"+coupima=0curus_wa" >1Def31ROPe=moset &g18mm601=ef=enumaImco="_oom_wakech9" 5me=mocn>175c> 247<8ch9" e_mcoef="mm/5trer352&g18mme>381"> 263>>>>>>>>ineswe=mo9 ="L32 cry3222br=========QUEUE_2 cry3222brlas1--8ef=enumaImco="_oom_wakech9" 5p" cla31d_5="L3n cla2_SPImco="_oom_w5ke.a352&g18mme>38mem17controdup. We would evnew8i3"mm/s3t &g5167CACHE_r5c> 247<8ch9" e_mcoef="mm/5trer3529g18mme>38mem17control.c#L397 2631DROPe=moset &g18mmcurus_wake__"+coupima=0curus_wa" >18ef=enumaImco="_oom_wakech9" 5misc"5atchcode=25"od"ciscv5lid 353825"mm/mem18e8334re/a> 8-Imco="_oom_wakeEI5mf30(*pbec5nch9" e tmiscbecausepswap5ispf3531coup_mm3_ etode=32="L>32167" cla2 c=========QUEUE_2 c" >1 idup.idup.OPe=moset &g18mmenln classalrup. We woenln cl" >1=ef=enumaImco="_oom_wakech9" 5m/anewpbec5usep2217vedcg_ooeemecover3 32418ef=enumaImco="_oom_wakech9" 5w5" imigrm5p177="mm/mem17>->31/a>>5172n3535g18m8334re/a> 8-Imco="_oom_wakeEI5mnameu89" 5c182pan cf=NULLuetrset &g18mme>181"> 263181"i5vonup. We would ev.asmm/m5m18p353&g18mme>38mem17control.c#L397p_sUmovstics" vsunsigned long long LLuetrset &g18mva==========QUEUE_va=PIi8=334re/a> 8-Imco="_oom_wakeEI5367CACHE_r5l="+code=__m5"oup_mm_cnam5u89"3538>.e 8ef=QUEUE_HEADef="+code=__m5"5mmmmm*pbec5usep22183class="s31n erformanclmofmsc2 cry3222br=========QUEUE_2 cry3222brlas18ef=enumaImco="_oom_wakech9" 5mmmmm*3swa5-in, the reaotect of @to 5ight 54a1825"mm/mem1ted bycode=mem_ eu89" cla189" cla16mscan_"+coup_mm__unch9"elillithe oupryriscmovedlilli" >1f32p1833"mm/mem18vedswlillithe oupryriscmovedswlilli" >1f32p1833"mm/mem18oldus_wake__"+coupima=0oldus_wa" >1f32p1833"mm/mem18curus_wake__"+coupima=0curus_wa" >18ef=enumaImco="_oom_wakech9" 5m/anewpbec5scan_nlinlass="line" name5"L263542troon"mm/m182pan cf=NULLuetrs"L324"> 324 324 324182p-rformanclmofmscEBUSYa>);
32"mm>326=EBUSY" >18ef=enumaImco="_oom_wakech9" 5m    migrm5182p08ef=enumaImco="_oom_wakech9" 5mref31/a><5ef32em18OVE_TYPE,
1854r thisce3pryrn"mme>181"> 263static struct  26318Uerformanclmofmsce>181"> 263RECLAIM3RETRIES=========QUEUE_e>181"> 263RECLAIM3RETRIES cf=8ef=enumaImco="_oom_wakech9" 5mmme>181"i5,c#L332" id="L332" class35,c#>3548"> 3241DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_USAGef31ode=bool" clRES_USAGei8===8ef=enumaImco="_oom_wakech9" 5 would evi5="L3n cla2_SPImco="_oom_w5ke.as549g18mme>38memme="L2vineswe=mo9 ="L32 cry3222br=========QUEUE_2 cry3222brlas11 8ef=QUEUE_HEADef="+code=__m5"5EUE_HEADef5"+code=__m5"oup_mm_cnameu59" cl55825"mm/mem18e"  ame="137<>2723p. We woulsignalopeas na"8e" >182pan182p-rformanclmofmscEINTR=========QUEUE_EINTR" >18ef=enumaImco="_oom_wakech9" 5emmmm*emof5" cla18EINVAL"mm/set &g185me>18552troon"mm/mbreak8ef=enumaImco="_oom_wakech9" 5Em/mem18ge5___________brear>mem32___53274u55m 8-Imco="_oom_wakeEI5E    migrm52181"> 263waitq;       32m17>52567"55mme>181"2 263 >1me="L324"> 324om,apathswmm  ca>om,apathswmm  ca> 247<181set_lillitmutexL8e" >182pan1DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_LIMIT/9PImco="_oom_wRES_LIMITeare=8ef=enumaImco="_oom_wakech9" 5paref32__S5f="+code=__m5"oup_mm_cnam5u89" 56ntroon"mm/m2723p. We would elillithe oupryriscmovedlilli" >1D> LLuetrset &g18mva==========QUEUE_va=PIi8= 8ef=QUEUE_HEADef="+code=__m5"5earef32   5         rns=mem_cgr32   5326pu562troon"mm/m182p-rformanclmofmscEINVA/a>);
32"mm>326=EINVA/" >18ef=enumaImco="_oom_wakech9" 5up_mm_cnam5u89" cla1825"mm/mem18e"  5me="L56m181set_lillitmutexL8e" >182pan323555555555break8ef=enumaImco="_oom_wakech9" 5uref31/a><5tomic_incmh9" e_typc"mm/ 5e="L3565 8-Imco="_oom_wakeEI5_inlass="l57>-&>176"> 263<32=mo>526 >3unsigned shor_HEADef="+co3evedswlillithe oupryriscmovedswlilli" >1DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_LIMIT/9PImco="_oom_wRES_LIMITeare=8ef=enumaImco="_oom_wakech9" 5prting mig525"<1_"mm/ laImco="_oom_w5keNUL56&g18mme>381"> 263137<>2723p. We would eswlillithe oupryriscmovedswlilli" >1D< LLuetrset &g18mva==========QUEUE_va=PIi8=ef=enumaImco="_oom_wakech9" 5pgs to.mof5ool" class="sref">b32ode>526on>56&g18mme>38mem17control.c#L397 263182p18ef=enumaImco="_oom_wakech9" 5Qwould evi5reVM_BUG_ON"mm/m38mem17controssold8idup. W3 2 c=========QUEUE_2 c" >182pPe=moset &g18mmL263222brea_set_lilli89" cla189" claL263222brea_set_lillild evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18va==========QUEUE_va=PIi8=8ef=enumaImco="_oom_wakech9" 5nameu89" c525"We batchcnameref3137<18e57825"mm/mem18e"  ame="137<32="L>32167" cla2 c=========QUEUE_2 c" >1= 8ef=QUEUE_HEADef="+code=__m5"5_ntroonup.5We would ev__"+coup_mm__u5ch9" 57ntroon"mm/m2723p. We would elillithe oupryriscmovedlilli" >1DR2pPe=moset &g18mmva==========QUEUE_va=PIi8=ef=enumaImco="_oom_wakech9" 5 >3191n>175"> 247<8ch9" e_mcoef="mm/5trere572troon"mm/m182pPe=moset &g18mm331#en32p18>323m18mment8ef=enumaImco="_oom_wakech9" 5 p_mm_cnam5 u 247<8ch9" e_mcoef="mm/5trere57m 247<8ch9" e_mcoef="mm/5trere57bycode=mem_32re >323555555555gned shor_HEADef="+co3eved263182pPe=moset &g18mm>176RSS per 31ref>3171n>17et sref,o6" id="L406" clvi3269br52typc"lsyl5 cf=NULLuetrset &g18mme>151"> 2575 8-Imco="_oom_wakeEI5 inlass="l5p_sUmovstics_mcoef="mm/mt5e.asm57re17"> >3unsigned shor_HEADef="+co3evutex_18to"m3181set_lillitmutexL8e" >182pan151"> 257="line" 3ame="L263218brearef32meu52gs to.mof5"cf=NULLuetrset &g18mme>151"> 257&g18mme>38mem17controode=32="L>32167" cla2 c=========QUEUE_2 c" >1=ef=enumaImco="_oom_wakech9" 5mmmmm*pWep5nch9" e tmiscbecausepswap5ispf2579g18mme>38mem17control.c#L397break8ef=enumaImco="_oom_wakech9" 5s downpWep5nch9" e tmiscbecausepswap5ispf2589"> 2334re/a> 8-Imco="_oom_wakeEI5sntroonup.5nch9" e tmiscbecausepswap5ispf258ntroon"mm/m17"> 324 324);
32"mm>326=GFP_KERNE/earefef=17e>181"> 263RECLAIM3NOSWAP=========QUEUE_e>181"> 263RECLAIM3NOSWAPtroon|ef=17e>181"> 263RECLAIM3SHRINK=========QUEUE_e>181"> 263RECLAIM3SHRINKeare=8ef=enumaImco="_oom_wakech9" 5 TmiscSIep5nch9" e tmiscbecausepswap5ispf258mem18swap_sUmovstics"mm/m1DROPe=moset &g18mmL263222brea_read_ eu89" cla189" claL263222brea_read_ euld evidup. Wecan_nlie>181"> 2631f32p1833"mm/mem18RES_USAGef31ode=bool" clRES_USAGei8===8ef=enumaImco="_oom_wakech9" 5      SIep5nch9" e tmiscbecausepswap5ispf2585 >3unsigned sho137<>2723p. We woulcurus_wake__"+coupima=0curus_wa" >1Def31ROPe=moset &g18mm601=ef=enumaImco="_oom_wakech9" 5" idA*pbec5usep22381"> 263>>>>>>>>ineswe=mo9 ="L32 cry3222br=========QUEUE_2 cry3222brlas1--8ef=enumaImco="_oom_wakech9" 5sgs to.mof5usep2238mem17controdup. We would evnew8i3"mm/s3t &g5go>181pbec5usep2238mem17contro>>>>>>>>ineswe=mo9 ="L3oldus_wake__"+coupima=0oldus_wa" >1DROPe=moset &g18mmcurus_wake__"+coupima=0curus_wa" >18ef=enumaImco="_oom_wakech9" 5el wmmpbec5usep22 8-Imco="_oom_wakeEI5efullypWep5usep2232167" cla2 c=========QUEUE_2 c" >1 idup.idup.OPe=moset &g18mmenln classalrup. We woenln cl" >1=ef=enumaImco="_oom_wakech9" 5em:  .pWep5usep22 263 324);
32"mm>326="sressdef=enumaImco="_oom_wakech9" 5w5" imigrm5p177="mm/mem17>-24brearef4589" 4ecordup. 2e would ev5wapou59_wakeEI4mref31/a><4ef32em18OVE_TYP5ausepswap45spf248mme>181"2 263320 >1me5"L3245> 324 263pagSPIi8NULL8e"zon=ef=enumaImco="_zon="> 2,assalrup. We woenln ordmecoverld evineswordmehcname5am:  .pWep5nch9" e tmiscbecss tmat h45cbee49 ha hlin3 tillrtme 5ndmof59>>ineswe=mo9 ="L32 cry3222br=mo9 ="L3oldus_wake__"+coupima=0oldugfp_enumaImco="_oom_gfp_e>ines"+coupima=0oldugfp_masmld evidup. Wecagfp_masmhcname5am:  .pWep5nch9" e tmiscbecss tmat h5scbee499"> 247<3/a>38mem17cont5o"+co59e=__m5"5mmmmm*pbec5usep22<5ef32em18OVE_TYP6ausepswap56spf350ntroon"mm/m182pan c_p_nlzon=ef=enumaImco="_ >182pan c_p_nlzon="> 263pagSPIi8NULL8e"mzef=enumaImco="_ z"> 2,a3pagSPIi8NULL8e"next_mzef=enumaImco="_next_mz_wake__"+coupima=0curusref,o6" id="L406" clvi3269br4emmmm*emof4" cla18EINVAL"m6ss tmat h56cbe3502troon"mm/m182mm  re1ref_us="pagomm  _wake__9" 5mref31/a><5ef32em18OVE_TYP6a4 tmat h56c9" 4ecordup. 2e would ev6583346e/a> 8-Imco="_code=__pagSPIi8NULL8e" >182pan c_tree_p_nlzon=ef=enumaImco="_ >182pan c_tree_p_nlzon="> 263pagSPIi8NULL8e"mctzef=enumaImco="_ ctz_wakbr4emmmm*emof4" cla18EINVAL"m6s5 tmat h56cpf248mme>181"2 263
6"m605assold8idup.t &g18mva==========e18mimthe oupryexces1833"mm/mem18RESexces1_wakbr4emmmm*emof4" cla18EINVAL"m6s6 tmat h56cbee49>320 >1me6or_HE6Def="+co3evedlt &g18mva=====e18mimthe ouprynroscaasmhre1ref_us="pagonroscaasmh_wakbr4emmmm*emof4" cla18EINVAL"m6s7 tmat h56cbee49 ha hlin3 tillrtme 6>137<60f32meu52gs to.mof5"cf=NULLuetrset6ss tmat h5618p350&g18mme>38mem17cont6ol.c#60 would ev.asmm/mem18p3h the ouprordmecoverld evineswordmehcna======0" 5em:  .pWep5usep22 350m/moo334re/a> 8-Imc6="_oo608ed broot_assde=>176RSS per 9" 5mref31/a><5ef32em18OVE_TYP6oooooan c56156"> 351ntroon"mm/m 2)31ode=bool" clRESzon=_idutexeare=8ef=enuzon=_idu4 2)9" 5ech9" 5mm/sp3clas18e_ooeem6uot;ciscv56id 3512troon"mm/m137<>2723p.hyeis undereoom,ass="lmmmmmmmm* 5eref31/a><5">waitq;   6inrunch9"56().351m182pan c's aitqinuouslmmmmmmm* 4s downpWep4nch9" e tmiscbe686brearef56ere351bycode=mem_32re >3265555561mmmmmmmmmmmmmmmmm* Rathe93312e hidee*im si excellocattheir sofI .lilliand puttocatthe systemlt dmehcmmmm* 4s downpWep4nch9" e tmiscbe685 tmat h5618p3515 >3unsigned s6o833461 324 263ssol68idup. W3 mutedom5"5_ntroonup.5We would ev__"+6mm/mem18u56h9"3519"> 2ef=enumaImco="6oom_w61="L>32167" cla2 c========pagSPIi8NULL8e"next_mzef=enumaImco="_next_mz_wak" 5em:  .pWep5usep2232167" cla2 c====9" cla189" cla16mscan_"mzef=enumaImco="_ z"> 2e__"+coupima=0curunext_mzef=enumaImco="_next_mz_wak" 5ech9" 5mm/sp3clas18e_ooeem6uot;ciscv56id 352825"mm/mem18e"  ame6"L3246> 3break8ef=enumaImco=3t &g5go>181pbec5usep22182mzef=enumaImco="_ z"> 2e__"+coupima=0curu >182pan c_m_wakst3sofImco="_oncuref=enumaImco="_ >182pan c_m_wakst3sofImco="_oncur417ved tomof3om=====QUEUE_2 c" >1 imzef=enumaImco="_ z"> 2" 5em:  .pWep5usep2217ekech9" 5s downpWep5nch9" e tmiscbe6ss tmat h56cbe352mem18swap_sUmovstic6"mm/m62ech9" 4      SIep4nch9" e tmiscbe6ev.asmm/m5618p3525<5ef32em18OVE_TYP6ev.asmm/m5618p352re17"> >3unsigned s6o137<62723p. We woulcurus_wae18mimthe oupryomof3ommhre1ref_us="pagoomof3ommh_wake__"+coupima=0curu >182pan c_sofImomof3ome18mimld evineswe=mo9 ="L3sofIm24"> 324 2e oupryriscmovedsw" >1f32p1833"mm/mem18GFP_KERNE/a>);
32"mm>326=GFzon=ef=enumaImco="_zon="> 2, 5mref31/a><5ef32em18OVE_TYP6eoef="mm/56rer352&g18mme>381"> 263>>>>6>>>ineswe=mo9 ="L32 cry3222br============================="+coupima=0oldugfp_masmld evidup. Wecagfp_masmhcnam /a>38mem17cont6odup.6We would evnew8i3"mm/se18mimthe ouprynroomof3ommhre1ref_us="pagonroomof3ommh_wake+a_read_ eu89" cla18of3ommhre1ref_us="pagoomof3ommh_wakbr4emmmm*emof4" cla18EINVAL"m6coef="mm/56rer3529g18mme>38mem17cont6ol.c#6397 263 8-63et &g18mmvedlillithe oupryriscmovedlspino"mld evidup. Wecan_spino"mld 2633263swapou517vedcg_ooeemecyeis undereoom,ass="lmmmmmmmm* 5eref31/a><5">waitq;   6e="L2631456rea353m334re/a> 8-Imc6="_oo63aagneup3mm_of #_of childreym_cnamew33208oldu3 If tmmfa22bd.lil2should_anythocatfrom p>om,">wory me>181">mmmm* 5eref31/a><5">waitq;   6es tmat h5618p353mem18swap_sUm2 cla16ed br63mmmmmmmmmmmmmmmmm* Rathe93312e hideemll8176som>om,s tomm.lilmovery-*totthe next me>181">mmmm* 5eref31/a><5">waitq;   6ev.asmm/m5672n3535g18m8334re/a> 8-Im6o="_o63ammmmmmmmmmmmmmmm* Rathe93312e hideemll8176soatchcname5 inlass="l5nch9" e tmiscbe6oooooan c561 iduof3ommhre1ref_us="pagoomof3ommh_wak_m5"5_ntroonup.5We would ev__"+6ev.asmm/m5618p353&g18mme>38mem17cont6ol.c#6397p_sUmovstics" vsunsigned lodom5"5_ntroonup.5We would ev__"+6p_mm_cnam5689"3538>.e 8ef=QUEUE_HEAD6f="+c6397p_sUmovsunsigned long long LLuetrsecyeis undereoom,ass="lmmmmmmmm* 5eref31/a><5">waitq;   6ss tmat h56cbee54>183class="s31n erf6rmanc64h_mcoef3"mmis depeass=onaf32onrsled                         * Lm   until tmmfind yelianome="Lon=ca>wca>681"> 64 324182pan c_m_wakst3sofImco="_oncurRSS persa> 2633548"> 32438memme="L26inesw64/a>182pan c_m_wakst3sofImco="_oncuref=enumaImco="___ >182pan c_m_wakst3sofImco="_oncur418552troon"mm/mbreak8ef=enumaImco="_oom_waaaaaaaaa====pagSPIi8NULL8e"next_mzef=enumaImco="_next_mz_wak====QUEUE_va=PIi8=emzef=enumaImco="_ z"> 2" 5em:  .pWep5usep22mem32___56274u55m 8-Imco="_oom_wakefmsc2 c=========ppppppppe18mimthe ouprycss_pu18 8ef=QUEUE_HEADss_pu1 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" cs1833"mm/mem18REScs1_wak9" 5ech9" 5mm/sp3clas18e_ooeem6/s tmat h5655mem18swap_sUmovstic6"m"mm6>181"> 263181"2 263320 >1me="6"L324 523p. We woulcurus_waeeeeeeeee}y3222br=19" 5ech9" 5mm/sp3clas18e_ooeem6/="_oom_w56 .as55 ha hlin3 tillrtme 6ndmof65723p. We would eswlilEI4mref31/a><4ef32em18OVE_TYP6ine" name56L263559"> 247<182pan c_remove_excellmhre1ref_us="pago__ >182pan c_remove_excellmh4 2e oupryriscmovedsw" >1f32p1833"mm/mem18GFP_KERNE/a>);
32"mm>326=GFmzef=enumaImco="_ z"> 2,alit_e woulSPIi8=ctzef=enumaImco="_ ctz_wak9" 5ech9" 5mm/sp3clas18e_ooeem6/_mm_cnam56__SP559g18mme>38mem17cont6o"+co6p_mm__unch9utex_to"m3 2e oupryriscmovedsw" >1f32p1833"mm/mem18GFP_KERNE/cla189" claL26" >1f32p1833"mm/mem18RES_LIMIT/9" 5ech9" 5mm/sp3clas18e_ooeem6ev.asmm/m5618pr56825"mm/mem18e"  ame6"Pe=m6set &g18mmvedlillithe oyeis undereoom,ass="lmmmmmmmm* 5eref31/a><5">waitq;   6p_mm_cnam5689" 56ntroon"mm/m<5">waitq;   6pset &g185626pu562troon"mm/m3265555566mmmmmmmmmmmmmmmmm* Rathe93312e hideemll8176somtotpriority tmmarm.exposocata small="Lsubsettofmmmmmm* 4sntroonup.4nch9" e tmiscbe6uv.asmm/m56="L3565wory lil2should_from. Consid="L26,s as aa====mehcmmmm* 4s downpWep4nch9" e tmiscbe6a><32=mo>566 >3unsigned s6or_HE66 324381"> 263137<6667" cvo2dread30"li" clas18ef=b32ode>566on>56&g18mme>38mem17cont6ol.c#6397 26338mem17cont6ossol68idup. W3 2 c=========QUEUE_2 c" >182__ >182pan c_insert_excellmhre1ref_us="pago__ >182pan c_insert_excellmh4 2e oupryriscmovedsw" >1f32p1833"mm/mem18GFP_KERNE/a>);
32"mm>326=GFmzef=enumaImco="_ z"> 2,alit_e woulSPIi8=ctzef=enumaImco="_ ctz_wak,alit_e woulSPIi8exces1833"mm/mem18RESexces1_wak9" 5ech9" 5mm/sp3clas18e_ooeem6ref313732167" cla2 c====oupryriscmovedlspino18to"mld evidup. Wecaspino18to"m 2632723p. We woule18mimthe ouprycss_pu18 8ef=QUEUE_HEADss_pu1 263 2e oupryriscmovedsw" >1f32p1833"mm/mem18GFP_KERNE/cla189" claL26" >1f3cs1833"mm/mem18REScs1_wak9" 5ech9" 5mm/sp3clas18e_ooeem6coef="mm/56rere572troon"mm/mwaitq;   6coef="mm/56rere57bycode=mem_32re >3265555567mmmmmmmmmmmmmmmmm* Rathe93312e hideemll8176somCual32nom.2should_anythocatand me="mmarm.nilmorehcmmmm* 4s downpWep4nch9" e tmiscbe6&g18mme>156"> 2575wL2pan csRtottry or tmmue>wLtotbewmm  ocatwithouthcmmmm* 4s downpWep4nch9" e tmiscbe6&><32=mo>56.asm57re17"> >3unsigned s6or_HE67 324 257="line" 3ame="L263268brea6767" cvo2dread30"li" clas18ef=156"> 257&g18mme>38mem17cont6oode=62="L>32167" cla2 c=========QUEUE_2 c" >1=enroomof3ommhre1ref_us="pagonroomof3ommh_wakenln classae4g evenpbec4usep2238mem17cont6ol.c#6397break8ef=enumaImco="_oom_wa=pagSPIi8NULL8e"next_mzef=enumaImco="_next_mz_wak====QUEUE_va=PIi8=esref,o6" id="L406" clvi3269 |me5ap_mm_cnam5nch9" e tmiscbe6ausepswap56spf2589"> 2334re/a> 8-Imc6="_oo68723p. We woulsignalopppppppppryriscmovedsw" "m  re1ref_us="pagomm  _wak======QUEUE_va=PIi8= re=8ef=enumMAX_SOFToom_wamaImco="_LOOPRECLAIM3RETRIES cf=8ef=enumMAX_SOFToom_wamaImco="_LOOPR_wak9" 5em:  .pWep5usep2217"> 3241=enroomof3ommhre1ref_us="pagonroomof3ommh_wak9" 5ech9" 5mm/sp3clas18e_ooeem6ausepswap56spf258m1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" cs1833"mm/mem18REScs1_wak9" 5ech9" 5mm/sp3clas18e_ooeem6ausepswap56spf2585);
32"mm>326="sressdenroomof3ommhre1ref_us="pagonroomof3ommh_wak" 5ech9" 5mm/sp3clas18e_ooeem6a><32=mo>56spf258re17"> >3unsigned s6o137<62723p.EI4mref31/a><4ef32em18OVE_TYP6ss tmat h56cbee58&g18mme>381"> 263>>>>68f32meu52gs to.mof5"cf=NULLuetrset6ss tmat h56cbee58&g18mme>38mem17cont6odup.6897" id32/read30"li" clas18emmmmmmmm* 5eref31/a><5">waitq;   6ss tmat h56cbee589g18mme>38mem17cont6o>>>>68/a> 8-69h_mcoef3"mmis depeass=onaf32re2shouldtthe pages page me=mselves -m>omjusm.2smovestthe page82pan c ca>3269swapoup3mm_of #_of childreym* RS pers _wak ===irchypage82pan c  tmrm.nit frell,assdicatocatthattthe call="a> 2669up. We 3ou" clas18ef=326="sressdebooenumaImco="_oom_booellrtmryriscmovedsw" >1f82pan c_force_empty_lislp1833"mm/mem18GFP_82pan c_force_empty_lisl 263182pan cf=NULLuetrset &g18mme>181"> 263181"i5vonup. We would6ausepswap46spf248mme>181"2 263182ncuref=enumaImco="_ncur4320 >1me6"L3246> 324<5"5_ntroonup.5We would ev__"+6ss tmat h46cbee49 ha hlin3 tillrtme 6ndmof69>>ineswe=mo9 code=__pagSPIi8NULL8e" >182pan c_p_nlzon=ef=enumaImco="_ >182pan c_p_nlzon="> 263pagSPIi8NULL8e"mzef=enumaImco="_ z"> 2" 5ech9" 5mm/sp3clas18e_ooeem6ss tmat h56cbee499"> 247<3/a>38mem17cont6o"+co699>ineswe=mo9 code=__pagSPIi8NULL8e"lisl_heahre1ref_us="pagolisl_heah"> 263pagSPIi8NULL8e"lislp1833"mm/mem18G"islllrt" 5ech9" 5mm/sp3clas18e_ooeem7ausepswap57spf350825"mm/mem18e"  ame7"137<72723p. We woulcode=__pagSPIi8NULL8e"p >18ef=enumaImco="prus_wake3pagSPIi8NULL8e"busynumaImco="_oom_busyllrt" 5ech9" 5mm/sp3clas18e_ooeem7a1sepswap57sbee591coup_mm3_ etode=327 4 263pagSPIi8NULL8e"zon=ef=enumaImco="_zon="> 2" 5ech9" 5mm/sp3clas18e_ooeem7a2sepswap57sbee592troon"mm/m 26= /a> 8-Imco="_pagSPIi8NULL8e"mzef=enumaImco="_ z"> 2e__"+coupima=0curu >182pan c_zon=infoef=enumaImco="_ >182pan c_zon=info4);
32"mm>326=GFncuref=enumaImco="_ncur4181"2 263
6"m705assold8idup.pagSPIi8NULL8e"lislp1833"mm/mem18G"islllrt6= /a> 2e oupryriscmovedsw" "ruvecp1833"mm/mem18G"ruvec"> 2.pagSPIi8NULL8e"lisl1833"mm/mem18RESlisl14320 >1me7or_HE70mscan_53inlas33a1525"<1_"mm/ laIm7s7 tmat h57cbee49 ha hlin3 tillrtme 7>137<7082 cry3222br=========QUEUE_2mm  re1ref_us="pagomm  _wake__p3clas18ef178brezef=enumaImco="_ z"> 2e oupryriscmovedsw" "ru_p1833"mm/mem18G"ru_4 247<3/a> 350m/moo334re/a> 8-Imc7="_oo708ed broot_ass========QUEUE_2mm  re1ref_us="pagomm  _wake+= 256" 5ech9" 5mm/sp3clas18e_ooeem7oooooan c57157"> 351ntroon"mm/m182pan cf=NULLuetrset &p >182pan c"> 263pagSPIi8NULL8e"pcp1833"mm/mem18Gpc3269br4emmmm*emof4" cla18EINVAL"m7&3sepswap57().351m18ef=enumaImco="prus_wake3pagSPIi8NULL8e"p >18ef=enumaImco="prus_wakbr4emmmm*emof4" cla18EINVAL"m7&4sepswap57ere351bycode=mem_32re >3275555571ech9" 4      SIep4nch9" e tmiscbe785 tmat h5718p3515 2e oupryriscmovedsw" "ru_"mld evidup. Wecan_"ru_"mld4 >3unsigned s7o833471723p. We woulcurus_wake__"+coupima=0curulisl_emptyre1ref_us="pagolisl_empty4381"> 263ssol71>>ineswe=mo9 ="L32 cry3222br=========QUEUE_2spino18to"m_irqrestor18ef=enumaImco="spino18to"m_irqrestor1 263 2e oupryriscmovedsw" "ru_"mld evidup. Wecan_"ru_"mld4 2ef=enumaImco="7oom_w71="L>32167" cla2 c============kech9" 5s downpWep5nch9" e tmiscbe7coef="mm/57rer3519g18mme>38mem17cont7oode=72="L>32167" cla2 c====EI4mref31/a><4ef32em18OVE_TYP7uot;ciscv57id 352825"mm/mem18e"  ame7"L3247> 3break8ef=enumaImco=pagSPIi8NULL8e"p >18ef=enumaImco="prus_wake__"+coupima=0curulisl_em18yre1ref_us="pagolisl_em18y418ef=enumaImco="prus_wak,alit_e woulSPIi8"rup1833"mm/mem18G"ru_wak"" 5s downpWep5nch9" e tmiscbe7ss tmat h57cbe352put" clP2218ef=enumaImco="prus_wak_m5"5earef32__S5Iloops=ef
Y17ved tomof3omumaImco=pagSPIi8NULL8e"lisl_movere1ref_us="pagolisl_move 26318ef=enumaImco="prus_wake oupryriscmovedsw" "rup1833"mm/mem18G"ru_wak,alit_e woulSPIi8"islp1833"mm/mem18G"islllrt_" 5s downpWep5nch9" e tmiscbe7s3sepswap57cbe352m17e========QUEUE_2busynumaImco="_oom_busyllrte__"+coupima=0curusref,o6" id="L406" clvi3269br4emmmm*emof4" cla18EINVAL"m7ss tmat h57cbe352mem18swap_sUmovstic7"mm/m72181"> 263 2e oupryriscmovedsw" "ru_"mld evidup. Wecan_"ru_"mld4 >3unsigned s7o137<72723p. We woulcurus_waEI4mref31/a><4ef32em18OVE_TYP7uoef="mm/57rer352&g18mme>381"> 263>>>>7>>>ineswe=mo9 ="L32 cr========QUEUE_2spino18to"m_irqrestor18ef=enumaImco="spino18to"m_irqrestor1 263 2e oupryriscmovedsw" "ru_"mld evidup. Wecan_"ru_"mld438mem17cont7odup.7We wou 5ech9" 5mm/sp3clas18e_ooeem7soef="mm/57rer3529g18mme>38mem17cont7ol.c#7397 263182pan cf=NULLuetrset &look c_p >182pan c418ef=enumaImco="prus_wak_" 5ech9" 5mm/sp3clas18e_ooeem7uot;ciscv57id 353825"mm/mem18e8334re7a> 8-73wakeEI5sntroonup.5nch9" e tmiscbe7ausepswap57spf3531coup_mm3_ etode=327"L>3273723p. We would elillithe oupryriscmovedlill82pan c_move_pa="+cef=enumaImco="_ >182pan c_move_pa="+c418ef=enumaImco="prus_wak,arup. We woenln pcp1833"mm/mem18Gpc3269,alit_e woulSPIi8=1f32p1833"mm/mem18GFP_KERNE/__m5"5earef32__S5Iloops=ef
Y17vedcg_ooeeme3208oldupre2memss=3ced ?li" clas1found "mldsaitqi" ion or "pc"m,s obsolete.mbatchcname4g evenpbec4usep2217e========QUEUE_2busynumaImco="_oom_busyllrte__"+coupima=0curup >18ef=enumaImco="prus_wakbr4emmmm*emof4" cla18EINVAL"m7es tmat h5718p353mem18swap_sUm2 cla17ed br73181"> 263 8-Im7o="_o73/a> 8-Imco="_oom_wakeE=3t &g5go>181pbec5usep2217e========QUEUE_2busynumaImco="_oom_busyllrte__"+coupima=0curusref,o6" id="L406" clvi3269br4emmmm*emof4" cla18EINVAL"m7o="_oom_w57eNU35t ha h8move_sin erfo7mancl73723p. We woulEI4mref31/a><4ef32em18OVE_TYP7ev.asmm/m5718p353&g18mme>38mem17cont7ol.c#7397p_sUmovstic>);
32"=QUEUE_2 c" >1=elisl_emptyre1ref_us="pagolisl_empty4.e 8ef=QUEUE_HEAD7f="+c7397p_sEI4mref31/a><4ef32em18OVE_TYP7ss tmat h57cbee54>183class="s31n erf7rmanc74wakeEI5sntroonup.5nch9" e tmiscbe7t of @to 57ght 54a1825"mm/mem1ted by7ode=m74swapoup3mm_of #_of childreymmmmmmmm* 5eref31/a><5">waitq;   7ts tmat h57L263542troon"mm/m182pan c's ah_wakLtotbew0itheme="mm,s no taskca>w82pan cca>182pan c_force_empty4182pan cf=NULLuetrset &g18mme>181"> 263326="sressdebooenumaImco="_oom_booellrtmryriscmovedsw" frel_alenumaImco="_oom_frel_alellrt_e4g evenpbec4usep221854r thisce3pryrn"mme>781"> 74 324<5"5_ntroonup.5We would ev__"+7t="_oom_w5723="54&g18mme>181"> 2633548"> 32472oef="mm/57e.as549g18mme>38memme="L27inesw74923p. We woulssalrup. We woenln nroomtri=1833"mm/mem18RESnroomtri=1llrte__"+coupima=0curure=8ef=enumaImco="_RETRIERECLAIM3RETRIES cf=8ef=enumaImco="_RETRIERech9" 5w5" imigrm5p177="mm/mem17>7mm_cnameu57" cl55825"mm/mem18e"  ame7"137<75723p. We woulcode=__pagSPIi8NULL8e"2pan cf=NULLuetrset &me>181"> 263cf=NULLuetrset &me> _wake__p3clas18ef178bre1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" cs1833"mm/mem18REScs1_wak.pagSPIi8NULL8e"2pan cf=NULLuetrset &me>181"> 2" 5w5" imigrm5p177="mm/mem17>7m of @to 57252n55ntroon"mm/m18552troon"mm/mbreak8ef=enryriscmovedsw" cs1_g=enumaImco="_oom_cs1_g=e 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" cs1833"mm/mem18REScs1_wak9" 5ech9" 5mm/sp3clas18e_ooeem7>mem32___57274u55m 8 5ech9" 5mm/sp3clas18e_ooeem7>s tmat h5755mem18swap_sUmovstic7"m"mm75/a> 8-Imco="_pagSPIi8NULL8e"shrinmld evidup. Wecashrinmech9e__9" 5mref31/a><5ef32em18OVE_TYP7mv.asmm/m57567"55mme>181"2 263320 >1me="7"L3247523p. We woulcthe oupryriscmovedlfrel_alenumaImco="_oom_frel_alellrt_e4g evenpbec4usep22 2" 5w5" imigrm5p177="mm/mem17>7m" class357L263559"> 247<ove_ac22brlas1--8ef=enumaI>ove_ac22brl wou: 5w5" imigrm5p177="mm/mem17>7moef="mm/57__SP559g18mme>38mem17cont7o"+co7p_mm__unch9utedom5"5_ntroonup.5We would ev__"+7ev.asmm/m5718pr56825"mm/mem18e"  ame7"Pe=m7set &g18mmvedlillithe oup. We woenln f=enumaImco="_oom_wakech9e__-oup. We woenln m_waknumaImco="_oom_m_wak"> 2" 5w5" imigrm5p177="mm/mem17>7p_mm_cnam5789" 56ntroon"mm/mcf=NULLuetrset &me> _wak) ||"=QUEUE_2 c" >1=elisl_emptyre1ref_us="pagolisl_empty4cf=NULLuetrset &me> _wake oupryriscmovedsw" childrenf=NULLuetrset &mhildrenRNE/__ 5w5" imigrm5p177="mm/mem17>7pset &g185726pu562troon"mm/m17vedcg_ooeeme3208oldugototoupryriscmovedlou18 8ef=QUEUE_HEAoukech9" 5w5" imigrm5p177="mm/mem17>7mem18e"  57e="L56m3275555576a> >3unsigned s7or_HE76723p. We woulcurus_wae18mimthe oupryomenumaImco="_oom_wakech9e__9" 5mref31/a><5ef32em18OVE_TYP7m="_oom_w57eNUL56&g18mme>381"> 263137<76>>ineswe=mo9 ="L32 cr========QUEUE_2 >182pan c_n_nrl_movere1ref_us="pago >182pan c_n_nrl_move456&g18mme>38mem17cont7ol.c#7397 26338mem17cont7ossol78idup. W3 2 c=================for llit_e woulSPIi8zihre1ref_us="pagozih41=edup.idup.OPe=moset &g18mmenln classalrup. We woenln zihre1ref_us="pagozih42723p. We woul3 263 2575<32=mo>57.asm57re17"> >3unsigned s7or_HE77723p. We woulcurus_wa7358>17eeeeeeeeeEI4mref31/a><4ef32em18OVE_TYP7&g18mme>157"> 257="line" 3ame="L263278brea77>>ineswe=mo9 ="L32 cry3222br=EI4mref31/a><4ef32em18OVE_TYP7&" class357"> 257&g18mme>38mem17cont7oode=72="L>32167" cla2 c====ccccccccthe oupryriscmovedlomenumaImco="_oom_wakech9_ 5w5" imigrm5p177="mm/mem17>7&_mm_cnam57spf2579g18mme>38mem17cont7ol.c#7397break8ef=enumaImco="_oom_wasssssssskech9" 5s downpWep5nch9" e tmiscbe7ausepswap57spf2589"> 2334re/a> 8-Imc7="_oo78723p. We woulsignalopEI4mref31/a><4ef32em18OVE_TYP7ausepswap57spf258ntroon"mm/m17"> 3241f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln RES_USAGE833"mm/mem18RESRES_USAGE_wak"m=====0 ||"oupryriscmovedlomenumaImco="_oom_wakech9_" 5ech9" 5mm/sp3clas18e_ooeem7a><32=mo>57spf258re17"> >3unsigned s7o137<72723p.oupryriscmovedlou18 8ef=QUEUE_HEAoukech9: 5w5" imigrm5p177="mm/mem17>7ss tmat h57cbee58&g18mme>381"> 263>>>>7882 cry3222br=========QUEUE_2css_pu18 8ef=QUEUE_HEADss_pu1 26338mem17cont7odup.7897p_sUmovstic>);
32"rup. We woenln f=enumaImco="_oom_wakech9" 5w5" imigrm5p177="mm/mem17>7ss tmat h57cbee589g18mme>38mem17cont7o>>>>78/a> 8-79h_mcoeupryriscmovedlo="_to_frelnumaImco="_oom_o="_to_frel"> 2: 5w5" imigrm5p177="mm/mem17>7ss tmat h57cbee591coup_mm3_ etode=327"L>32791> 2679lagned shor_Hthe oupryriscmovedl2pan c_task222brlas1--8ef=enumaI2pan c_task222brl4cf=NULLuetrset &me> _wak) ||"=QUEUE_2 c" >1=elisl_emptyre1ref_us="pagolisl_empty4cf=NULLuetrset &me> _wake oupryriscmovedsw" childrenf=NULLuetrset &mhildrenRNE/_ ||"oupryriscmovedlshrinmld evidup. Wecashrinmech9"m5"5earef32__S5Iloops=ef
Y 2" 5w5" imigrm5p177="mm/mem17>724brearef4789" 4ecordup. 2e would ev7wapou79181"> 263<4ef32em18OVE_TYP7ss tmat h47cbee49>320 >1me7"L324796> 247<3/a>38mem17cont7o"+co798ed broot_ass========QUEUE_2shrinmld evidup. Wecashrinmech9e__1" 5ech9" 5mm/sp3clas18e_ooeem8ausepswap58spf350825"mm/mem18e"  ame8"137<82723p. We woul3222br=========QUEUE_2nroomtri=1833"mm/mem18RESnroomtri=1llrtenln classalrup. We woenln a189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln RES_USAGE833"mm/mem18RESRES_USAGE_wak"m=====0"m5"5earef32__S5Iloops=ef
Y 263
6"m80aagned shor_HEADef="+co3eved2gototoupryriscmovedlou18 8ef=QUEUE_HEAoukech9" 5w5" imigrm5p177="mm/mem17>8a6 tmat h58cbee49>320 >1me8or_HE80723p. We woulcurus_waEI4mref31/a><4ef32em18OVE_TYP8s7 tmat h58cbee49 ha hlin3 tillrtme 8>137<80>>ineswe=mo9 ="L32 cr========QUEUE_2progres1833"mm/mem18RESprogres1ech9e__rup. We woenln o="_to_frel_ >182pan c_pagesnumaImco="_oom_o="_to_frel_ >182pan c_pages 263< 247<3/a> 350m/moo334re/a> 8-Imc8="_oo8097break8ef=enumaImco======QUEUE_2 c" >1=eprogres1833"mm/mem18RESprogres1ech9_m5"5earef32__S5Iloops=ef
Y158"> 351ntroon"mm/m2723p. We woul3<4ef32em18OVE_TYP8&4sepswap58ere351bycode=mem_32re >3285555581ech9" 4      SIep4nch9" e tmiscbe885 tmat h5818p3515<4ef32em18OVE_TYP886 tmat h58mm_351re17"> >3unsigned s8o833481723p. We woul========QUEUE_2mru_add_drainnumaImco="_oom_"ru_add_drain4 263ssol81>>ineswe=mo9 sre2memss=3ced ?li" clas1try >ove_ac22brl...me="mmmay be=irchy*"mlded* pages.mbatchcname4g evenpbec4usep22 2ef=enumaImco="8oom_w81="L>32167" clgototoupryriscmovedl>ove_ac22brlas1--8ef=enumaI>ove_ac22brl wou" 5ech9" 5mm/sp3clas18e_ooeem8cusepswap58rer3519g18mme>38mem17cont8oode=8197p_sEI4mref31/a><4ef32em18OVE_TYP8uot;ciscv58id 352825"mm/mem18e"  ame8"L32482wakeEI5sntroonup.5nch9" e tmiscbe8ss tmat h58cbe352put" clP22181"> 263);
32"rup. We woenln FP_82pan c_force_emptyef=enumaImco="_ >182pan c_force_empty4EI4mref31/a><4ef32em18OVE_TYP8u5 tmat h5818p3525<4ef32em18OVE_TYP8u6 tmat h5818p352re17"> >3unsigned s8o137<82mscan_53inlas33a1525"<1_"mm/ laIm8uoef="mm/58rer352&g18mme>381"> 263>>>>8>>>inen_nlinlmm>326="sressdeuame=56bycod"_oom_uam 263"rup. We woenln FP_82pan c_hierarchy6echdef=enumaImco="_FP_82pan c_hierarchy6echd4181"> 263 26338mem17cont8ol.c#8397 263);
32"rup. We woenln FP_82pan c_fro_82o+cef=enumaImco="_FP_82pan c_fro_82o+c4 8-83wakeEEI4mref31/a><4ef32em18OVE_TYP8ausepswap58spf3531coup_mm3_ etode=328"L>3283swapou5181"> 263 263334re/a> 8-Imc8="_oo83aagned shoan aref32=17358>17eEADef="+ppppppppryriscmovedsw" uame=56bycod"_oom_uam 263"rup. We woenln vaenumaImco="_oom_vaeech9_ 5w5" imigrm5p177="mm/mem17>8es tmat h5818p353mem18swap_sUm2 cla18ed br83181">5"5earef32__S5Iloops=ef
Y 8-Im8o="_o83/a> 8-Imco="_ssalrup. We woenln f=evaenumaImco="_oom_f=evaeech9e__9" 5mref31/a><5ef32em18OVE_TYP8oooooan c58182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18OVE_TYP8ooef="mm/58eNU35t ha h8move_sin erfo8mancl83>>ineswe=mo9 code=__pagSPIi8NULL8e"2pan cf=NULLuetrset &me>181"> 263<5ef32em18OVE_TYP8o8 tmat h5818p353&g18mme>38mem17cont8ol.c#8397p_sUmovsticcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263.e 8ef=QUEUE_HEAD8f="+c83/a>17"> 3241f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" use_hierarchye=56bycod"_oom_use_hierarchy woue___"+coupima=0curuvaenumaImco="_oom_vaeech9_ 5w5" imigrm5p177="mm/mem17>8tooooan c58e>1854r thisce3pryrn"mme>881"> 84723p. We woulcurus_wagototoupryriscmovedlou18 8ef=QUEUE_HEAoukech9" 5w5" imigrm5p177="mm/mem17>8t="_oom_w5823="54&g18mme>181"> 2633548"> 32438memme="L28inesw84/a>181"2 263320 >1me="8"L3248523p. We woulcthe ==QUEUE_2 c" >1=epa="+c_refef=1=epa="+c_refef= 247<32167" cla2 c================QUEUE_2misl_emptyre1ref_us="pagolisl_empty438mem17cont8o"+co8597break8ef=enumaImco="_oom_waoupryriscmovedl>1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" use_hierarchye=56bycod"_oom_use_hierarchy woue_"oupryriscmovedlvaenumaImco="_oom_vaeech9ae4g evenpbec4usep22181pbec5usep22 2" 5w5" imigrm5p177="mm/mem17>8pset &g185826pu562troon"mm/m181pbec5usep22 2" 5w5" imigrm5p177="mm/mem17>8ps tmat h58ame=56bycode=mem_32re >3285555586ech9" 4      SIep4nch9" e tmiscbe8uv.asmm/m58="L3565 >3unsigned s8or_HE86723p. We woul========QUEUE_22pan c_18to"m evidup. Wecan_2pan c_18to"m4 263137<86f32meu52gs to.mof5"cf=NULLuetrset8u" class3586on>56&g18mme>38mem17cont8ol.c#8697p_sUmovstic>);
32"rup. We woenln f=evaenumaImco="_oom_f=evaeech9" 5ech9" 5mm/sp3clas18e_ooeem8moef="mm/58lass569g18mme>38mem17cont8ossol8697p_sEI4mref31/a><4ef32em18OVE_TYP8ref3137182pan cf=NULLuetrset &g18mme>181"> 263182pan c_n_nt_indexef=enumaImco="_FP_82pan c_n_nt_index 263"rup. We woenln idxef=enumaImco="_idxech9_ 5w5" imigrm5p177="mm/mem17>8coef="mm/58rere57bycode=mem_32re >3285555587181">5"5earef32__S5Iloops=ef
Y158"> 2575182pan cf=NULLuetrset &g18mme>181"> 263<32=mo>58.asm57re17"> >3unsigned s8or_HE87723p. We woul=====e18mimthe oupryvaenumaImco="_oom_vaeech9e__9" 5mref31/a><5ef32em18OVE_TYP8&g18mme>158"> 257="line" 3ame="L263288brea87f32meu52gs to.mof5"cf=NULLuetrset8&" class358"> 257&g18mme>38mem17cont8oode=87 would ev.asmsre2memss=3ced ?li" clas1Per-cpu vaeuks can be=negnlive, use a &g18mvaaccumulatortbatchcname4g evenpbec4usep2238mem17cont8ol.c#878ed broot_ass========QUEUE_2for_each_FP_82pan c_trelnumaImco="_oom_for_each_FP_82pan c_trel4 2334re/a> 8-Imc8="_oo88723p. We woulsignalope18mimthe oupryvaenumaImco="_oom_vaeech9e+__rup. We woenln FP_82pan c_echd_n_nlef=enumaImco="_FP_82pan c_rehd_n_nl4<5ef32em18OVE_TYP8ausepswap58spf258ntroon"mm/m<5ef32em18OVE_TYP8ausepswap58spf258mem18swap_sUmovstic8"mm/m8/a>);
32"rup. We woenln vaenumaImco="_oom_vaeech9ae4g evenpbec4usep22<4ef32em18OVE_TYP8a><32=mo>58spf258re17"> >3unsigned s8o137<88mscan_53inlas33a1525"<1_"mm/ laIm8ss tmat h58cbee58&g18mme>381"> 263>>>>88>>inen_nlinlmm>326="sressdeinme>381=enumaImco="_inme>3 263"rup. We woenln uame=56bycod"_oom_uam 263"rup. We woenln FP_82pan c_us >18ef=enumaImco="FP_82pan c_us >14182pan cf=NULLuetrset &g18mme>181"> 263326="sressdebooenumaImco="_oom_booellrtmryriscmovedsw" swacf=NULLuetrset &swacRNE/_e4g evenpbec4usep2238mem17cont8odup.88e wou5"5earef32__S5Iloops=ef
Y38mem17cont8o>>>>888ed broot_ass========QUEUE_2uame=56bycod"_oom_uam 263"rup. We woenln vaenumaImco="_oom_vaeech9ae4g evenpbec4usep22 8-89wakeEI5sntroonup.5nch9" e tmiscbe8ss tmat h58cbee591coup_mm3_ etode=328"L>32891>1=eFP_82pan c_is_rooc8ef=enumaImco="FP_82pan c_is_rooc4 2689lagned shor_HEADef="+=====QUEUE_2 c" >1=eswacf=NULLuetrset &swacRNE/_e4g evenpbec4usep22);
32"rup. We woenln a189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln RES_USAGE833"mm/mem18RESRES_USAGE_wak"ae4g evenpbec4usep22 263181pbec5usep22181"2 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_swMIT/,arup. We woenln RES_USAGE833"mm/mem18RESRES_USAGE_wak"ae4g evenpbec4usep22<32=mo>58cbee49>320 >1me8"L324896><4ef32em18OVE_TYP8ss tmat h58cbee49 ha hlin3 tillrtme 8ndmof89f32meu52gs to.mof5"cf=NULLuetrset8ss tmat h58cbee499"> 247<3/a>326="sressdecf=8ef=enumSTAT_CACHE833"mm/mem18REScf=8ef=enumSTAT_CACHE_wak"ae4g evenpbec4usep2238mem17cont8o"+co898ed broot_ass========QUEUE_2vaenumaImco="_oom_vaeech9e+__rup. We woenln FP_82pan c_eccursivrln_nlef=enumaImco="_FP_82pan c_recursivrln_nl4326="sressdecf=8ef=enumSTAT_RSRECLAIM3RETRIES cf=8ef=enumSTAT_RSR_wak"ae4g evenpbec4usep221=eswacf=NULLuetrset &swacRNE/_e4g evenpbec4usep22326="sressdecf=8ef=enumSTAT_SWAPECLAIM3RETRIES cf=8ef=enumSTAT_SWAP_wak"ae4g evenpbec4usep22 8 5ech9" 5mm/sp3clas18e_ooeem9a4sepswap59s9" 4ecordup. 2e would ev95833490a>);
32"rup. We woenln vaenumaImco="_oom_vaeech9e&l==&l===QUEUE_va=PIi8= PAGE_SHIFTnumaImco="_oom_PAGE_SHIFTech9ae4g evenpbec4usep22181"2 263
6"m90illrtEI4mref31/a><4ef32em18OVE_TYP9a6 tmat h59cbee49>320 >1me9or_HE90mscan_53inlas33a1525"<1_"mm/ laIm9s7 tmat h59cbee49 ha hlin3 tillrtme 9>137<90>>inen_nlinlmm>326="sressdessize_lef=enumaImco="_ssize_l 263"rup. We woenln FP_82pan c_echdef=enumaImco="_FP_82pan c_echd4181"> 263 263 247<3/a> 263 2, ah_w_pagSPIi8NULL8e"__useecoverld evinesw__usee"> 26338mem17cont9="_oo9097break8ef=enumaImco= shor_HEADef="+ryriscmovedsw" size_lef=enumaImco="_size_l 263"rup. We woenln nbyt=1833"mm/mem18RESnbyt=1hcnamlmm>326="sressdeloff_lef=enumaImco="_loff_l"> 263159"> 351ntroon"mm/m2723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18OVE_TYP9uot;ciscv59id 3512troon"mm/m 2[64]" 5mref31/a><5ef32em18OVE_TYP9u3sepswap59().351m 2mlmm>326="sressde32re833"mm/mem18RESn2rehcnamlmm>326="sressdelenf=NULLuetrset &lenRNE/ae4g evenpbec4usep22<4ef32em18OVE_TYP986 tmat h59mm_351re17"> >3unsigned s9o833491723p. We woul========QUEUE_2typknumaImco="_oom_typk"> 2e__"+coupima=0curure=FILE_TYPE833"mm/mem18REScf=FILE_TYPE4<5ef32em18OVE_TYP9u7 tmat h59rer351&g18mme>381"> 263ssol91>>ineswe=mo9 sm>326="sressde32re833"mm/mem18RESn2rehcnae__"+coupima=0curure=FILE_ATTRnumaImco="_oom_re=FILE_ATTR4<5ef32em18OVE_TYP9u8 tmat h59h9"3519"> 2ef=enumaImco="9oom_w91="L>3 5mref31/a><5ef32em18OVE_TYP9u9 tmat h59rer3519g18mme>38mem17cont9oode=91923p. We wouls====QUEUE_2 c" >1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brlech9e&ln classalrup. We woenln typknumaImco="_oom_typk"> 2e___"+coupima=0curu_cf=SWAPECLAIM3RETRIES _cf=SWAPRNE/_e4g evenpbec4usep22);
32"-oup. We woenln mOPNOTSUPPECLAIM3RETRIES mOPNOTSUPPRNE/ae4g evenpbec4usep221=etypknumaImco="_oom_typk"> 2_m5"5earef32__S5Iloops=ef
Y 2631=e32re833"mm/mem18RESn2rehcnae___"+coupima=0curuRES_USAGE833"mm/mem18RESRES_USAGE_wak" 5w5" imigrm5p177="mm/mem17>9s5sepswap5918p352518ef=enumaImco="FP_82pan c_us >14326="sressdefalsere1ref_us="pagofalse_wak9" 5ech9" 5mm/sp3clas18e_ooeem9u6 tmat h5918p352re17"> >3unsigned s9o137<92723p. We woulcurus_wa3t &g5go>181pbec5usep22 263>>>>92723p. We would eswlillllllllls=======QUEUE_2vaenumaImco="_oom_vaeech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln 32re833"mm/mem18RESn2rehcna9" 5ech9" 5mm/sp3clas18e_ooeem9u8 tmat h59e.a352&g18mme>38mem17cont9odup.92="L>32167" cla2 c====kech9" 5s downpWep5nch9" e tmiscbe9susepswap59rer3529g18mme>38mem17cont9ol.c#9397 263 8-93723p. We woulsignalop====QUEUE_2 c" >1=e32re833"mm/mem18RESn2rehcnae___"+coupima=0curuRES_USAGE833"mm/mem18RESRES_USAGE_wak" 5w5" imigrm5p177="mm/mem17>9ausepswap59spf3531coup_mm3_ etode=329"L>3293723p. We would elilli"_oom_waoupryriscmovedlvaenumaImco="_oom_vaeech9e__e18mimthe oupryFP_82pan c_us >18ef=enumaImco="FP_82pan c_us >14326="sressde_waknumaImco="_oom_o=ue_wak9" 5ech9" 5mm/sp3clas18e_ooeem9ss tmat h59cbe3532troon"mm/m334re/a> 8-Imc9="_oo93aagned shoan aref32=17358>17es=======QUEUE_2vaenumaImco="_oom_vaeech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_swMIT/,arup. We woenln 32re833"mm/mem18RESn2rehcna9" 5ech9" 5mm/sp3clas18e_ooeem9es tmat h5918p353mem18swap_sUm2 cla19ed br93181"> 263 8-Im9o="_o93/a> 8-Imco="_default: 5w5" imigrm5p177="mm/mem17>9u6 tmat h593 5mref31/a><5ef32em18OVE_TYP9ooef="mm/5989"3538>.e 8ef=QUEUE_HEAD9f="+c938ed broot_ass========QUEUE_2lenf=NULLuetrset &lenRNE/e__e18mimthe oupryscnprintfnumaImco="_oom_scnprintf4 2, sizeofl 2)m_ryeis undereostein2p>"%llu\n"tchcnam, (t &g18mva=========)s=======QUEUE_2vaenumaImco="_oom_vaeech99" 5ech9" 5mm/sp3clas18e_ooeem9ss tmat h59cbee54>183class="s31n erf9rmanc94723p. We woul>);
32"rup. We woenln simple6echd_fro_8buffeecoverld evineswsimple6echd_fro_8buffee4326="sressdeppo1833"mm/mem18RESppo1RNE/mlmm>326="sressdecodef=enumaImco="_ste"> 2, ========QUEUE_2lenf=NULLuetrset &lenRNE/9" 5ech9" 5mm/sp3clas18e_ooeem9susepswap59ght 54a1825"mm/mem1ted by9ode=m94=1735EI4mref31/a><4ef32em18OVE_TYP9ts tmat h59L263542troon"mm/m1854r thisce3pryrn"mme>981"> 94723p.n_nlinlssalrup. We woenln FP_82pan c_writep1833"mm/mem18GFP_82pan c_write4181"> 263 263181"> 2633548"> 32438memm9="L2894"+c938ed broo723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18OVEproo8mm_cn9meu58" cl55825"mm/mem18e"9 ame895anc84723p. We curussalrup. We woenln typknumaImco="_oom_typk"> 2mlmm>326="sressde32re833"mm/mem18RESn2r wou)" 5mref31/a><5ef32em18OVEpeem9susepsto 58252n55ntroon"mm/m3293723p. Weam, (t &g18mva====m 263"rup. We woenln vaenumaImco="_oom_vaeech9ae4g evenpbec4usep2218552troon"mm/m 8 5ech9" 5mm/sp3clas18e_oect 8/s tm9t h5855mem18swap_sUmo9stic895m/m7/a> 2e__"+coupima=0curure=FILE_TYPE833"mm/mem18REScf=FILE_TYPE4<5ef32em18OVEect 8/v.as9m/m58567"55mme>181"2 263<9a><5ef32em18OVEproo87brea9ef358mc55>320 >9me="895_HE90mscan_53inlas33a1525"<1_"mm/ proo8/="_o9m_w58 .as55 ha hlin3 till9tme 89dmof85723p. We wouls====QUEUE_2 c" >1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brlech9e&ln classalrup. We woenln typknumaImco="_oom_typk"> 2e___"+coupima=0curu_cf=SWAPECLAIM3RETRIES _cf=SWAPRNE/_e4g evenpbec4usep22 247<32167" cla2 nalop>);
32"-oup. We woenln mOPNOTSUPPECLAIM3RETRIES mOPNOTSUPPRNE/ae4g evenpbec4usep228moef=9mm/58__SP559g18mme>38mem19cont895"+c83/a> 2_m5"5earef32__S5Iloops=ef
Yproo8p_mm_9nam5889" 56ntroon"mm/m 2" 5w5" imigrm5p177="mm/m9m17>8ps tm9t h58ame=56bycode=mem_32r9 >3289633480181"> 263 >3unsig9ed s896w.m93723p. We woulcuru=0)uoyeis undereoom,ass=T oftthom,funcdoeslfrelkr,s necesparseon reive,iewe9331batchcname5 inlass="l5nch9" e tmiproo8/="_o9m_w58eNUL56&g18mme>381"> 963>ineswe=mo9 ="L32 cr========QUEUE_2f=enumaImco="_oom_wakech9e__e18mimthe ouprya189" cs="parsepan c__723oprgrarchye=56bycod"ouprya189" cs="parsepan c__723oprgruffee456&g18mme>38mem19cont896.c#85="L>32167" cla2 c================QUovedlomenumaImco="_oom_wakch99" 5ech9" 5mm/sp3clas18e_or17>8moef=9mm/58lass569g18mme>38mem19cont896_oo9097break8ef=enumaImco= sherirckech9" 5s downpWep5nch9" e tmi_TYP8ref3197 2e___"+coupima=0curu_cf=ECLAIM3RETRIES _cfkch99" 5ech9" 5mm/sp3clas18e_oscbe8oup_m9__u58h9" 57ntroon"mm/m14326="srEUE_2vaenumaImco="_oom_vaeech99" 5ech9" 5mm/sp3clas18e_oproo8rset 9g1858rere572troon"mm/m14326="srEUE_2vaenumaImco="_oom_vaeech99" 5ech9" 5mm/sp3clas18e_op17>8ps tm9mm/58rere57bycode=mem_32r9 >32897 br93181"> 263158"> 2575 >3unsig9ed s897w.m93723p. We woulcurus_wae18mimthe EUE_2f=enumaImco="_oom_wakech9e__e18mimthe ouprya189" cs="parsepan c__723oprgrarchye=56bycod"ouprya189" cs="parsepan c__723oprgruffee4158"> 257="line" 3ame="9263289737<80>>ineswe=mo9 ="Lc================QUovedlomenumaImco="_oom_wakch99" 5ech9" 5mm/sp3clas18e_orset8&" cl9ss358"> 257&g18mme>38mem19cont897.c#90="L>32167" cla2 c====cccerirckech9" 5s downpWep5nch9" e tmi<17>8moef=9nam58spf2579g18mme>38mem19cont897_oo9097break8ef=enumaup. We 3ou" clas18ef= 2334re/a> 9-Imc89837<85h_mcoef3"mmis depeass=onaf32aaaaaaaaaaaaaaaa*em18G, sofe*limitsme="mhardvaeuneswspeasaaaa*ermatoonstchcname4g evenpbec4usep22 263 2e___"+coupima=0curu_cf=ECLAIM3RETRIES _cfkch99" 5ech9" 5mm/sp3clas18e_oproo8ausep9wap58spf25851f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woEUE_2vaenumaImco="_oom_vaeech99" 5ech9" 5mm/sp3clas18e_o_TYP8a><329mo>58spf258re17"> >3unsig9ed s89837<92723p. We woulcurus_wa3t &g5go>181pbec5usep22381"> 963>>92723p. We would eswlillllllllls=======QUEUE_2f=enumaImco="_oom_wakech9e__-oup. We woenln mINVAf,o6" id="L406" mINVAf"> 2" 5w5" imigrm5p177="mm/m9proo8a" cl9ss358cbee58&g18mme>38mem19cont898up.92="L>32167" cla2 c====kech9" 5s downpWep5nch9" e tmi38mem19cont89>>>>888ed brooco="_default: 5w5" imigrm5p177="mm/meproo8ss tm9t h58cbee59825"mm/mem18e8934re899_oo88723p. We woulsignalope18mimthe EUE_2f=enumaImco="_oom_wakech9e__-oup. We woenln mINVAf,o6" id="L406" mINVAfru=0)uoyeis undereoom,ass=shoulds caBUG()sSaceassbatchcname5 inlass="l5nch9" e tm9scbe8ss tm9t h58cbee591coup_mm3_ eto9e=3289937<86723p. We would ec====kech9" 5s downpWep5nch9" e tmi 2689lagned s=1735EI4mref31/a><4ef32em18OVEproo8susep9wap58sp3clas18ef178_ooeem9cove899aaa8aaagned shoan >);
32"rup. We woenln f=enumaImco="_oom_wakech9" 5w5" imigrm5p177="mm/m9proo8susep9wap5889" 4ecordup. 2e wou9d ev899m/m82181">EI4mref31/a><4ef32em18OV9proo8ausep9wap48spf248mme>181"2 263<9a><4ef32em18OVEproo8s><329mo>58cbee49>3209>1me899"> 94723p.n_voidech9,alit_e woulSPIi8_gee__use_hieical_limit_rooc8ef=enumaImcoi8_gee__use_hieical_limitwrite4182pan cf=NULLuetrset &g18mme>181"> 263>>92723p. We would eam, (t &g18mva====m"> 263 263kch99" 5ech9" 5mm/sp3clas18e_orset8ss tm9t h58cbee499"> 247<3/a>38mem19cont899"+c938ed broo723p.code=__pagSPIi8NULL8e"2pan cf=NULLuetrset &me>181"> 26318kech9" 5w5" imigrm5p177="mm/40proo9ause40proo8spf2499g18mme>38mem40pro>40pr3293723p. Weam, (t &g18mva====m 263"rup. We womin_limit_rooc8ef=enumaImin_limitES_LIMIT/,arup. We womin_4br8G_limit_rooc8ef=enumaImin_4br8G_limitES_LIMIT/,arup. We wotm2pan cf=NULLuetrtm2e>18kec/pre>ch9" 5w5" imigrm5p177="mm/40p1oo9ause40p h58cbee591coup_mm3_ et40p h>40p_wa92swapou540p 2689lagned s 263"rup. We womin_limit_rooc8ef=enumaImin_limitES_Leech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln RES_USAGE833"mm/mem18RE RES_=SWAeech99" 5ech9" 5mm/sp3clas18e40p3oo9ause40pap58sp3clas18ef178_ooee40pap>40paaa91ofmsc2 c=====pagSPIi8NUmin_4br8G_limit_rooc8ef=enumaImin_4br8G_limitES_Leech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_swMIT/,arup. We woenln RES_USAGE833"mm/mem18RE RES_=SWAeech99" 5ech9" 5mm/sp3clas18e40p4oo9ause40pap5889" 4ecordup. 2e wo40pap>40pm/m7/a>181ech9e__e18mimthe co=br>1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovecsw" 2p1833"mm/memcswFP_K.> 26318kech9" 5w5" imigrm5p177="mm/40p5oo9ause40pap48spf248mme>181"2 26340pap>40p6"m84523p. We wouu=====QUEUE_2 c" >1dl>1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" use_hierarchye=56bycod"_oom_use_hierarchkch99" 5ech9" 5mm/sp3clas18e40p6oo9ause40po>58cbee49>320>40p"> 84723p. We woulcurus_wagototoupryriscmovedlou18 8ef=QUEUE_HEAoukech9" 5w5" imigrm5p177="mm/40p7oo9ause40p h58cbee49 ha hlin3 til40p h>40pmof89f32meu52gs to.mof5"cf=NULLu40p8oo9ause40p h58cbee499"> 247<3/a><40p h>40pup.92="L>3216whileirc====QUEUE_2 c"4L8e"2pan cf=NULLuetrset &me>18l woue oupryriscmovedsw" pa="+cef=enumaImco="_pa="+e"> 2_m5"5earef32__S5Iloops=ef40p9oo9ause40p h58spf2499g18mme>38mem40p h>40p_oo9097break8ef=enumauwoul========QULL8e"2pan cf=NULLuetrset &me>181ech9e__e18mimthe 4L8e"2pan cf=NULLuetrset &me>18l woue oupryriscmovedsw" pa="+cef=enumaImco="_pa="+kech9" 5w5" imigrm5p177="mm/401roo9ause40n c5940n oo9097break8ef=enumauwoul========QU4brearefef=18eech99" 5ech9" 5mm/sp3clas18e4011oo9ause40e>159"> 351ntroon"mm/m1>40n37<86723p. We would e wouu=====QUEUE_2 c" >1dl>1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" use_hierarchye=56bycod"_oom_use_hierarchkch99" 5ech9" 5mm/sp3clas18e4012oo9ause40scv59id 3512troon"mm/m40nref93lagned shor_HEADDDDDDDDDc====kech9" 5s downpWep5nch9" e t40n3oo9ause40wap59().351m40naaa88aadup. We would evnewo=======QUtm2pan cf=NULLuetrtm2e>18eech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_LIMIT/,arup. We woenln RES_USAGE833"mm/mem18RE RES_=SWAeech99" 5ech9" 5mm/sp3clas18e4014oo9ause40wap59ere351bycode=mem_3240wap>40nm/m92181"> 2631418eech99" 5ech9" 5mm/sp3clas18e4015oo9ause40wap5918p351540nin392aagned shor_HEADevnewo=======QUtm2pan cf=NULLuetrtm2e>18eech9e__e18mimthe ouprya189" claL26echd_uame=56bycod"_oom_wa89" claL26echd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_swMIT/,arup. We woenln RES_USAGE833"mm/mem18RE RES_=SWAeech99" 5ech9" 5mm/sp3clas18e4016oo9ause40t h59mm_351re17"> >3unsi40t h>40nw.m93723p. We woulcurus_wae18mimthe min_4br8G_limit_rooc8ef=enumaImin_4br8G_limitES_Leech9e__e18mimthe min_rooc8ef=enumaIminus >1418eech99" 5ech9" 5mm/sp3clas18e4017oo9ause40t h59rer351&g18mme>381">40t h>40nncl93>>ineswe=mo9 EI4mref31/a><4ef32em18O40n8oo9ause40t h59h9"3519"> 2ef=enuma40t h>40nup.92gototoupryriscmovedlou18 8ef=QUEUE_HEAoufault: 5w5" imigrm5p177="mm/40n9oo9ause40t h59rer3519g18mme>38mem40t h>40n_oo9097break8"> 26340scoo9097break8"> 263eech9e__e18mimthe min_4br8G_limit_rooc8ef=enumaImin_4br8G_limitES_Lech99" 5ech9" 5mm/sp3clas18e4021oo9ause40t h59cbe352put" clP2240se=m94=1735EI4mref31/a><4ef32em18O40s2oo9ause40t h59cbe3522troon"mm/m40sanc84lasso 5ech9" 5mm/sp3clas18e40s3oo9ause40wap59cbe352m40s3> 94723p.n_nlinlssalrup. We woenln FP_82p_oonln f=enumaImco="enln FP_82p_oonlwrite4181"> 26340s55587181">5"5earef32__S5Iloops=ef40s5oo9ause40wap5918p352540s33487aagned shor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O40s6oo9ause40t h5918p352re17"> >3unsi40t h>40s3248523p. We wcurussalrup. We woenln typknumaImco="_oom_typk"> 2mlmm>326="sressde32re833"mm/mem18RESn2r wou)" 5mref31/a><5ef32em18O40s7oo9ause40mm/59rer352&g18mme>381">40mm/>40smof89f32meu52gs to.mof5"cf=NULLu4028oo9ause40t h59e.a352&g18mme>38mem40t h>40ssol89 would ev.asms=======QUEUE_2typknumaImco="_oom_typk"> 2e__"+coupima=0curure=FILE_TYPE833"mm/mem18REScf=FILE_TYPE4<5ef32em18O40s9oo9ause40wap59rer3529g18mme>38mem40wap>40s"+c938ed broot_ass========QUessde32re833"mm/mem18RESn2rehcnae__"+coupima=0curure=FILE_ATTRnumaImco="_oom_re=FILE_ATTR4<5ef32em18O403roo9ause40scv59id 353825"mm/mem18e40scv>40scof89f32meu52gs to.mof5"cf=NULLu4031oo9ause40wap59spf3531coup_mm3_ et40wap>40s>32891>1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brlech9e&ln classalrup. We woenln typknumaImco="_oom_typk"> 2e___"+coupima=0curu_cf=SWAPECLAIM3RETRIES _cf=SWAPRNE/_e4g evenpbec4usep2240sref93lagned shor_HEADnalop>);
32"-oup. We woenln mOPNOTSUPPECLAIM3RETRIES mOPNOTSUPPRNE/ae4g evenpbec4usep22334re/a>40314>40saaa90/a> 8 5ech9" 5mm/sp3clas18e40s4oo9ause40t h5918p353mem18swap_sUm40t h>40sm/m92181"> 26hor_Hswitch==QUEUE_2 c"enln 32re833"mm/mem18RESn2re"> 2_m5"5earef32__S5Iloops=ef40s5oo9ause40m/m5972n3535g18m8334re/a40m/m>40s33487aagned sa>40sw.m93723p. We woulcurerirc====QUEUE_2 c"enln typknumaImco="_oom_typk"> 2e___"+coupima=0curu_cf=ECLAIM3RETRIES _cfkch99" 5ech9" 5mm/sp3clas18e40s7oo9ause40mm/59eNU35t ha h8move_si40mm/>40s>>>92723p. We would eswlillllllllls=======QUEUom_wa89" cladee_maIi8idxef=enumaImEUom_wa89" cladee_maId_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_Lk wou)" 5mref31/a><5ef32em18O4038oo9ause40t h5918p353&g18mme>38mem40t h>40sup.92="L>32167" cla2 us_wa3t &g5go>181pbec5usep22.e 8ef=QUEU40mm/>40s+co8597break8ef=enumaImco="_oom_waoupryriscmEUom_wa89" cladee_maIi8idxef=enumaImEUom_wa89" cladee_maId_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_sk wou)" 5mref31/a><5ef32em18O404roo9ause40t h59cbee54>183class="s340t h>40t co8597break8ef=enumac====kech9" 5s downpWep5nch9" e t4041oo9ause40wap59ght 54a1825"mm/mem140wap>40t37<86723p. Wea>40t 2689lagned shor_HEADef="nae__rup. We woenln typknumaImco="_oom_typk"> 2e___"+coupima=0curu_cf=ECLAIM3RETRIES _cfkch99" 5ech9" 5mm/sp3clas18e4043oo9ause4031459ef"m543coup_mm3_ et40314>40taaa8aaadup. We would evnewd som_waoupryriscmovom_wa89" cladee_failcac22brlas1--8ef=eovom_wa89" cladee_failcacd_uam 2631f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" 2p1833"mm/mem18RES_Lk wou)" 5mref31/a><5ef32em18O4044oo9ause40t h59ecte544coup_mm3_ et40t h>40tpou89181"> 263181pbec5usep221f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedsw" FP_swp1833"mm/mem18GFP_sk wou)" 5mref31/a><5ef32em18O4046oo9ause40n c59e>1854r thisce3pryr40n c>40tw.m93723p. We woulcurc====kech9" 5s downpWep5nch9" e t4047oo9ause40m_w5923="54&g18mme>181">40m_w>40tncl93>>ineswe=mo9 EI4mref31/a><4ef32em18O4048oo9ause40ss358c#>3548"> 32440t.c#93="L>3 5mref31/a><5ef32em18O40t9oo9ause40mm/58e.as549g18mme>38mem40mm/>40t+co8597break8nalop>)h9e__9" 5mref31/a><5ef32em18O405roo9ause40meu58" cl55825"mm/mem18e40meu>40me=m94=1735EI4mref31/a><4ef32em18O4051oo9ause40to 58252n55ntroon"mm/m40m_wa92swapou518552troon"mm/m40m2> 94723p.n_e oupryriscmovednln uame=56bycod"_oom_uam 263"rup. We woenln FP_82pmove_psstgepan c_echdef=enumaImco="_FP_82pmove_psstgepan cwrite4181"> 26318cech9m"5earef32__S5Iloops=ef40m3oo9ause4031458274u55m40maaa8aaadup. We would evnewd ssssssssssssssssswou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 26355mem18swap_sUm40t h>40m55587181">5"5earef32__S5Iloops=ef4055oo9ause40m/m58567"55mme>181"2 26340m/m>40m5co8597break8nalop>)nae__rup. We woenln FP_82pan c_fro_82o+cef=enumaImco="_FP_82pan c_fro_82o+c418)ERNE/e oupryriscmovedove_psstgepat_immigr privnlere1ref_us=dove_psstgepat_immigr prTSUPPRNE/ae4g evenpbec4usep22320 40ef3>40m6=m94=1735EI4mref31/a><4ef32em18O4057oo9ause40m_w58 .as55 ha hlin3 til40m_w>40mmof89f32meu52gs to.mof5"cf=NULLu4058oo9ause40ss358L263559"> 247<40m.c#93#ifdef)nae__rup. We woCONFIG_MMUivnlere1ref_us=CONFIG_MMUof89f32meu52gs to.mof5"cf=NULLu4059oo9ause40mm/58__SP559g18mme>38mem40mm/>40m9> 94723p.n_nlinlssalrup. We woenln FP_82pdove_psstgepan c_writep1833"mm/mem18GFP_82pdove_psstgepan c_write4181"> 26318cech9m"5earef32__S5Iloops=ef406roo9ause40m/m5818pr56825"mm/mem18e40m/m>40m/aa8aaadup. We would evnewd ssssssssssssssssswou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263 2mlmm>326="srLL8e"uame=56bycod"_oom_uam 263"rup. We woenln vaenumaImco="_oom_vakch99" 5ech9" 5mm/sp3clas18e4061oo9ause40nam5889" 56ntroon"mm/m40m15587181">5"5earef32__S5Iloops=ef4062oo9ause40g185826pu562troon"mm/m40mref92lagned shor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318)PRNE/ae4g evenpbec4usep2240maaa90/a> 8 5ech9" 5mm/sp3clas18e4064oo9ause40t h58ame=56bycode=mem_3240t h>40m55591a>18)kch99" 5ech9" 5mm/sp3clas18e4065oo9ause40m/m58="L356540min392aagned shor_HEADnalop>);
32"-oup. We woenln mINVAf,o6" id="L406" mINVAf"> 2" 5w5" imigrm5p177="mm/40m6oo9ause40ef3586 >3unsi40ef3>40m33491723p. We p. We 3ou" clas18ef=381">40m_w>40mmof89aagneup3mm_of #_of childreymaaa* We checker oft_ooue several timesaaaabothaaaacanpattach() and>56&g18mme>38mem40ss3>40m8of89aagneup3mm_of #_of childreymaaa* attach(), soclvineed _FP_82 lockero prev" per oft_ooue an c being>38mem40mm/>40m9of89aagneup3mm_of #_of childreymaaa* inc4usistf cLIMITca>40740737<86723p. Wede=__pagSPIi8NULL8e"2_lockpan cf=NULLuetrset &m_lock82o+c)PRNE/ae4g evenpbec4usep22407 2689lagned s 263"rup. We wom78br>1f32p1833"mm/mem18GFP_KERNE/e oupryriscmovedove_psstgepat_immigr privnlere1ref_us=dove_psstgepat_immigr prTSUPchcnae__rup. We woenln vaenumaImco="_oom_vaeech9ae4g evenpbec4usep22407aaa91ofmsc2 c=====pagSPIi8NU"FP_82panlockpan cf=NULLuetrset &m_anlock82o+c)PRNE/ae4g evenpbec4usep224074aa90/a> 8 5ech9" 5mm/sp3clas18e4075oo9ause40e>158"> 25751>4075co8597break8nalop>)h9e__9" 5mref31/a><5ef32em18O4076oo9ause40mo>58.asm57re17"> >3unsi40mo>>4076=m94=1735EI4mref31/a><4ef32em18O4077oo9ause40e>158"> 257="line" 3ame=40e>1>407mof89#erirc3t &g5go>181pbec5usep22 257&g18mme>38mem40ss3>4078> 94723p.n_nlinlssalrup. We woenln FP_82pdove_psstgepan c_writep1833"mm/mem18GFP_82pdove_psstgepan c_write4181"> 26318cech9m"5earef32__S5Iloops=ef4079oo9ause40nam58spf2579g18mme>38mem40nam>407_oo9097break8ef=enumaImco= shor_HEADssssssssswou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263 2mlmm>326="srLL8e"uame=56bycod"_oom_uam 263"rup. We woenln vaenumaImco="_oom_vakch99" 5ech9" 5mm/sp3clas18e408roo9ause40wap58spf2589"> 2334re/a>40wap>40wa5587181">5"5earef32__S5Iloops=ef4081oo9ause40wap58spf258ntroon"mm/m40w1co8597break8nalop>);
32"-oup. We woeNOSYSINVAf,o6" id="L4NOSYSm_vaeech9ae4g evenpbec4usep2240w2=m94=1735EI4mref31/a><4ef32em18O4083oo9ause40"  58spf258m40w3of89#endif1735EI4mref31/a><4ef32em18O4084oo9ause40wap58spf258mem18swap_sUm40wap>40w4aa90/a> 8 5ech9" 5mm/sp3clas18e4085oo9ause40wap58spf258540w5c#93#ifdef)nae__rup. We woCONFIG_NUMAivnlere1ref_us=CONFIG_NUMAaa90/a> 8 5ech9" 5mm/sp3clas18e4086oo9ause40mo>58spf258re17"> >3unsi40mo>>40w"> 94723p.n_nlinlssalrup. We woenlcg_numa_723p_sho FP_swp1833"mm/mem1cg_numa_723p_sho write4181"> 263 263381">40t h>40wsp394723p. We would eswlillllllllDssssssssswou,ecode=__pagSPIi8NUseq_4breafillnumaImco="seq_4bree>181"> 26338mem40ss3>40wup.88e wou5"5earef32__S5Iloops=ef40w9oo9ause40t h58cbee589g18mme>38mem40t h>40wde=91923p. We linlssalrup. We wonic_echdef=enumaImnicm_vaeech9ae4g evenpbec4usep2240t e=91923p. Weam, (t &g18mvanae__rup. We woeotal_nbuferf9rmanc94mmeotal_nb"_mfk"> 2mlmm>326="sr4bre_nbuferf9rmanc94mm4bre_nb"_mfk"> 2mlmm>326="sranon_nbuferf9rmanc94mmanon_nb"_mfk"> 2mlmm>326="srLnevictabre_nbuferf9rmanc94mmLnevictabre_nbm_vaeech9ae4g evenpbec4usep2240t>3293723p. Weam, (t &g18mvalssalrup. We wone w_nbuferf9rmanc94mmne w_nbm_vaeech9ae4g evenpbec4usep2240tref92lagned shor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O4093oo9ause40wap58sp3clas18ef178_ooee40wap>40taaa90/a> 8 5ech9" 5mm/sp3clas18e4094oo9ause40wap5889" 4ecordup. 2e wo40wap>40tm/m7/a> 2mlmm>326="srLRU_ALmINVAf,o6" id="LLRU_ALm_morl wou)" 5mref31/a><5ef32em18O4095oo9ause40wap48spf248mme>181"2 26340wap>40t5/m7/a> 2)m_ryeis undereostein2p>&eotal=quot;&ullu\n"tchccwoul========QUEotal_nbuferf9rmanc94mmeotal_nb"_mfl wou)" 5mref31/a><5ef32em18O4096oo9ause40mo>58cbee49>320>40t33491723p. We woul========QUfor_each_ne w_723peafillnumaImco="for_each_ne w_723pe82o+c4 2_m5"5earef32__S5Iloops=ef4097oo9ause40t h58cbee49 ha hlin3 til40t h>40t37<80>>ineswe=mo9 ="L32 cr========QUne w_nbuferf9rmanc94mmne w_nbm_vachcnae__rup. We woenln FP_82pne w_nb_lru_pagsw" 2p1833"mm/memenln FP_82pne w_nb_lru_pagsw82o+c4 2mlmm>326="srnic_echdef=enumaImnicm_vahccwoul========QULRU_ALmINVAf,o6" id="LLRU_ALm_morl wou)" 5mref31/a><5ef32em18O4098oo9ause40t h58cbee499"> 247<3/a><40t h>40tup.92="L>32167" cla2 cwoul========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>& Nquot;d=quot;&ullu\n"tchccwoul========QUnic_echdef=enumaImnicm_vahccwoul========QUne w_nbuferf9rmanc94mmne w_nbm_val wou)" 5mref31/a><5ef32em18O4099oo9ause40t h58spf2499g18mme>38mem40t h>40tde=91923p. We=1735EI4mref31/a><4ef32em18O41proo9ause41proo8spf2499g18mme>38mem41pro>41pr3293723p. Wecwoul========QUseq_rutcrintfnumaImco="_eq_rutc82o+c4 2)m_ryeis undereostei can\we canquot;tcl wou)" 5mref31/a><5ef32em18O41p1oo9ause41p h58cbee591coup_mm3_ et41p h>41p_wa92swapou541p 2689lagned s 263"rup. We wo4bre_nbuferf9rmanc94mm4bre_nb"_mfchcnae__rup. We woenln FP_82pnr_lru_pagsw" 2p1833"mm/memenln FP_82pnr_lru_pagsw82o+c4 2mlmm>326="srLRU_ALm_m_reINVAf,o6" id="LLRU_ALm_m_rem_val wou)" 5mref31/a><5ef32em18O41p3oo9ause41pap58sp3clas18ef178_ooee41pap>41paaa91ofmsc2 c=====pagSPIi8NUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&4bre=quot;&ullu\n"tchccwoul========QU4bre_nbuferf9rmanc94mm4bre_nb"_mfl wou)" 5mref31/a><5ef32em18O41p4oo9ause41pap5889" 4ecordup. 2e wo41pap>41pm/m7/a> 2_m5"5earef32__S5Iloops=ef41p5oo9ause41pap48spf248mme>181"2 26341pap>410in392aagned shor_HEAD32 cr========QUne w_nbuferf9rmanc94mmne w_nbm_vachcnae__rup. We woenln FP_82pne w_nb_lru_pagsw" 2p1833"mm/memenln FP_82pne w_nb_lru_pagsw82o+c4 2mlmm>326="srnic_echdef=enumaImnicm_vah 2_m5"5earef32__S5Iloops=ef41p6oo9ause41po>58cbee49>320>41p"> 84723p. We woulcuraagned shor_HEAD32 cr========QULRU_ALm_m_reINVAf,o6" id="LLRU_ALm_m_rem_val wou)" 5mref31/a><5ef32em18O41p7oo9ause41p h58cbee49 ha hlin3 til41p h>41037<80>>ineswe=mo9 ="L32 cr========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>& Nquot;d=quot;&ullu\n"tchccwoul========QUnic_echdef=enumaImnicm_vahccwoul========QUne w_nbuferf9rmanc94mmne w_nbm_val wou)" 5mref31/a><5ef32em18O41p8oo9ause41p h58cbee499"> 247<3/a><41p h>41pup.92="L>3216=1735EI4mref31/a><4ef32em18O41p9oo9ause41p h58spf2499g18mme>38mem41p h>410"+c938ed broot_ass========QUseq_rutcrintfnumaImco="_eq_rutc82o+c4 2)m_ryeis undereostei can\we canquot;tcl wou)" 5mref31/a><5ef32em18O411roo9ause41n c59411cof89f32meu52gs to.mof5"cf=NULLu4111oo9ause41e>159"> 351ntroon"mm/m1>41137<86723p. Wede=__pagSPIi8NUanon_nbuferf9rmanc94mmanon_nb"_mfchcnae__rup. We woenln FP_82pnr_lru_pagsw" 2p1833"mm/memenln FP_82pnr_lru_pagsw82o+c4 2mlmm>326="srLRU_ALm_ANONINVAf,o6" id="LLRU_ALm_ANONm_val wou)" 5mref31/a><5ef32em18O4112oo9ause41scv59id 3512troon"mm/m411 2689lagned s 263"rup. We woseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&anon=quot;&ullu\n"tchccwoul========QUanon_nbuferf9rmanc94mmanon_nb"_mfl wou)" 5mref31/a><5ef32em18O4113oo9ause41wap59().351m411aaa91ofmsc2 c=====pagSPIi8NUfor_each_ne w_723peafillnumaImco="for_each_ne w_723pe82o+c4 2_m5"5earef32__S5Iloops=ef4114oo9ause41wap59ere351bycode=mem_3241wap>41nm/m92181"> 263 2mlmm>326="srnic_echdef=enumaImnicm_vah 2_m5"5earef32__S5Iloops=ef4115oo9ause41wap5918p351541nin392aagned shor_HEADaagned shor_HEAD32 cr========QULRU_ALm_ANONINVAf,o6" id="LLRU_ALm_ANONm_val wou)" 5mref31/a><5ef32em18O4116oo9ause41t h59mm_351re17"> >3unsi41t h>41nw.m93723p. We woulcurus_wae18mimthe seq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>& Nquot;d=quot;&ullu\n"tchccwoul========QUnic_echdef=enumaImnicm_vahccwoul========QUne w_nbuferf9rmanc94mmne w_nbm_val wou)" 5mref31/a><5ef32em18O4117oo9ause41t h59rer351&g18mme>381">41t h>41nncl93>>ineswe=mo9 EI4mref31/a><4ef32em18O41n8oo9ause41t h59h9"3519"> 2ef=enuma41t h>411sol89 would ev.asms=======QUseq_rutcrintfnumaImco="_eq_rutc82o+c4 2)m_ryeis undereostei can\we canquot;tcl wou)" 5mref31/a><5ef32em18O4119oo9ause41t h59rer3519g18mme>38mem41t h>411"+c83/a>412r3293723p. Wecwoul========QULnevictabre_nbuferf9rmanc94mmLnevictabre_nbm_vachcnae__rup. We woenln FP_82pnr_lru_pagsw" 2p1833"mm/memenln FP_82pnr_lru_pagsw82o+c4 2mlmm>326="srBS_USAGE833"mm/memBS_=SWAc4<5ef32em18O4121oo9ause41t h59cbe352put" clP2241237<86723p. Wede=__pagSPIi8NUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&Lnevictabre=quot;&ullu\n"tchccwoul========QULnevictabre_nbuferf9rmanc94mmLnevictabre_nbm_val wou)" 5mref31/a><5ef32em18O4122oo9ause41t h59cbe3522troon"mm/m412 2689lagned s 263"rup. We wo4or_each_ne w_723peafillnumaImco="for_each_ne w_723pe82o+c4 2_m5"5earef32__S5Iloops=ef41s3oo9ause41wap59cbe352m412aaa88aadup. We would evnewo=======QUne w_nbuferf9rmanc94mmne w_nbm_vachcnae__rup. We woenln FP_82pne w_nb_lru_pagsw" 2p1833"mm/memenln FP_82pne w_nb_lru_pagsw82o+c4 2mlmm>326="srnic_echdef=enumaImnicm_vah 2_m5"5earef32__S5Iloops=ef4124oo9ause41t h59cbe352mem18swap_sUm41t h>41233480181"> 263<5ef32em18O4125oo9ause41wap5918p3525412in392aagned shor_HEAD32 cr========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>& Nquot;d=quot;&ullu\n"tchccwoul========QUnic_echdef=enumaImnicm_vahccwoul========QUne w_nbuferf9rmanc94mmne w_nbm_val wou)" 5mref31/a><5ef32em18O41s6oo9ause41t h5918p352re17"> >3unsi41t h>41s3248523p. We =mo9 EI4mref31/a><4ef32em18O41s7oo9ause41mm/59rer352&g18mme>381">41mm/>4127ol89 would ev.asms=======QUseq_rutcrintfnumaImco="_eq_rutc82o+c4 2)m_ryeis undereostei can\we canquot;tcl wou)" 5mref31/a><5ef32em18O4128oo9ause41t h59e.a352&g18mme>38mem41t h>41ssol89 would enalop>)h9e__9" 5mref31/a><5ef32em18O41s9oo9ause41wap59rer3529g18mme>38mem41wap>41s"+c93=mo9 EI4mref31/a><4ef32em18O413roo9ause41scv59id 353825"mm/mem18e41scv>41scof89#endif===0)uoyeis undereoom,ass=CONFIG_NUMAa*eassbatchcname5 inlass="l5nch9" e t4131oo9ause41wap59spf3531coup_mm3_ et41wap>413_wa92swapou54132> 94723p.n_c4ust psstaaac4usinlssalrup. We woenln FP_82plru_"mm/w" 2p1833"mm/memenln FP_82plru_"mm/w> 94[]chc> 2_m5"5earef32__S5Iloops=ef41s3oo9ause4131459rea353m334re/a>41314>413aaa91ofmsc2 c=2)m_ryeis undereostein2p>&inactive_anonllu\n"tch 2_m5"5earef32__S5Iloops=ef41s4oo9ause41t h5918p353mem18swap_sUm41t h>41sm/m92181"> 26 2)m_ryeis undereostein2p>&active_anonllu\n"tch 2_m5"5earef32__S5Iloops=ef41s5oo9ause41m/m5972n3535g18m8334re/a41m/m>41s33487aagned s=2)m_ryeis undereostein2p>&inactive_4brellu\n"tch 2_m5"5earef32__S5Iloops=ef41s6oo9ause41t h5941333491723p. We p. We 3ou" cdereostein2p>&active_4brellu\n"tch 2_m5"5earef32__S5Iloops=ef41s7oo9ause41mm/59eNU35t ha h8move_si41mm/>41s>>>92723p. We 2)m_ryeis undereostein2p>&Lnevictabrellu\n"tch 2_m5"5earef32__S5Iloops=ef41s8oo9ause41t h5918p353&g18mme>38mem41t h>41sup.92}9e__9" 5mref31/a><5ef32em18O41s9oo9ause41mm/5989"3538>.e 8ef=QUEU41mm/>413"+c83/a>41t co85723p.n_e oupryriscmovein>183cl2p1833"mm/memin>183>>927voidech9,alit_e woulSPIn FP_82plru_"mm/wpnet_uptod privnlere1ref_us=dPIn FP_82plru_"mm/wpnet_uptod pr82o+cvoidkch99" 5ech9" 5mm/sp3clas18e4141oo9ause41wap59ght 54a1825"mm/mem141wap>41415587181">5"5earef32__S5Iloops=ef4142oo9ause41t h59L263542troon"mm/m414 2689lagned s 263"rup. We woBUILD_BUG_ONINVAf,o6" id="LBUILD_BUG_ON82o+c4 94) !hcnae__rup. We woNR_LRU_LISTSINVAf,o6" id="LNR_LRU_LISTSm_val wou)" 5mref31/a><5ef32em18O4143oo9ause4131459ef"m543coup_mm3_ et41314>41taaa8a=mo9 EI4mref31/a><4ef32em18O4144oo9ause41t h59ecte544coup_mm3_ et41t h>4144aa90/a> 8 5ech9" 5mm/sp3clas18e41t5oo9ause41m/m59e32e54lass="linefal41m/m>41tin392723p.n_nlinlssalrup. We woenlcg_723p_sho FP_swp1833"mm/mem1cg_723p_sho write4181"> 263 2631854r thisce3pryr41n c>41tw.m93723p. We woulcurrrrrrrrrrrrrrrrrrwou,ecode=__pagSPIi8NUseq_4breafillnumaImco="seq_4bree>181"> 26341m_w>41tncl93181">5"5earef32__S5Iloops=ef4148oo9ause41ss358c#>3548"> 324414sol89 would ehor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O41t9oo9ause41mm/58e.as549g18mme>38mem41mm/>414"+c938ed broo723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318 wou)" 5mref31/a><5ef32em18O415roo9ause41meu58" cl55825"mm/mem18e41meu>415 e=91923p. Weam, (t &gnlinlssalrup. We woipan cf=NULLuetrie>18 wou)" 5mref31/a><5ef32em18O4151oo9ause41to 58252n55ntroon"mm/m41m_wa92swapou518552troon"mm/m415 2689lagned sagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PMEM_CGROUP_STAT_NSTATSINVAf,o6" id="LMEM_CGROUP_STAT_NSTATSe>18 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l"> 2_m5"5earef32__S5Iloops=ef41m3oo9ause4131458274u55m41maaa8aaadup. We would cf="nae__rup. We woipan cf=NULLuetrie>18chhcnae__"+coupima=0cu_CGROUP_STAT_u_cf=SWAPECLAIM3RET0cu_CGROUP_STAT_u_cfe>18cech9e&ln clu=====QUEUE_2 c" >1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brkch99" 5ech9" 5mm/sp3clas18e4154oo9ause41t h5855mem18swap_sUm41t h>41533480181"> 263<5ef32em18O4155oo9ause41m/m58567"55mme>181"2 26341m/m>415in392aagned shor_HEAD32 cr========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>"s quot;&d\nllu\n"tchccwoul========QUco="_FP_82p723p_"mm/w" 2p1833"mm/memenln FP_82p723p_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]cech9m"5earef32__S5Iloops=ef4156oo9ause41ef358mc55>320 41ef3>415w.m93723p. We woulcurrrrrrrrrrrrcwoul========QUco="_FP_82plaL26723p" 2p1833"mm/memenln FP_82plaL26723p82o+c4 2mlmm>326="sripan cf=NULLuetrie>18) *"> 2mlmm>326="srPAGE_SIZeINVAf,o6" id="LPAGE_SIZe_morl wou)" 5mref31/a><5ef32em18O4157oo9ause41m_w58 .as55 ha hlin3 til41m_w>415ncl93>>ineswe=mo9 EI4mref31/a><4ef32em18O4158oo9ause41ss358L263559"> 247<415.c#93="L>3 5mref31/a><5ef32em18O4159oo9ause41mm/58__SP559g18mme>38mem41mm/>41592689lagned sagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PMEM_CGROUP_EVENTS_NSTATSINVAf,o6" id="LMEM_CGROUP_EVENTS_NSTATSe>18 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l="L>3 5mref31/a><5ef32em18O416roo9ause41m/m5818pr56825"mm/mem18e41m/m>41m/aa8aaadup. We would 32 cr========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>"s quot;&u\nllu\n"tchccwoul========QUco="_FP_82pev" ps_"mm/w" 2p1833"mm/memenln FP_82pev" ps_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]cech9m"5earef32__S5Iloops=ef4161oo9ause41nam5889" 56ntroon"mm/m41637<86723p. We would errrrrrrrrrrcwoul========QUco="_FP_82plaL26ev" ps" 2p1833"mm/memenln FP_82plaL26ev" ps82o+c4 2mlmm>326="sripan cf=NULLuetrie>18)l wou)" 5mref31/a><5ef32em18O4162oo9ause41g185826pu562troon"mm/m416anc84lasso 5ech9" 5mm/sp3clas18e4163oo9ause4131458e="L56m41632689lagned sagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PNR_LRU_LISTSINVAf,o6" id="LNR_LRU_LISTSm_va =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l="L>3 5mref31/a><5ef32em18O4164oo9ause41t h58ame=56bycode=mem_3241t h>416m/m92181"> 263 2)m_ryeis undereostein2p>"s quot;&u\nllu\n"tchccwoul========QUco="_FP_82plru_"mm/w" 2p1833"mm/memenln FP_82plru_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]cech9m"5earef32__S5Iloops=ef4165oo9ause41m/m58="L356541min392aagned shor_HEADrrrrrrrrrrrcwoul========QUco="_FP_82pnr_lru_pagsw" 2p1833"mm/memenln FP_82pnr_lru_pagsw82o+c4 2mlmm>326="srBS_USAGE833"mm/memBS_=SWAc418)l *"> 2mlmm>326="srPAGE_SIZeINVAf,o6" id="LPAGE_SIZe_morl wou)" 5mref31/a><5ef32em18O41m6oo9ause41ef3586 >3unsi41ef3>41m33491wou)" 5mref31/a><5ef32em18O41m7oo9ause41m_w58eNUL56&g18mme>381">41m_w>416>>>92723p. We 2)m_ryeis undereoom,ass=Huse_hieicalgnlagemationa*eassbatchcname5 inlass="l5nch9" e t41m8oo9ause41ss3586on>56&g18mme>38mem41ss3>416sol89 would e> 2_m5"5earef32__S5Iloops=ef41m9oo9ause41mm/58lass569g18mme>38mem41mm/>416_oo9097break8ef=enumaam, (t &g18mva====m 263"rup. We wolimit_rooc8ef=enumaIlimitES_LIMIT/,arup. We wombr8G_limit_rooc8ef=enumaImco8G_limitus > wou)" 5mref31/a><5ef32em18O417roo9ause417417 oo9097break8ef=enumauwoul========QU4brea_getm_use_hieical_limit_rooc8ef=enumaImcoea_getm_use_hieical_limit82o+c4l wou)" 5mref31/a><5ef32em18O4171oo9ause41__u58h9" 57ntroon"mm/m41737<86723p. We would e 263"rup. We woseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&_use_hieical_/a>ory_limit quot;&&u\nllu\n"tchccwoul========QUlimit_rooc8ef=enumaIlimitES_Ll wou)" 5mref31/a><5ef32em18O4172oo9ause41g1858rere572troon"mm/m417 2689lagned ssssssssscf="nae__rup. We wo >1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brkch99" 5ech9" 5mm/sp3clas18e4173oo9ause41"  58rere57m417aaa8aaadup. We would  would e 263"rup. We woseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&_use_hieical_/a>8G_limit quot;&&u\nllu\n"tchch99" 5ech9" 5mm/sp3clas18e4174oo9ause41mm/58rere57bycode=mem_3241mm/>41733480181"> 263l wou)" 5mref31/a><5ef32em18O4175oo9ause41e>158"> 25751>4175co8597break8=mo9 EI4mref31/a><4ef32em18O4176oo9ause41mo>58.asm57re17"> >3unsi41mo>>41733491wou)" 5mref31/a><5ef32em18O4177oo9ause41e>158"> 257="line" 3ame=41e>1>417>>>92723p. Weagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PMEM_CGROUP_STAT_NSTATSINVAf,o6" id="LMEM_CGROUP_STAT_NSTATSe>18 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l"> 2_m5"5earef32__S5Iloops=ef4178oo9ause41ss358"> 257&g18mme>38mem41ss3>417up.92="L>32167" cla2 18mva====m 263"rup. We woenln vaenumaImco="_oom_vae=)h9e__9" 5mref31/a><5ef32em18O4179oo9ause41nam58spf2579g18mme>38mem41nam>417"+c83/a> 2334re/a>41wap>418 oo9097break8ef=enumacf="nae__rup. We woipan cf=NULLuetrie>18chhcnae__"+coupima=0cu_CGROUP_STAT_u_cf=SWAPECLAIM3RET0cu_CGROUP_STAT_u_cfe>18cech9e&ln clu=====QUEUE_2 c" >1=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brkch99" 5ech9" 5mm/sp3clas18e4181oo9ause41wap58spf258ntroon"mm/m41837<86723p. We would errrrrrrr/sp3inue wou)" 5mref31/a><5ef32em18O4182oo9ause41wap58spf2582troon"mm/m418 2689lagned sssssssss=====QUEUE_2 c"for_each_enln FP_82ptreeafillnumaImco="for_each_enln FP_82ptree82o+c418IMIT/,arup. We wombrearefef=418aaa8aaadup. We would  would e 263"rup. We woenln vaenumaImco="_oom_vae+hcnae__rup. We woenln FP_82plaL26723p" 2p1833"mm/memenln FP_82plaL26723p82o+c418IMIT/,arup. We woipan cf=NULLuetrie>18) *"> 2mlmm>326="srPAGE_SIZeINVAf,o6" id="LPAGE_SIZe_mor wou)" 5mref31/a><5ef32em18O4184oo9ause41wap58spf258mem18swap_sUm41wap>418m/m92181"> 263 2)m_ryeis undereostein2p>&eotal_quot;s quot;&&d\nllu\n"tchccwoul========QUco="_FP_82p723p_"mm/w" 2p1833"mm/memenln FP_82p723p_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]ce 263"rup. We woenln vaenumaImco="_oom_val wou)" 5mref31/a><5ef32em18O4185oo9ause41wap58spf25854185co8597break8=mo9 EI4mref31/a><4ef32em18O4186oo9ause41mo>58spf258re17"> >3unsi41mo>>41833491wou)" 5mref31/a><5ef32em18O41w7oo9ause41t h58cbee58&g18mme>381">41t h>418>>>92723p. Weagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PMEM_CGROUP_EVENTS_NSTATSINVAf,o6" id="LMEM_CGROUP_EVENTS_NSTATSe>18 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l"> 2_m5"5earef32__S5Iloops=ef4188oo9ause41ss358cbee58&g18mme>38mem41ss3>418up.92="L>32167" cla2 am, (t &g18mva====m 263"rup. We woenln vaenumaImco="_oom_vae=)h9e__9" 5mref31/a><5ef32em18O41w9oo9ause41t h58cbee589g18mme>38mem41t h>418"+c83/a>419 oo9097break8ef=enumauwoul========QUfor_each_enln FP_82ptreeafillnumaImco="for_each_enln FP_82ptree82o+c418IMIT/,arup. We wombrearefef=41937<86723p. We would errrrrrrr 263"rup. We woenln vaenumaImco="_oom_vae+hcnae__rup. We woenln FP_82plaL26ev" ps" 2p1833"mm/memenln FP_82plaL26ev" ps82o+c418IMIT/,arup. We woipan cf=NULLuetrie>18)9e__9" 5mref31/a><5ef32em18O4192oo9ause41wap58cbee592troon"mm/m419 2689lagned sssssssss=====QUEUE_2 c"seq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&eotal_quot;s quot;&&u\nllu\n"tchch99" 5ech9" 5mm/sp3clas18e4193oo9ause41wap58sp3clas18ef178_ooee41wap>419aaa8aaadup. We would evnewd sssscwoul========QUco="_FP_82pev" ps_"mm/w" 2p1833"mm/memenln FP_82pev" ps_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]ce 263"rup. We woenln vaenumaImco="_oom_val wou)" 5mref31/a><5ef32em18O4194oo9ause41wap5889" 4ecordup. 2e wo41wap>41tm/m7/a><4ef32em18O4195oo9ause41wap48spf248mme>181"2 26341wap>41t5/m7/mo9 EI4mref31/a><4ef32em18O4196oo9ause41mo>58cbee49>320>41t33491723p. Weagesc418chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=PNR_LRU_LISTSINVAf,o6" id="LNR_LRU_LISTSm_va =&l===QUEUE_va=Pipan cf=NULLuetrie>18++l"> 2_m5"5earef32__S5Iloops=ef4197oo9ause41t h58cbee49 ha hlin3 til41t h>41t37<80>>ineswe=mo9 ="Lam, (t &g18mva====m 263"rup. We woenln vaenumaImco="_oom_vae=)h9e__9" 5mref31/a><5ef32em18O4198oo9ause41t h58cbee499"> 247<3/a><41t h>419.c#93="L>3 5mref31/a><5ef32em18O4199oo9ause41t h58spf2499g18mme>38mem41t h>419_oo9097break8ef=enumauwoul========QUfor_each_enln FP_82ptreeafillnumaImco="for_each_enln FP_82ptree82o+c418IMIT/,arup. We wombrearefef=38mem42pro>420/aa8aaadup. We would evnewd s 263"rup. We woenln vaenumaImco="_oom_vae+hcnae__rup. We woenln FP_82pnr_lru_pagsw" 2p1833"mm/memenln FP_82pnr_lru_pagsw82o+c418IMIT/,arup. We woBS_USAGE833"mm/memBS_=SWAc418)l *"> 2mlmm>326="srPAGE_SIZeINVAf,o6" id="LPAGE_SIZe_mor9e__9" 5mref31/a><5ef32em18O42p1oo9ause42p h58cbee591coup_mm3_ et42p h>42037<86723p. We would e 263"rup. We woseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&eotal_quot;s quot;&&u\nllu\n"tchccwoul========QUco="_FP_82plru_"mm/w" 2p1833"mm/memenln FP_82plru_"mm/w> 94[nae__rup. We woipan cf=NULLuetrie>18]ce 263"rup. We woenln vaenumaImco="_oom_val wou)" 5mref31/a><5ef32em18O42p2oo9ause42pap58cbee592troon"mm/m42p 2689lagned s=mo9 EI4mref31/a><4ef32em18O42p3oo9ause42pap58sp3clas18ef178_ooee42pap>420aaa90/a> 8 5ech9" 5mm/sp3clas18e42p4oo9ause42pap5889" 4ecordup. 2e wo42pap>42pm/m7/#ifdef)nae__rup. We woCONFIG_DEBUG_Vru_cf=ECLAIM3RETCONFIG_DEBUG_Vraa90/a> 8 5ech9" 5mm/sp3clas18e42p5oo9ause42pap48spf248mme>181"2 26342pap>420in392aagned s> 2_m5"5earef32__S5Iloops=ef42p6oo9ause42po>58cbee49>320>42p"> 84723p. We woulcur linlssalrup. We wonic_echdef=enumaImnicm_vace 263"rup. We wozic_echdef=enumaImzicm_vaeech9ae4g evenpbec4usep2242037<80>>ineswe=mo9 ="L723p.code=__pagSPIi8NULL8e" >182_per_zo83cl2p1833"mm/memLL8e" >182_per_zo837<80>"> 263 247<3/a><42p h>420up.92="L>32167" cla2 723p.code=__pagSPIi8NUzo83pla8cbim6723p" 2p1833"mm/memzo83pla8cbim6723p7<80>"> 26338mem42p h>420_oo9097break8ef=enumaam, (t &g18mva> 263 94[2]chc>0, 0}9e__9" 5mref31/a><5ef32em18O421roo9ause42n c59421/aa8aaadup. We would am, (t &g18mva> 263 94[2]chc>0, 0}9e__9" 5mref31/a><5ef32em18O4211oo9ause42e>159"> 351ntroon"mm/m1>421_wa92swapou5421 2689lagned sssssssss=====QUEUE_2 c"for_each_on>183pne wafillnumaImco="for_each_on>183pne w82o+c4421aaa8aaadup. We would evnewd sagesc4 2_m5"5earef32__S5Iloops=ef4214oo9ause42wap59ere351bycode=mem_3242wap>42nm/m92181"> 263182_zo83nlag82o+c4<5ef32em18O4215oo9ause42wap5918p351542nin392aagned shor_HEADaagned shor_HEAD32 cr========QUr723p" 2p1833"mm/memr723p7<80chc 263<5ef32em18O4216oo9ause42t h59mm_351re17"> >3unsi42t h>42133491wou)" 5mref31/a><5ef32em18O4217oo9ause42t h59rer351&g18mme>381">42t h>421sp394723p. We would eswlillllllllDsss> 263 94[0]e+hcnae__rup. We wor723p" 2p1833"mm/memr723p7<80ERNE/e oupryriscmoverec" p_ro23pec_echdef=enumaImrec" p_ro23pec> 94[0] wou)" 5mref31/a><5ef32em18O4218oo9ause42t h59h9"3519"> 2ef=enuma42t h>421up.92="L>32167" cla2 swlillllllllDsss> 263 94[1]e+hcnae__rup. We wor723p" 2p1833"mm/memr723p7<80ERNE/e oupryriscmoverec" p_ro23pec_echdef=enumaImrec" p_ro23pec> 94[1] wou)" 5mref31/a><5ef32em18O4219oo9ause42t h59rer3519g18mme>38mem42t h>421_oo9097break8ef=enumaImco= shor_HEADs> 263 94[0]e+hcnae__rup. We wor723p" 2p1833"mm/memr723p7<80ERNE/e oupryriscmoverec" p_scannec_echdef=enumaImrec" p_scannec> 94[0] wou)" 5mref31/a><5ef32em18O422roo9ause42scv59id 352825"mm/mem18e42scv>422/aa8aaadup. We would evnewd ssssssssse oupryriscmoverec" p_scannec_echdef=enumaImrec" p_scannec> 94[1]e+hcnae__rup. We wor723p" 2p1833"mm/memr723p7<80ERNE/e oupryriscmoverec" p_scannec_echdef=enumaImrec" p_scannec> 94[1] wou)" 5mref31/a><5ef32em18O4221oo9ause42t h59cbe352put" clP2242237<86723p. We would errrrrrrr=mo9 EI4mref31/a><4ef32em18O4222oo9ause42t h59cbe3522troon"mm/m422 2689lagned sssssssss=====QUEUE_2 c"seq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&rec" p_ro23pec_anon quot;&u\nllu\n"tchccwoul========QUrec" p_ro23pec_echdef=enumaImrec" p_ro23pec> 94[0]l wou)" 5mref31/a><5ef32em18O42s3oo9ause42wap59cbe352m422aaa88aadup. We would evnewo=======QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&rec" p_ro23pec_4bre quot;&u\nllu\n"tchccwoul========QUrec" p_ro23pec_echdef=enumaImrec" p_ro23pec> 94[1]l wou)" 5mref31/a><5ef32em18O42s4oo9ause42t h59cbe352mem18swap_sUm42t h>42233480181"> 263 2)m_ryeis undereostein2p>&rec" p_scannec_anon quot;&u\nllu\n"tchccwoul========QUrec" p_scannec_echdef=enumaImrec" p_scannec> 94[0]l wou)" 5mref31/a><5ef32em18O42s5oo9ause42wap5918p3525422in392aagned shor_HEAD32 cr========QUseq_ryscnprintfnumaImco="_eq_ryscnp82o+c4 2)m_ryeis undereostein2p>&rec" p_scannec_4bre quot;&u\nllu\n"tchccwoul========QUrec" p_scannec_echdef=enumaImrec" p_scannec> 94[1]l wou)" 5mref31/a><5ef32em18O42s6oo9ause42t h5918p352re17"> >3unsi42t h>42s3248523p. We =mo9 EI4mref31/a><4ef32em18O42s7oo9ause42mm/59rer352&g18mme>381">42mm/>422mof89#endif1735EI4mref31/a><4ef32em18O4228oo9ause42t h59e.a352&g18mme>38mem42t h>422.c#93="L>3 5mref31/a><5ef32em18O42s9oo9ause42wap59rer3529g18mme>38mem42wap>422_oo9097break8nalop>)h9e__9" 5mref31/a><5ef32em18O423roo9ause42scv59id 353825"mm/mem18e42scv>42scof89=mo9 EI4mref31/a><4ef32em18O4231oo9ause42wap59spf3531coup_mm3_ et42wap>423_wa92swapou54232> 94723p.n_cwoul========QULL8e"uame=56bycod"_oom_uam 263"rup. We woenln FP_82p7wapptrossplaL2cl2p1833"mm/memLL8e" >182_7wapptrossplaL282o+c4181"> 26318c wou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263334re/a>42314>423aaa91> 2_m5"5earef32__S5Iloops=ef42s4oo9ause42t h5918p353mem18swap_sUm42t h>42sm/m92181"> 26hor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318l wou)" 5mref31/a><5ef32em18O42s5oo9ause42m/m5972n3535g18m8334re/a42m/m>4235/m7/mo9 EI4mref31/a><4ef32em18O42s6oo9ause42t h5942333491723p. Wenalop>) 263"rup. We woenln FP_82p7wapptrosscl2p1833"mm/memLL8e" >182_7wapptross82o+c4<5ef32em18O42s7oo9ause42mm/59eNU35t ha h8move_si42mm/>42s>>>92=mo9 EI4mref31/a><4ef32em18O4238oo9ause42t h5918p353&g18mme>38mem42t h>423.c#93="L>3 5mref31/a><5ef32em18O42s9oo9ause42mm/5989"3538>.e 8ef=QUEU42mm/>423"+c83723p.n_nlinlssalrup. We woenle" >182_7wapptrosspwriprivnlere1ref_us=dPIn FP_82p7wapptrosspwripr82o+c4181"> 26318c wou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263183class="s342t h>424/aa8aaadup. We would evnewd sssssssssor_HEAD32 cr========QULL8e"uame=56bycod"_oom_uam 263"rup. We woenln vaenumaImco="_oom_valch99" 5ech9" 5mm/sp3clas18e4241oo9ause42wap59ght 54a1825"mm/mem142wap>42415587181">5"5earef32__S5Iloops=ef4242oo9ause42t h59L263542troon"mm/m424ref92lagned shor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318l wou)" 5mref31/a><5ef32em18O4243oo9ause4231459ef"m543coup_mm3_ et42314>4243ef92lagned shor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O4244oo9ause42t h59ecte544coup_mm3_ et42t h>4244aa90/a> 8 5ech9" 5mm/sp3clas18e42t5oo9ause42m/m59e32e54lass="linefal42m/m>424in392aagned scf="nae__rup. We woenln vaenumaImco="_oom_vaeRNE/ 100lch99" 5ech9" 5mm/sp3clas18e4246oo9ause42n c59e>1854r thisce3pryr42n c>42tw.m93723p. We woulcurnalop>)-nae__rup. We woEINVAmINVAf,o6" id="LEINVAm7<80 wou)" 5mref31/a><5ef32em18O4247oo9ause42m_w5923="54&g18mme>181">42m_w>42tncl93wou)" 5mref31/a><5ef32em18O4248oo9ause42ss358c#>3548"> 324424sol89 would ecf="nae__rup. We woSgr2pan cf=NULLuetrsetme>18ERNE/e oupryriscmovepareo_82o+cef=enumaImpareo_7<80chhcnae__"+coupima=NULmINVAf,o6" id="LNULmm_valch99" 5ech9" 5mm/sp3clas18e4249oo9ause42mm/58e.as549g18mme>38mem42mm/>424_oo9097break8ef=enumanalop>)-nae__rup. We woEINVAmINVAf,o6" id="LEINVAm7<80 wou)" 5mref31/a><5ef32em18O425roo9ause42meu58" cl55825"mm/mem18e42meu>425cof89f32meu52gs to.mof5"cf=NULLu4251oo9ause42to 58252n55ntroon"mm/m42537<86723p. Wede=__pagSPIi8NUpareo_82o+cef=enumaImpareo_7<80chcnae__rup. We woenln FP_82pan c_fro_82o+cef=enumaImco="_FP_82pan c_fro_82o+c418ERNE/e oupryriscmovepareo_82o+cef=enumaImpareo_7<80l wou)" 5mref31/a><5ef32em18O4252oo9ause42g1858e>18552troon"mm/m425anc84lasso 5ech9" 5mm/sp3clas18e42m3oo9ause4231458274u55m42maaa8aaadup. Wde=__pagSPIi8NULL8e"2_lockpan cf=NULLuetrset &m_lock82o+cl wou)" 5mref31/a><5ef32em18O4254oo9ause42t h5855mem18swap_sUm42t h>4254aa90/a> 8 5ech9" 5mm/sp3clas18e4255oo9ause42m/m58567"55mme>181"2 26342m/m>42533487aagned s=2)m_ryeis undereoom,ass=If under _use_hiey, only empty-root cm_rset this _oouea*eassbatchcname5 inlass="l5nch9" e t4256oo9ause42ef358mc55>320 42ef3>425w.m93723p. Wecf="c4425sp394723p. We wouc4 2_m5"5earef32__S5Iloops=ef4258oo9ause42ss358L263559"> 247<425up.92="L>32167" cla2 cwoul========QUset &m_unlockpan cf=NULLuetrset &m_unlock82o+cl wou)" 5mref31/a><5ef32em18O4259oo9ause42mm/58__SP559g18mme>38mem42mm/>425_oo9097break8ef=enumanalop>)-nae__rup. We woEINVAmINVAf,o6" id="LEINVAm7<80 wou)" 5mref31/a><5ef32em18O426roo9ause42m/m5818pr56825"mm/mem18e42m/m>42m/aa8aaadup. W=mo9 EI4mref31/a><4ef32em18O4261oo9ause42nam5889" 56ntroon"mm/m426_wa92swapou5426 2689lagned s 263"rup. We wo4brearefef=<5ef32em18O4263oo9ause4231458e="L56m426aaa90/a> 8 5ech9" 5mm/sp3clas18e4264oo9ause42t h58ame=56bycode=mem_3242t h>426m/m92181"> 26cwoul========QUset &m_unlockpan cf=NULLuetrset &m_unlock82o+cl wou)" 5mref31/a><5ef32em18O4265oo9ause42m/m58="L35654265/m7/mo9 EI4mref31/a><4ef32em18O42m6oo9ause42ef3586 >3unsi42ef3>42633491723p. Wenalop>)h9e__9" 5mref31/a><5ef32em18O42m7oo9ause42m_w58eNUL56&g18mme>381">42m_w>426>>>92=mo9 EI4mref31/a><4ef32em18O42m8oo9ause42ss3586on>56&g18mme>38mem42ss3>426.c#93="L>3 5mref31/a><5ef32em18O42m9oo9ause42mm/58lass569g18mme>38mem42mm/>426"+c83723p.n_voidech9,alit_e woul__enln FP_82pt,alshol2cl2p1833"mm/mem__enln FP_82pt,alshol282o+c4182pan cf=NULLuetrset &g18mme>181"> 263427 oo90> 2_m5"5earef32__S5Iloops=ef4271oo9ause42__u58h9" 57ntroon"mm/m42737<86723p. We723p.code=__pagSPIi8NULL8e" >182_t,alshol2_aryrintfnumaImco="LL8e" >182_t,alshol2_arye>181"> 263<5ef32em18O4272oo9ause42g1858rere572troon"mm/m427 2689lagned s 263"rup. We woLL8e"uame=56bycod"_oom_uam 263"rup. We wousag2ftypknumaImco="usag27<80 wou)" 5mref31/a><5ef32em18O4273oo9ause42"  58rere57m427aaa8aaadup. Wnlinlssalrup. We woipan cf=NULLuetrie>18 wou)" 5mref31/a><5ef32em18O4274oo9ause42mm/58rere57bycode=mem_3242mm/>4274aa90/a> 8 5ech9" 5mm/sp3clas18e4275oo9ause42e>158"> 25751>4275co8597break8cwoul========QUrcuplaL26lockpan cf=NULLuetrrcuplaL26lock82o+cl wou)" 5mref31/a><5ef32em18O4276oo9ause42mo>58.asm57re17"> >3unsi42mo>>427w.m93723p. Wecf="u=====QUEUE_2 c"7wapcl2p1833"mm/mem7wapm_valch99" 5ech9" 5mm/sp3clas18e4277oo9ause42e>158"> 257="line" 3ame=42e>1>427sp394723p. We would e> 263 263<5ef32em18O4278oo9ause42ss358"> 257&g18mme>38mem42ss3>427up.92="L>3216elsewou)" 5mref31/a><5ef32em18O4279oo9ause42nam58spf2579g18mme>38mem42nam>427_oo9097break8ef=enumauwoul========QU_82o+cef=enumaIm_7<80chcnae__rup. We worcupdereferenc2ftypknumaImco="rcupdereferenc282o+c4 263<5ef32em18O428roo9ause42wap58spf2589"> 2334re/a>42wap>428cof89f32meu52gs to.mof5"cf=NULLu4281oo9ause42wap58spf258ntroon"mm/m42837<86723p. Wecf="u=====QUEUE_2 c"_82o+cef=enumaIm_7<80lch99" 5ech9" 5mm/sp3clas18e4282oo9ause42wap58spf2582troon"mm/m428 2689lagned sssssssssgotom 263"rup. We wounlockpan cf=NULLuetrunlock82o+ wou)" 5mref31/a><5ef32em18O4283oo9ause42"  58spf258m428aaa90/a> 8 5ech9" 5mm/sp3clas18e4284oo9ause42wap58spf258mem18swap_sUm42wap>428m/m92181"> 26cwoul========QUusag2ftypknumaImco="usag27<80chcnae__rup. We woenln FP_82pusag2ftypknumaImco="enln FP_82pusag282o+c4<5ef32em18O4285oo9ause42wap58spf25854285/m7/mo9 EI4mref31/a><4ef32em18O4286oo9ause42mo>58spf258re17"> >3unsi42mo>>42833491723p. We p. We 3ou" cdereoom,assassbatchcname5 inlass="l5nch9" e t42w7oo9ause42t h58cbee58&g18mme>381">42t h>428>>>92 p. We 3ou" cdereoom,asssssssss* curreo__t,alshol2 ponlis tomt,alshol2 just below or equal tomusag2.assbatchcname5 inlass="l5nch9" e t42w8oo9ause42ss358cbee58&g18mme>38mem42ss3>428up.92 p. We 3ou" cdereoom,asssssssss* If ite cans not 23pe, amt,alshol2 was crossed after 3outassbatchcname5 inlass="l5nch9" e t42w9oo9ause42t h58cbee589g18mme>38mem42t h>428"+c83 p. We 3ou" cdereoom,asssssssss* call of __enln FP_82pt,alshol2().assbatchcname5 inlass="l5nch9" e t429roo9ause42t h58cbee59825"mm/mem18e42t h>429 oo90 p. We 3ou" cdereoom,asssssssss*eassbatchcname5 inlass="l5nch9" e t4291oo9ause42t h58cbee591coup_mm3_ et42t h>42937<86723p. Wede=__pagSPIi8NUipan cf=NULLuetrie>18chc=====QUEUE_2 c"_82o+cef=enumaIm_7<80ERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+ wou)" 5mref31/a><5ef32em18O4292oo9ause42wap58cbee592troon"mm/m429anc84lasso 5ech9" 5mm/sp3clas18e4293oo9ause42wap58sp3clas18ef178_ooee42wap>429aaa8aaadup. W p. We 3ou" cdereoom,assassbatchcname5 inlass="l5nch9" e t4294oo9ause42wap5889" 4ecordup. 2e wo42wap>42tm/m7/ p. We 3ou" cdereoom,asssssssss* Iterate backward over array of t,alshol2se72arting an cassbatchcname5 inlass="l5nch9" e t4295oo9ause42wap48spf248mme>181"2 26342wap>42t5/m7/ p. We 3ou" cdereoom,asssssssss* curreo__t,alshol2 and checkecf=amt,alshol2 is crossed.assbatchcname5 inlass="l5nch9" e t4296oo9ause42mo>58cbee49>320>42t33491 p. We 3ou" cdereoom,asssssssss* If none of t,alshol2sebelow usag2 is crossed, we laL282sbatchcname5 inlass="l5nch9" e t4297oo9ause42t h58cbee49 ha hlin3 til42t h>429>>>92 p. We 3ou" cdereoom,asssssssss* only one eleeoom of t,e array here.assbatchcname5 inlass="l5nch9" e t4298oo9ause42t h58cbee499"> 247<3/a><42t h>429up.92 p. We 3ou" cdereoom,asssssssss*eassbatchcname5 inlass="l5nch9" e t4299oo9ause42t h58spf2499g18mme>38mem42t h>429_oo9097break8agesc==&l===QUEUE_va=Pipan cf=NULLuetrie>18ceNE/= 0cech9e&ln cl 263"rup. We wounlikelye"uame=56bycod"_nlikely82o+c418].> 26318--lch99" 5ech9" 5mm/sp3clas18e43proo9ause43proo8spf2499g18mme>38mem43pro>430/aa8aaadup. We would e oupryriscmoveov" pfd_, (tnln vaenumaImco="ov" pfd_, (tnl82o+c418].> 263<5ef32em18O43p1oo9ause43p h58cbee591coup_mm3_ et43p h>430_wa92swapou543p 2689lagned s=2)m_ryeis undereoom,ass=ichccurreo__t,alshol2 + 1s*eassbatchcname5 inlass="l5nch9" e t43p3oo9ause43pap58sp3clas18ef178_ooee43pap>430aaa8aaadup. Wde=__pagSPIi8NUipan cf=NULLuetrie>18++ wou)" 5mref31/a><5ef32em18O43p4oo9ause43pap5889" 4ecordup. 2e wo43pap>4304aa90/a> 8 5ech9" 5mm/sp3clas18e43p5oo9ause43pap48spf248mme>181"2 26343pap>43033487aagned s=2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t43p6oo9ause43po>58cbee49>320>43033491 p. We 3ou" cdereoom,asssssssss* Iterate ageward over array of t,alshol2se72arting an cassbatchcname5 inlass="l5nch9" e t43p7oo9ause43p h58cbee49 ha hlin3 til43p h>430>>>92 p. We 3ou" cdereoom,asssssssss* curreo__t,alshol2+1 and checkecf=amt,alshol2 is crossed.assbatchcname5 inlass="l5nch9" e t43p8oo9ause43p h58cbee499"> 247<3/a><43p h>430up.92 p. We 3ou" cdereoom,asssssssss* If none of t,alshol2seabove usag2 is crossed, we laL282sbatchcname5 inlass="l5nch9" e t43p9oo9ause43p h58spf2499g18mme>38mem43p h>430"+c83 p. We 3ou" cdereoom,asssssssss* only one eleeoom of t,e array here.assbatchcname5 inlass="l5nch9" e t431roo9ause43n c59431 oo90 p. We 3ou" cdereoom,asssssssss*eassbatchcname5 inlass="l5nch9" e t4311oo9ause43e>159"> 351ntroon"mm/m1>4311oo9097break8agesc==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=P_82o+cef=enumaIm_7<80ERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80cech9e&ln cl 263"rup. We wounlikelye"uame=56bycod"_nlikely82o+c418].> 26318++l="L>3 5mref31/a><5ef32em18O4312oo9ause43scv59id 3512troon"mm/m431 2689lagned sssssssss=====QUEUE_2 c"ov" pfd_, (tnln vaenumaImco="ov" pfd_, (tnl82o+c418].> 263<5ef32em18O4313oo9ause43wap59().351m431aaa90/a> 8 5ech9" 5mm/sp3clas18e4314oo9ause43wap59ere351bycode=mem_3243wap>43nm/m92181"> 26=2)m_ryeis undereoom,ass=Update curreo__t,alshol2 *eassbatchcname5 inlass="l5nch9" e t4315oo9ause43wap5918p35154315co8597break8cwoul========QU_82o+cef=enumaIm_7<80ERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+chc=====QUEUE_2 c"ipan cf=NULLuetrie>18c- 1 wou)" 5mref31/a><5ef32em18O4316oo9ause43t h59mm_351re17"> >3unsi43t h>43133491 263"rup. We wounlockpan cf=NULLuetrunlock82o+:wou)" 5mref31/a><5ef32em18O4317oo9ause43t h59rer351&g18mme>381">43t h>431sp394723p. Wecwoul========QUrcuplaL26unlockpan cf=NULLuetrrcuplaL26unlock82o+cl wou)" 5mref31/a><5ef32em18O4318oo9ause43t h59h9"3519"> 2ef=enuma43t h>431up.92=mo9 EI4mref31/a><4ef32em18O4319oo9ause43t h59rer3519g18mme>38mem43t h>431"+c83/a>432/aa8a723p.n_voidech9,alit_e woulenln FP_82pt,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+c4182pan cf=NULLuetrset &g18mme>181"> 26343215587181">5"5earef32__S5Iloops=ef4322oo9ause43t h59cbe3522troon"mm/m432 2689lagned swhbre c4 2_m5"5earef32__S5Iloops=ef43s3oo9ause43wap59cbe352m432aaa88aadup. We would evnewo=======QU__enln FP_82pt,alshol2cl2p1833"mm/mem__enln FP_82pt,alshol282o+c4<5ef32em18O43s4oo9ause43t h59cbe352mem18swap_sUm43t h>43233480181"> 2631=edo_swac_ac22brlas1--8ef=enumaIdo_swac_ac22brkch99" 5ech9" 5mm/sp3clas18e43s5oo9ause43wap5918p3525432in392aagned shor_HEADe would evnewo=======QU__enln FP_82pt,alshol2cl2p1833"mm/mem__enln FP_82pt,alshol282o+c4<5ef32em18O43s6oo9ause43t h5918p352re17"> >3unsi43t h>43233491wou)" 5mref31/a><5ef32em18O43s7oo9ause43mm/59rer352&g18mme>381">43mm/>432sp394723p. We would e> 263182pan cf=NULLuetrpareo__LL8e" >18282o+c4<5ef32em18O43s8oo9ause43t h59e.a352&g18mme>38mem43t h>432up.92="L>3216=mo9 EI4mref31/a><4ef32em18O43s9oo9ause43wap59rer3529g18mme>38mem43wap>432_oo90=mo9 EI4mref31/a><4ef32em18O433roo9ause43scv59id 353825"mm/mem18e43scv>433cof89f32meu52gs to.mof5"cf=NULLu4331oo9ause43wap59spf3531coup_mm3_ et43wap>433_wa92723p.n_nlinlssalrup. We woderpare_t,alshol2scl2p1833"mm/memderpare_t,alshol2s82o+cf5"st_voide"> 263 2634332> 94> 2_m5"5earef32__S5Iloops=ef43s3oo9ause4331459rea353m334re/a>43314>433aaa88aadup. Wf5"st_723p.code=__pagSPIi8NULL8e" >182_t,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+e"> 263<5ef32em18O43s4oo9ause43t h5918p353mem18swap_sUm43t h>43sm/m92181"> 26f5"st_723p.code=__pagSPIi8NULL8e" >182_t,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+e"> 263<5ef32em18O43s5oo9ause43m/m5972n3535g18m8334re/a43m/m>4335/m7/mo9 EI4mref31/a><4ef32em18O43s6oo9ause43t h5943333491723p. Wenalop>) 263"rup. We wo_acl2p1833"mm/mem_asbatERNE/e oupryriscmovet,alshol2pan cf=NULLuetrt,alshol282o+e-) 263"rup. We wo_bcl2p1833"mm/mem_bsbatERNE/e oupryriscmovet,alshol2pan cf=NULLuetrt,alshol282o+ wou)" 5mref31/a><5ef32em18O43s7oo9ause43mm/59eNU35t ha h8move_si43mm/>43s>>>92=mo9 EI4mref31/a><4ef32em18O4338oo9ause43t h5918p353&g18mme>38mem43t h>433.c#93="L>3 5mref31/a><5ef32em18O43s9oo9ause43mm/5989"3538>.e 8ef=QUEU43mm/>433"+c83723p.n_nlinlssalrup. We woenle" >182_oom_notify_cbcl2p1833"mm/memenle" >182_oom_notify_cb82o+c4182pan cf=NULLuetrset &g18mme>181"> 263434 oo90> 2_m5"5earef32__S5Iloops=ef4341oo9ause43wap59ght 54a1825"mm/mem143wap>43437<86723p. We723p.code=__pagSPIi8NULL8e" >182_ov" pfd_listcl2p1833"mm/memenle" >182_ov" pfd_liste>181"> 263<5ef32em18O4342oo9ause43t h59L263542troon"mm/m434anc84lasso 5ech9" 5mm/sp3clas18e4343oo9ause4331459ef"m543coup_mm3_ et43314>434aaa8aaadup. Wde=__pagSPIi8NUlist_for_each_oomryrintfnumaImco="list_for_each_oomry82o+c418l="L>3 5mref31/a><5ef32em18O4344oo9ause43t h59ecte544coup_mm3_ et43t h>43433480181"> 263<5ef32em18O43t5oo9ause43m/m59e32e54lass="linefal43m/m>434in392aagned snalop>)h9e__9" 5mref31/a><5ef32em18O4346oo9ause43n c59e>1854r thisce3pryr43n c>43tw.m93=mo9 EI4mref31/a><4ef32em18O4347oo9ause43m_w5923="54&g18mme>181">43m_w>43tncl93wou)" 5mref31/a><5ef32em18O4348oo9ause43ss358c#>3548"> 324434sol89723p.n_voidech9,alit_e woulenln FP_82poom_notifyrefef=182pan cf=NULLuetrset &g18mme>181"> 26343507<86723p. We723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O4351oo9ause43to 58252n55ntroon"mm/m435_wa92swapou518552troon"mm/m435 2689lagned s 263"rup. We wofor_each_enln FP_82ptreeafillnumaImco="for_each_enln FP_82ptree82o+c4435aaa88aadup. We would evnewo=======QUenle" >182_oom_notify_cbcl2p1833"mm/memenle" >182_oom_notify_cb82o+c4<5ef32em18O4354oo9ause43t h5855mem18swap_sUm43t h>4354aa90=mo9 EI4mref31/a><4ef32em18O4355oo9ause43m/m58567"55mme>181"2 26343m/m>4355/m7/mo9 EI4mref31/a><4ef32em18O4356oo9ause43ef358mc55>320 43ef3>435w.m93723p.n_nlinlssalrup. We woenle" >182_usag2_register_ov" pcl2p1833"mm/memenle" >182_usag2_register_ov" p82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O4357oo9ause43m_w58 .as55 ha hlin3 til43m_w>435sp394723p. Wewou,ecode=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263181"> 263 263 247<435up.92> 2_m5"5earef32__S5Iloops=ef4359oo9ause43mm/58__SP559g18mme>38mem43mm/>435_oo9097break8hor_Hcode=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318l wou)" 5mref31/a><5ef32em18O436roo9ause43m/m5818pr56825"mm/mem18e43m/m>43607<86723p. We723p.code=__pagSPIi8NULL8e" >182_t,alshol2scl2p1833"mm/memmcoe" >182_t,alshol2se>181"> 263<5ef32em18O4361oo9ause43nam5889" 56ntroon"mm/m43637<86723p. We723p.code=__pagSPIi8NULL8e" >182_t,alshol2_aryrintfnumaImco="LL8e" >182_t,alshol2_arye>181"> 263<5ef32em18O4362oo9ause43g185826pu562troon"mm/m436 2689lagned snlinlssalrup. We wo8e"2ftypknumaImco="om_2ftypkhcnae__rup. We woMEMFILE_TYPEftypknumaImco="MEMFILE_TYPE82o+c418l wou)" 5mref31/a><5ef32em18O4363oo9ause4331458e="L56m436aaa8aaadup. Wde=__pagSPIi8NULL8e"uame=56bycod"_oom_uam 263"rup. We wot,alshol2pan cf=NULLuetrt,alshol282o+IMIT/,arup. We wousag2ftypknumaImco="usag27<80 wou)" 5mref31/a><5ef32em18O4364oo9ause43t h58ame=56bycode=mem_3243t h>436m/m92181"> 26nlinlssalrup. We woipan cf=NULLuetrie>18hccwoul========QU7iz2ftypknumaImco="siz27<80hccwoul========QUrep" 2p1833"mm/memla_7<80 wou)" 5mref31/a><5ef32em18O4365oo9ause43m/m58="L35654365/m7/mo9 EI4mref31/a><4ef32em18O43m6oo9ause43ef3586 >3unsi43ef3>43633491723p. Wecwoul========QUrep" 2p1833"mm/memla_7<80chcnae__rup. We wores_ac_acer_/a>parsepwripr_723aprgyrintfnumaImco="res_ac_acer_/a>parsepwripr_723aprgy82o+c4<5ef32em18O4367oo9ause43m_w58eNUL56&g18mme>381">43m_w>436sp394723p. Wecf="nae__rup. We worep" 2p1833"mm/memla_7<80kch99" 5ech9" 5mm/sp3clas18e43m8oo9ause43ss3586on>56&g18mme>38mem43ss3>436up.92="L>32167" cla2 nalop>) 263"rup. We worep" 2p1833"mm/memla_7<80 wou)" 5mref31/a><5ef32em18O4369oo9ause43mm/58lass569g18mme>38mem43mm/>436"+c83/a>43703491723p. Wecwoul========QUmutex6lockpan cf=NULLuetrmutex6lock82o+c 263<5ef32em18O4371oo9ause43__u58h9" 57ntroon"mm/m437_wa92swapou5437 2689lagned scf="nae__rup. We wo8e"2ftypknumaImco="om_2ftypkhhcnae__rup. We wo_MEMcl2p1833"mm/mem_MEM7<80kch99" 5ech9" 5mm/sp3clas18e4373oo9ause43"  58rere57m437aaa88aadup. We would evnewo=======QUt,alshol2scl2p1833"mm/memt,alshol2ssbatchc 263<5ef32em18O4374oo9ause43mm/58rere57bycode=mem_3243mm/>437m/m92181"> 26elsescf="nae__rup. We wo8e"2ftypknumaImco="om_2ftypkhhcnae__rup. We wo_MEMSWAPcl2p1833"mm/mem_MEMSWAP7<80kch99" 5ech9" 5mm/sp3clas18e4375oo9ause43e>158"> 25751>437in392aagned shor_HEADevnewo=======QUt,alshol2scl2p1833"mm/memt,alshol2ssbatchc 263<5ef32em18O4376oo9ause43mo>58.asm57re17"> >3unsi43mo>>437w.m93723p. Weelsewou)" 5mref31/a><5ef32em18O4377oo9ause43e>158"> 257="line" 3ame=43e>1>437sp394723p. We would e> 263<5ef32em18O4378oo9ause43ss358"> 257&g18mme>38mem43ss3>437.c#93="L>3 5mref31/a><5ef32em18O4379oo9ause43nam58spf2579g18mme>38mem43nam>437_oo9097break8IT/,arup. We wousag2ftypknumaImco="usag27<80chcnae__rup. We woenln FP_82pusag2ftypknumaImco="enln FP_82pusag282o+c4<5ef32em18O438roo9ause43wap58spf2589"> 2334re/a>43wap>438cof89f32meu52gs to.mof5"cf=NULLu4381oo9ause43wap58spf258ntroon"mm/m43837<86723p. We=2)m_ryeis undereoom,ass=Checkecf=amt,alshol2 crossed before adding a new one *eassbatchcname5 inlass="l5nch9" e t4382oo9ause43wap58spf2582troon"mm/m438 2689lagned scf="nae__rup. We wo8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80lhcname5 inlass="l5nch9" e t4383oo9ause43"  58spf258m438aaa88aadup. We would evnewo=======QU__enln FP_82pt,alshol2cl2p1833"mm/mem__enln FP_82pt,alshol282o+c4<5ef32em18O4384oo9ause43wap58spf258mem18swap_sUm43wap>4384aa90/a> 8 5ech9" 5mm/sp3clas18e4385oo9ause43wap58spf25854385co8597break8cwoul========QUsiz2ftypknumaImco="siz27<80chc=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80 ?c=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80c+ 1s: 1 wou)" 5mref31/a><5ef32em18O4386oo9ause43mo>58spf258re17"> >3unsi43mo>>43833491wou)" 5mref31/a><5ef32em18O43w7oo9ause43t h58cbee58&g18mme>381">43t h>43877<86723p. We=2)m_ryeis undereoom,ass=Allocate /a>ory8agesnew array of t,alshol2se*eassbatchcname5 inlass="l5nch9" e t4388oo9ause43ss358cbee58&g18mme>38mem43ss3>4388co8597break8cwoul========QUnewrintfnumaImco="newsbatchc=====QUEUE_2 c"kmallocrintfnumaImco="kmalloc82o+c4iz2of("> 263182_t,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+)cmo9 EI4mref31/a><4ef32em18O43w9oo9ause43t h58cbee589g18mme>38mem43t h>438_oo9097break8ef=enumaImco= shde=__pagSPIi8NUGFP_KERNEmINVAf,o6" id="LGFP_KERNEm7<80k wou)" 5mref31/a><5ef32em18O439roo9ause43t h58cbee59825"mm/mem18e43t h>43902689lagned scf="u=====QUEUE_2 c"newrintfnumaImco="newsbat)c> 2_m5"5earef32__S5Iloops=ef4391oo9ause43t h58cbee591coup_mm3_ et43t h>43937<86723p. We would ecwoul========QUrep" 2p1833"mm/memla_7<80chc-nae__rup. We woENOMEMcl2p1833"mm/memENOMEMsbat wou)" 5mref31/a><5ef32em18O4392oo9ause43wap58cbee592troon"mm/m439 2689lagned sssssssssgotom 263"rup. We wounlockpan cf=NULLuetrunlock82o+ wou)" 5mref31/a><5ef32em18O4393oo9ause43wap58sp3clas18ef178_ooee43wap>439aaa8aaadup. W=mo9 EI4mref31/a><4ef32em18O4394oo9ause43wap5889" 4ecordup. 2e wo43wap>439m/m92181"> 26cwoul========QUnewrintfnumaImco="newsbatERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80chc=====QUEUE_2 c"siz2ftypknumaImco="siz27<80 wou)" 5mref31/a><5ef32em18O4395oo9ause43wap48spf248mme>181"2 26343wap>4395/m7/mo9 EI4mref31/a><4ef32em18O4396oo9ause43mo>58cbee49>320>43933491723p. We p. We 3ou" cdereoom,ass Copy t,alshol2se(cf=any) tomnew array *eassbatchcname5 inlass="l5nch9" e t4397oo9ause43t h58cbee49 ha hlin3 til43t h>439sp394723p. Wecf="nae__rup. We wo8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80lc> 2_m5"5earef32__S5Iloops=ef4398oo9ause43t h58cbee499"> 247<3/a><43t h>439up.92="L>32167" cla2 cwoul========QU2__SpyrintfnumaImco="LL8Spy82o+c438mem43t h>439_oo9097break8ef=enumaImco= shhhhhhhhh4iz2of(723p.code=__pagSPIi8NULL8e" >182_t,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+)k wou)" 5mref31/a><5ef32em18O44proo9ause44proo8spf2499g18mme>38mem44pro>440/aa8aaadup. W=mo9 EI4mref31/a><4ef32em18O44p1oo9ause44p h58cbee591coup_mm3_ et44p h>440_wa92swapou544p 2689lagned s=2)m_ryeis undereoom,ass=Addmnew t,alshol2 *eassbatchcname5 inlass="l5nch9" e t44p3oo9ause44pap58sp3clas18ef178_ooee44pap>440aaa8aaadup. Wde=__pagSPIi8NUnewrintfnumaImco="newsbatERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We wosiz2ftypknumaImco="siz27<80c- 1].> 263<5ef32em18O44p4oo9ause44pap5889" 4ecordup. 2e wo44pap>440m/m92181"> 26cwoul========QUnewrintfnumaImco="newsbatERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We wosiz2ftypknumaImco="siz27<80c- 1].> 263<5ef32em18O44p5oo9ause44pap48spf248mme>181"2 26344pap>4405/m7/mo9 EI4mref31/a><4ef32em18O44p6oo9ause44po>58cbee49>320>44033491723p. We p. We 3ou" cdereoom,ass Sort t,alshol2s. Registering of new t,alshol2 isne cant time-critical *eassbatchcname5 inlass="l5nch9" e t44p7oo9ause44p h58cbee49 ha hlin3 til44p h>440sp394723p. Wecwoul========QUsortftypknumaImco="sort82o+c4182_t,alshol2cl2p1833"mm/memenln FP_82pt,alshol282o+)cmo9 EI4mref31/a><4ef32em18O44p8oo9ause44p h58cbee499"> 247<3/a><44p h>440up.92="L>32167" cla2 723p. Wecwoul========QUderpare_t,alshol2scl2p1833"mm/memderpare_t,alshol2s82o+hccwoul========QUNULmINVAf,o6" id="LNULmm_val wou)" 5mref31/a><5ef32em18O44p9oo9ause44p h58spf2499g18mme>38mem44p h>440"+c83/a>44103491723p. We p. We 3ou" cdereoom,ass Find curreo_ t,alshol2 *eassbatchcname5 inlass="l5nch9" e t4411oo9ause44e>159"> 351ntroon"mm/m1>44137<86723p. Wede=__pagSPIi8NUnewrintfnumaImco="newsbatERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+chc-1 wou)" 5mref31/a><5ef32em18O4412oo9ause44scv59id 3512troon"mm/m441 2689lagned sagesce oupryriscmoveipan cf=NULLuetrie>18chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=Psiz2ftypknumaImco="siz27<80 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++lc> 2_m5"5earef32__S5Iloops=ef4413oo9ause44wap59().351m441aaa88aadup. We would cf="nae__rup. We wonewrintfnumaImco="newsbatERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We woipan cf=NULLuetrie>18].> 263 2_m5"5earef32__S5Iloops=ef4414oo9ause44wap59ere351bycode=mem_3244wap>44133480181"> 2634415/m7/ p. We 3ou" cdereoom,asssssssssssssssssssssssss* newERNE/curreo__t,alshol2 will not be used untilassbatchcname5 inlass="l5nch9" e t4416oo9ause44t h59mm_351re17"> >3unsi44t h>44133491 p. We 3ou" cdereoom,asssssssssssssssssssssssss* rcupou"ign_ponlier()hc4o ite cans safe tomincreeoomassbatchcname5 inlass="l5nch9" e t4417oo9ause44t h59rer351&g18mme>381">44t h>441>>>92 p. We 3ou" cdereoom,asssssssssssssssssssssssss* it here.assbatchcname5 inlass="l5nch9" e t4418oo9ause44t h59h9"3519"> 2ef=enuma44t h>441up.92 p. We 3ou" cdereoom,asssssssssssssssssssssssss*eassbatchcname5 inlass="l5nch9" e t4419oo9ause44t h59rer3519g18mme>38mem44t h>441_oo9097break8ef=enumaImco= sh++de=__pagSPIi8NUnewrintfnumaImco="newsbatERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+ wou)" 5mref31/a><5ef32em18O442roo9ause44scv59id 352825"mm/mem18e44scv>442/aa8aaadup. We would }eelsewou)" 5mref31/a><5ef32em18O4421oo9ause44t h59cbe352put" clP2244237<86723p. We would eeeeeeeeebreak wou)" 5mref31/a><5ef32em18O4422oo9ause44t h59cbe3522troon"mm/m442 2689lagned s=mo9 EI4mref31/a><4ef32em18O44s3oo9ause44wap59cbe352m442aaa90/a> 8 5ech9" 5mm/sp3clas18e44s4oo9ause44t h59cbe352mem18swap_sUm44t h>44233480181"> 26 p. We 3ou" cdereoom,ass Free ol2 spare buffer and save ol2 primary buffer as spare *eassbatchcname5 inlass="l5nch9" e t44s5oo9ause44wap5918p35254425co8597break8cwoul========QUkfreeafillnumaImco="kfree82o+c4<5ef32em18O44s6oo9ause44t h5918p352re17"> >3unsi44t h>44233491723p. Wecwoul========QU8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmovespareftypknumaImco="sparem_vachc=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80 wou)" 5mref31/a><5ef32em18O44s7oo9ause44mm/59rer352&g18mme>381">44mm/>442ncl93wou)" 5mref31/a><5ef32em18O44s8oo9ause44t h59e.a352&g18mme>38mem44t h>4428co8597break8cwoul========QUrcupou"ign_ponlier" 2p1833"mm/memlcupou"ign_ponlier82o+c4<5ef32em18O44s9oo9ause44wap59rer3529g18mme>38mem44wap>442"+c83/a>44303491723p. We p. We 3ou" cdereoom,ass To be sure that nobody uses t,alshol2se*eassbatchcname5 inlass="l5nch9" e t4431oo9ause44wap59spf3531coup_mm3_ et44wap>44337<86723p. Wede=__pagSPIi8NUsynchroniz2_lcuftypknumaImco="synchroniz2_lcu82o+c) wou)" 5mref31/a><5ef32em18O44s2oo9ause44t h59cbe3532troon"mm/m443anc84lasso 5ech9" 5mm/sp3clas18e44s3oo9ause4431459rea353m334re/a>44314>443aaa88 263"rup. We wounlockpan cf=NULLuetrunlock82o+:wou)" 5mref31/a><5ef32em18O44s4oo9ause44t h5918p353mem18swap_sUm44t h>443m/m92181"> 26cwoul========QUmutex6unlockpan cf=NULLuetrmutex6unlock82o+c 263<5ef32em18O44s5oo9ause44m/m5972n3535g18m8334re/a44m/m>4435/m7/mo9 EI4mref31/a><4ef32em18O44s6oo9ause44t h5944333491723p. Wenalop>) 263"rup. We worep" 2p1833"mm/memla_7<80 wou)" 5mref31/a><5ef32em18O44s7oo9ause44mm/59eNU35t ha h8move_si44mm/>44s>>>92=mo9 EI4mref31/a><4ef32em18O4438oo9ause44t h5918p353&g18mme>38mem44t h>443.c#93="L>3 5mref31/a><5ef32em18O44s9oo9ause44mm/5989"3538>.e 8ef=QUEU44mm/>443"+c83723p.n_voidech9,alit_e woulenln FP_82pusag2_unregister_ov" pcl2p1833"mm/memenle" >182_usag2_unregister_ov" p82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O444roo9ause44t h59cbee54>183class="s344t h>44407<86723p. We723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263181"> 26344415587181">5"5earef32__S5Iloops=ef4442oo9ause44t h59L263542troon"mm/m44427<86723p. We723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 26318l wou)" 5mref31/a><5ef32em18O4443oo9ause4431459ef"m543coup_mm3_ et44314>444aaa8aaadup. W723p.code=__pagSPIi8NULL8e" >182_t,alshol2scl2p1833"mm/memmcoe" >182_t,alshol2se>181"> 263<5ef32em18O4444oo9ause44t h59ecte544coup_mm3_ et44t h>44433480181"> 26723p.code=__pagSPIi8NULL8e" >182_t,alshol2_aryrintfnumaImco="LL8e" >182_t,alshol2_arye>181"> 263<5ef32em18O44t5oo9ause44m/m59e32e54lass="linefal44m/m>444in392aagned snlinlssalrup. We wo8e"2ftypknumaImco="om_2ftypkhcnae__rup. We woMEMFILE_TYPEftypknumaImco="MEMFILE_TYPE82o+c418l wou)" 5mref31/a><5ef32em18O4446oo9ause44n c59e>1854r thisce3pryr44n c>44433491723p. Wecwoul========QULL8e"uame=56bycod"_oom_uam 263"rup. We wousag2ftypknumaImco="usag27<80 wou)" 5mref31/a><5ef32em18O4447oo9ause44m_w5923="54&g18mme>181">44m_w>4447n392aagned snlinlssalrup. We woipan cf=NULLuetrie>18hccwoul========QUjpan cf=NULLuetrj7<80hccwoul========QU7iz2ftypknumaImco="siz27<80 wou)" 5mref31/a><5ef32em18O4448oo9ause44ss358c#>3548"> 324444.c#93="L>3 5mref31/a><5ef32em18O4449oo9ause44mm/58e.as549g18mme>38mem44mm/>444_oo9097break8IT/,arup. We womutex6lockpan cf=NULLuetrmutex6lock82o+c 263<5ef32em18O445roo9ause44meu58" cl55825"mm/mem18e44meu>44502689lagned scf="lssalrup. We wo8e"2ftypknumaImco="om_2ftypkhhcnae__rup. We wo_MEMcl2p1833"mm/mem_MEM7<80kch99" 5ech9" 5mm/sp3clas18e4451oo9ause44to 58252n55ntroon"mm/m44537<86723p. We would ecwoul========QUt,alshol2scl2p1833"mm/memt,alshol2ssbatchc 263<5ef32em18O4452oo9ause44g1858e>18552troon"mm/m445 2689lagned selsescf="nae__rup. We wo8e"2ftypknumaImco="om_2ftypkhhcnae__rup. We wo_MEMSWAPcl2p1833"mm/mem_MEMSWAP7<80kch99" 5ech9" 5mm/sp3clas18e44m3oo9ause4431458274u55m445aaa88aadup. We would evnewo=======QUt,alshol2scl2p1833"mm/memt,alshol2ssbatchc 263<5ef32em18O4454oo9ause44t h5855mem18swap_sUm44t h>445m/m92181"> 26elsewou)" 5mref31/a><5ef32em18O4455oo9ause44m/m58567"55mme>181"2 26344m/m>445in392aagned shor_HEADevnewo=======QUBUGcl2p1833"mm/memBUG82o+cl wou)" 5mref31/a><5ef32em18O4456oo9ause44ef358mc55>320 44ef3>44533491wou)" 5mref31/a><5ef32em18O4457oo9ause44m_w58 .as55 ha hlin3 til44m_w>445sp394723p. Wecf="u=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80kch99" 5ech9" 5mm/sp3clas18e44m8oo9ause44ss358L263559"> 247<445up.92="L>32167" cla2 gotom 263"rup. We wounlockpan cf=NULLuetrunlock82o+ wou)" 5mref31/a><5ef32em18O4459oo9ause44mm/58__SP559g18mme>38mem44mm/>445"+c83/a>44603491723p. Wecwoul========QUusag2ftypknumaImco="usag27<80chcnae__rup. We woenln FP_82pusag2ftypknumaImco="enln FP_82pusag282o+c4446_wa92swapou5446 2689lagned s=2)m_ryeis undereoom,ass=Checkecf=amt,alshol2 crossed before removing *eassbatchcname5 inlass="l5nch9" e t4463oo9ause4431458e="L56m446aaa8aaadup. Wde=__pagSPIi8NU__enln FP_82pt,alshol2cl2p1833"mm/mem__enln FP_82pt,alshol282o+c4<5ef32em18O4464oo9ause44t h58ame=56bycode=mem_3244t h>4464aa90/a> 8 5ech9" 5mm/sp3clas18e4465oo9ause44m/m58="L356544633487aagned s=2)m_ryeis undereoom,ass Calculate new number of t,alshol2 *eassbatchcname5 inlass="l5nch9" e t4466oo9ause44ef3586 >3unsi44ef3>44633491723p. Wecwoul========QUsiz2ftypknumaImco="siz27<80chch9e__9" 5mref31/a><5ef32em18O4467oo9ause44m_w58eNUL56&g18mme>381">44m_w>446sp394723p. Weagesce oupryriscmoveipan cf=NULLuetrie>18chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=P_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++lc> 2_m5"5earef32__S5Iloops=ef44m8oo9ause44ss3586on>56&g18mme>38mem44ss3>446up.92="L>32167" cla2 cf="nae__rup. We wo8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We woipan cf=NULLuetrie>18].> 26338mem44mm/>446_oo9097break8ef=enumaImco= shde=__pagSPIi8NUsiz2ftypknumaImco="siz27<80++ wou)" 5mref31/a><5ef32em18O447roo9ause447447/aa8aaadup. W=mo9 EI4mref31/a><4ef32em18O4471oo9ause44__u58h9" 57ntroon"mm/m447_wa92swapou5447 2689lagned s 263"rup. We wonewrintfnumaImco="newsbatchc=====QUEUE_2 c"8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmovespareftypknumaImco="sparem_va wou)" 5mref31/a><5ef32em18O4473oo9ause44"  58rere57m447aaa90/a> 8 5ech9" 5mm/sp3clas18e4474oo9ause44mm/58rere57bycode=mem_3244mm/>44733480181"> 26 p. We 3ou" cdereoom,ass Set t,alshol2searray tomNULm cf=we done cant have t,alshol2se*eassbatchcname5 inlass="l5nch9" e t4475oo9ause44e>158"> 25751>447in392aagned scf="u=====QUEUE_2 c"siz2ftypknumaImco="siz27<80lc> 2_m5"5earef32__S5Iloops=ef4476oo9ause44mo>58.asm57re17"> >3unsi44mo>>447w.m93723p. Welagned s 263"rup. We wokfreeafillnumaImco="kfree82o+c4<5ef32em18O4477oo9ause44e>158"> 257="line" 3ame=44e>1>447sp394723p. We would e> 263<5ef32em18O4478oo9ause44ss358"> 257&g18mme>38mem44ss3>447up.92="L>32167" cla2 gotom 263"rup. We woaIdo_bufferscl2p1833"mm/memaIdo_buffersm_va wou)" 5mref31/a><5ef32em18O4479oo9ause44nam58spf2579g18mme>38mem44nam>447_oo9097break8=mo9 EI4mref31/a><4ef32em18O448roo9ause44wap58spf2589"> 2334re/a>44wap>448cof89f32meu52gs to.mof5"cf=NULLu4481oo9ause44wap58spf258ntroon"mm/m44837<86723p. Wede=__pagSPIi8NUnewrintfnumaImco="newsbatERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80chc=====QUEUE_2 c"siz2ftypknumaImco="siz27<80 wou)" 5mref31/a><5ef32em18O4482oo9ause44wap58spf2582troon"mm/m448anc84lasso 5ech9" 5mm/sp3clas18e4483oo9ause44"  58spf258m448aaa88aadup. W p. We 3ou" cdereoom,ass Copy t,alshol2seand find curreo_ t,alshol2 *eassbatchcname5 inlass="l5nch9" e t4484oo9ause44wap58spf258mem18swap_sUm44wap>448m/m92181"> 26cwoul========QUnewrintfnumaImco="newsbatERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+chc-1 wou)" 5mref31/a><5ef32em18O4485oo9ause44wap58spf25854485co8597break8agesce oupryriscmoveipan cf=NULLuetrie>18chc0hccwoul========QUjpan cf=NULLuetrj7<80chc0==&l===QUEUE_va=Pipan cf=NULLuetrie>18ce&l==&l===QUEUE_va=P_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmovesiz2ftypknumaImco="siz27<80 =&l===QUEUE_va=Pipan cf=NULLuetrie>18++lc> 2_m5"5earef3/a><5ef32em18O4486oo9ause44mo>58spf258re17"> >3unsi44mo>>448w.m93723p. Welagned scf="nae__rup. We wo8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We woipan cf=NULLuetrie>18].> 263381">44t h>448sp394723p. We would eeeeeeeee/sp3inue wou)" 5mref31/a><5ef32em18O4488oo9ause44ss358cbee58&g18mme>38mem44ss3>448.c#93="L>3 5mref31/a><5ef32em18O44w9oo9ause44t h58cbee589g18mme>38mem44t h>448_oo9097break8ef=enumacwoul========QUnewrintfnumaImco="newsbatERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We wojpan cf=NULLuetrj7<80]chc=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80ERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We woipan cf=NULLuetrie>18] wou)" 5mref31/a><5ef32em18O449roo9ause44t h58cbee59825"mm/mem18e44t h>449/aa8aaadup. We would cf="nae__rup. We wonewrintfnumaImco="newsbatERNE/e oupryriscmoveoomri/w" 2p1833"mm/memoomri/w7<80[nae__rup. We wojpan cf=NULLuetrj7<80].> 263 2_m5"5earef32__S5Iloops=ef4491oo9ause44t h58cbee591coup_mm3_ et44t h>44937<86723p. We would eaadup. W p. We 3ou" cdereoom,assassbatchcname5 inlass="l5nch9" e t4492oo9ause44wap58cbee592troon"mm/m449 2689 p. We 3ou" cdereoom,asssssssssssssssssssssssss* newERNE/curreo__t,alshol2 will not be usedassbatchcname5 inlass="l5nch9" e t4493oo9ause44wap58sp3clas18ef178_ooee44wap>449aaa8a p. We 3ou" cdereoom,asssssssssssssssssssssssss* until rcupou"ign_ponlier()hc4o ite cans safe tomincreeoomassbatchcname5 inlass="l5nch9" e t4494oo9ause44wap5889" 4ecordup. 2e wo44wap>449m/m92 p. We 3ou" cdereoom,asssssssssssssssssssssssss* it here.assbatchcname5 inlass="l5nch9" e t4495oo9ause44wap48spf248mme>181"2 26344wap>4495/m7/ p. We 3ou" cdereoom,asssssssssssssssssssssssss*eassbatchcname5 inlass="l5nch9" e t4496oo9ause44mo>58cbee49>320>449w.m93723p. Welagned sssssssss++de=__pagSPIi8NUnewrintfnumaImco="newsbatERNE/e oupryriscmovecurreo__t,alshol2pan cf=NULLuetrsurreo__t,alshol282o+ wou)" 5mref31/a><5ef32em18O4497oo9ause44t h58cbee49 ha hlin3 til44t h>449sp394723p. We would e=mo9 EI4mref31/a><4ef32em18O4498oo9ause44t h58cbee499"> 247<3/a><44t h>449up.92="L>32167" cla2 cwoul========QUjpan cf=NULLuetrj7<80++ wou)" 5mref31/a><5ef32em18O4499oo9ause44t h58spf2499g18mme>38mem44t h>449_oo9097break8=mo9 EI4mref31/a><4ef32em18O45proo9ause45proo8spf2499g18mme>38mem45pro>450cof89f32meu52gs to.mof5"cf=NULLu45p1oo9ause45p h58cbee591coup_mm3_ et45p h>450_wa92 263"rup. We woaIdo_bufferscl2p1833"mm/memaIdo_buffersm_va:wou)" 5mref31/a><5ef32em18O45p2oo9ause45pap58cbee592troon"mm/m45p 2689lagned s=2)m_ryeis undereoom,ass=SIdo primary and spare array *eassbatchcname5 inlass="l5nch9" e t45p3oo9ause45pap58sp3clas18ef178_ooee45pap>450aaa8aaadup. Wde=__pagSPIi8NU8,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmovespareftypknumaImco="sparem_vachc=====QUEUE_2 c"_,alshol2scl2p1833"mm/memt,alshol2ssbatERNE/e oupryriscmoveprimaryrintfnumaImco="primary7<80 wou)" 5mref31/a><5ef32em18O45p4oo9ause45pap5889" 4ecordup. 2e wo45pap>45033480181"> 26 p. We 3ou" cdereoom,ass If all ov" pseare unregistered, free the spare array *eassbatchcname5 inlass="l5nch9" e t45p5oo9ause45pap48spf248mme>181"2 26345pap>450in392aagned scf="u=====QUEUE_2 c"newrintfnumaImco="newsbat)c> 2_m5"5earef32__S5Iloops=ef45p6oo9ause45po>58cbee49>320>450w.m93723p. Welagned s 263"rup. We wokfreeafillnumaImco="kfree82o+c4<5ef32em18O45p7oo9ause45p h58cbee49 ha hlin3 til45p h>450sp394723p. We would e> 263<5ef32em18O45p8oo9ause45p h58cbee499"> 247<3/a><45p h>450up.92="L>3216=mo9 EI4mref31/a><4ef32em18O45p9oo9ause45p h58spf2499g18mme>38mem45p h>450"+c83/a>45103491723p. Wecwoul========QUrcupou"ign_ponlier" 2p1833"mm/memlcupou"ign_ponlier82o+c4<5ef32em18O4511oo9ause45e>159"> 351ntroon"mm/m1>451_wa92swapou5451 2689lagned s=2)m_ryeis undereoom,ass=To be sure that nobody uses t,alshol2se*eassbatchcname5 inlass="l5nch9" e t4513oo9ause45wap59().351m451aaa8aaadup. Wde=__pagSPIi8NUsynchroniz2_lcuftypknumaImco="synchroniz2_lcu82o+c) wou)" 5mref31/a><5ef32em18O4514oo9ause45wap59ere351bycode=mem_3245wap>45133480cwoul========QUunlockpan cf=NULLuetrunlock82o+:wou)" 5mref31/a><5ef32em18O4515oo9ause45wap5918p35154515co8597break8cwoul========QUmutex6unlockpan cf=NULLuetrmutex6unlock82o+c 263<5ef32em18O4516oo9ause45t h59mm_351re17"> >3unsi45t h>451w.m93=mo9 EI4mref31/a><4ef32em18O4517oo9ause45t h59rer351&g18mme>381">45t h>451ncl93wou)" 5mref31/a><5ef32em18O4518oo9ause45t h59h9"3519"> 2ef=enuma45t h>451sol89723p.n_nlinlssalrup. We woenle" >182_oom_register_ov" pcl2p1833"mm/memenle" >182_oom_register_ov" p82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O4519oo9ause45t h59rer3519g18mme>38mem45t h>451_oo9097break8723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263181"> 263 263452/aa8a> 2_m5"5earef32__S5Iloops=ef4521oo9ause45t h59cbe352put" clP2245237<86723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 26318l wou)" 5mref31/a><5ef32em18O4522oo9ause45t h59cbe3522troon"mm/m45227<86723p. We723p.code=__pagSPIi8NULL8e" >182_ov" pfd_list82o+cef=enumaImco="_FP_82pov" pfd_liste>181"> 263<5ef32em18O45s3oo9ause45wap59cbe352m452aaa8aaadup. Wnlinlssalrup. We wo8e"2ftypknumaImco="om_2ftypkhcnae__rup. We woMEMFILE_TYPEftypknumaImco="MEMFILE_TYPE82o+c418l wou)" 5mref31/a><5ef32em18O45s4oo9ause45t h59cbe352mem18swap_sUm45t h>4524aa90/a> 8 5ech9" 5mm/sp3clas18e45s5oo9ause45wap5918p35254525co8597break8cwoul========QUBUG_ONivnlere1ref_us=BUG_ON82o+c4<5ef32em18O45s6oo9ause45t h5918p352re17"> >3unsi45t h>45233491723p. Wecwoul========QUev" pn vaenumaImco="ov" pm_vachc=====QUEUE_2 c"kmallocrintfnumaImco="kmalloc82o+c4iz2of("> 263<5ef32em18O45s7oo9ause45mm/59rer352&g18mme>381">45mm/>452sp394723p. Wecf="u=====QUEUE_2 c"ev" pn vaenumaImco="ov" pm_va)wou)" 5mref31/a><5ef32em18O45s8oo9ause45t h59e.a352&g18mme>38mem45t h>452up.92="L>32167" cla2 nalop>)-nae__rup. We woENOMEMcl2p1833"mm/memENOMEMsbat wou)" 5mref31/a><5ef32em18O45s9oo9ause45wap59rer3529g18mme>38mem45wap>452"+c83/a>45303491723p. Wecwoul========QUspin6lockpan cf=NULLuetrspin6lock82o+c 263<5ef32em18O4531oo9ause45wap59spf3531coup_mm3_ et45wap>453_wa92swapou5453 2689lagned s 263"rup. We woev" pn vaenumaImco="ov" pm_vaERNE/e oupryriscmoveov" pfdn vaenumaImco="ov" pfdsbatchc=====QUEUE_2 c"ov" pfdn vaenumaImco="ov" pfdsbat wou)" 5mref31/a><5ef32em18O45s3oo9ause4531459rea353m334re/a>45314>453aaa8aaadup. Wde=__pagSPIi8NUlist_addn vaenumaImco="list_add82o+c 26318IM 263<5ef32em18O4534oo9ause45t h5918p353mem18swap_sUm45t h>4534aa90/a> 8 5ech9" 5mm/sp3clas18e45s5oo9ause45m/m5972n3535g18m8334re/a45m/m>45333487aagned s=2)m_ryeis undereoom,ass alreadyWnl OOM ?e*eassbatchcname5 inlass="l5nch9" e t45s6oo9ause45t h5945333491723p. Wecf="nae__rup. We woatomic_readcl2p1833"mm/mematomic_read82o+c 263<5ef32em18O45s7oo9ause45mm/59eNU35t ha h8move_si45mm/>453sp394723p. We would e> 263<5ef32em18O4538oo9ause45t h5918p353&g18mme>38mem45t h>4538co8597break8cwoul========QUspin6unlockpan cf=NULLuetrspin6unlock82o+c 263<5ef32em18O4539oo9ause45mm/5989"3538>.e 8ef=QUEU45mm/>453"+c83/a>45407<86723p. Wenalop>)h9e__9" 5mref31/a><5ef32em18O4541oo9ause45wap59ght 54a1825"mm/mem145wap>45415587=mo9 EI4mref31/a><4ef32em18O4542oo9ause45t h59L263542troon"mm/m454anc84lasso 5ech9" 5mm/sp3clas18e4543oo9ause4531459ef"m543coup_mm3_ et45314>454aaa8a723p.n_voidech9,alit_e woulenln FP_82poom_unregister_ov" pcl2p1833"mm/memenle" >182_oom_unregister_ov" p82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O4544oo9ause45t h59ecte544coup_mm3_ et45t h>45433480181"> 26723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263181"> 263<5ef32em18O45t5oo9ause45m/m59e32e54lass="linefal45m/m>454in392> 2_m5"5earef32__S5Iloops=ef4546oo9ause45n c59e>1854r thisce3pryr45n c>45433491723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 26318l wou)" 5mref31/a><5ef32em18O4547oo9ause45m_w5923="54&g18mme>181">45m_w>4547n392aagned s723p.code=__pagSPIi8NULL8e" >182_ov" pfd_list82o+cef=enumaImco="_FP_82pov" pfd_liste>181"> 263 263<5ef32em18O4548oo9ause45ss358c#>3548"> 3244548co8597break8nlinlssalrup. We wo8e"2ftypknumaImco="om_2ftypkhcnae__rup. We woMEMFILE_TYPEftypknumaImco="MEMFILE_TYPE82o+c418l wou)" 5mref31/a><5ef32em18O4549oo9ause45mm/58e.as549g18mme>38mem45mm/>454"+c83/a>45503491723p. Wecwoul========QUBUG_ONivnlere1ref_us=BUG_ON82o+c4<5ef32em18O4551oo9ause45to 58252n55ntroon"mm/m455_wa92swapou518552troon"mm/m455 2689lagned s 263"rup. We wospin6lockpan cf=NULLuetrspin6lock82o+c 263<5ef32em18O45m3oo9ause4531458274u55m455aaa90/a> 8 5ech9" 5mm/sp3clas18e4554oo9ause45t h5855mem18swap_sUm45t h>455m/m92181"> 26de=__pagSPIi8NUlist_for_oach_oomry_safen vaenumaImco="list_for_oach_oomry_safe82o+c4 263181"2 26345m/m>455in392aagned shor_HEADcf="nae__rup. We woevn vaenumaImco="ov"_mfERNE/e oupryriscmoveov" pfdn vaenumaImco="ov" pfdsbatchhcnae__rup. We woov" pfdn vaenumaImco="ov" pfdsbatkc> 2_m5"5earef32__S5Iloops=ef4556oo9ause45ef358mc55>320 45ef3>455w.m93723p. Welagned sssssssssde=__pagSPIi8NUlist_deln vaenumaImco="list_del82o+c 26318) wou)" 5mref31/a><5ef32em18O45m7oo9ause45m_w58 .as55 ha hlin3 til45m_w>455sp394723p. We would eeeeeeeee=====QUEUE_2 c"kfreeafillnumaImco="kfree82o+c4<5ef32em18O45m8oo9ause45ss358L263559"> 247<455up.92="L>32167" cla2 =mo9 EI4mref31/a><4ef32em18O4559oo9ause45mm/58__SP559g18mme>38mem45mm/>455_oo9097break8=mo9 EI4mref31/a><4ef32em18O456roo9ause45m/m5818pr56825"mm/mem18e45m/m>456cof89f32meu52gs to.mof5"cf=NULLu4561oo9ause45nam5889" 56ntroon"mm/m45637<86723p. Wede=__pagSPIi8NUspin6unlockpan cf=NULLuetrspin6unlock82o+c 263<5ef32em18O4562oo9ause45g185826pu562troon"mm/m456 2689=mo9 EI4mref31/a><4ef32em18O4563oo9ause4531458e="L56m456aaa90/a> 8 5ech9" 5mm/sp3clas18e4564oo9ause45t h58ame=56bycode=mem_3245t h>4564aa90723p.n_nlinlssalrup. We woenle" >182_oom_/sp3cla_readcl2p1833"mm/memenle" >182_oom_/sp3cla_read82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O4565oo9ause45m/m58="L356545633487aagned s723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263182_map_cbpan cf=NULLuetrset &m_map_cbftypk"> 263<5ef32em18O4566oo9ause45ef3586 >3unsi45ef3>45633491> 2_m5"5earef32__S5Iloops=ef4567oo9ause45m_w58eNUL56&g18mme>381">45m_w>4567n392aagned s723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 26318l wou)" 5mref31/a><5ef32em18O45m8oo9ause45ss3586on>56&g18mme>38mem45ss3>456.c#93="L>3 5mref31/a><5ef32em18O4569oo9ause45mm/58lass569g18mme>38mem45mm/>456_oo9097break8IT/,arup. We wo4bpan cf=NULLuetrsbsbatERNE/e oupryriscmovefilln vaenumaImco="fill82o+c4"oom_kill_disable"assbatche> 263<5ef32em18O457roo9ause457457cof89f32meu52gs to.mof5"cf=NULLu4571oo9ause45__u58h9" 57ntroon"mm/m45737<86723p. Wecf="nae__rup. We woatomic_readcl2p1833"mm/mematomic_read82o+c 263<5ef32em18O4572oo9ause45g1858rere572troon"mm/m457 2689lagned s97break8IT/,arup. We wo4bpan cf=NULLuetrsbsbatERNE/e oupryriscmovefilln vaenumaImco="fill82o+c4"under_oom"assbatche1k wou)" 5mref31/a><5ef32em18O4573oo9ause45"  58rere57m457aaa8aaadup. Welsewou)" 5mref31/a><5ef32em18O4574oo9ause45mm/58rere57bycode=mem_3245mm/>45733480181"> 2697break8IT/,arup. We wo4bpan cf=NULLuetrsbsbatERNE/e oupryriscmovefilln vaenumaImco="fill82o+c4"under_oom"assbatche0k wou)" 5mref31/a><5ef32em18O4575oo9ause45e>158"> 25751>457in392aagned snalop>)h9e__9" 5mref31/a><5ef32em18O4576oo9ause45mo>58.asm57re17"> >3unsi45mo>>457w.m93=mo9 EI4mref31/a><4ef32em18O4577oo9ause45e>158"> 257="line" 3ame=45e>1>457ncl93wou)" 5mref31/a><5ef32em18O4578oo9ause45ss358"> 257&g18mme>38mem45ss3>457sol89723p.n_nlinlssalrup. We woenle" >182_oom_/sp3cla_wriprivnlere1ref_us=enle" >182_oom_/sp3cla_wripr82o+c4181"> 26318cmo9 EI4mref31/a><4ef32em18O4579oo9ause45nam58spf2579g18mme>38mem45nam>457_oo9097break8723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypk"> 263<5ef32em18O458roo9ause45wap58spf2589"> 2334re/a>45wap>458/aa8a> 2_m5"5earef32__S5Iloops=ef4581oo9ause45wap58spf258ntroon"mm/m45837<86723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 26318l wou)" 5mref31/a>S5Iloops=ef4582oo9ause45wap58spf2582troon"mm/m45827<86723p. We723p.code=__pagSPIi8NULL8e" >182pan cf=NULLuetrset &g18mme>181"> 263<5ef32em18O4583oo9ause45"  58spf258m458aaa90/a> 8 5ech9" 5mm/sp3clas18e4584oo9ause45wap58spf258mem18swap_sUm45wap>458m/m92181"> 26c2)m_ryeis undereoom,ass cannot set to root &g18mm and only 0 and 1eare allowe2 *eassbatchcname5 inlass="l5nch9" e t4585oo9ause45wap58spf25854585co8597break8cf="u=====QUEUE_2 c"Sgr2pan cf=NULLuetrsetme>18ERNE/e oupryriscmovepareo_82o+cef=enumaImpareo_sbat || !(c4<5ef32em18O4586oo9ause45mo>58spf258re17"> >3unsi45mo>>458w.m93723p. Welagned snalop>)-nae__rup. We woEINVAmINVAf,o6" id="LEINVAmsbat wou)" 5mref31/a><5ef32em18O4587oo9ause45t h58cbee58&g18mme>381">45t h>458ncl93wou)" 5mref31/a><5ef32em18O4588oo9ause45ss358cbee58&g18mme>38mem45ss3>4588co8597break8cwoul========QUpareo_82o+cef=enumaImpareo_sbat hcnae__rup. We woenln FP_82pan c_fro_82o+cef=enumaImco="_FP_82pan c_fro_82o+c418ERNE/e oupryriscmovepareo_82o+cef=enumaImpareo_sbatl wou)" 5mref31/a>S5Iloops=ef4589oo9ause45t h58cbee589g18mme>38mem45t h>458"+c83/a>45903491723p. Wecwoul========QU_FP_82plockpan cf=NULLuetr_FP_82plock82o+cl wou)" 5mref31/a>S5Iloops=ef4591oo9ause45t h58cbee591coup_mm3_ et45t h>45937<86723p. Wec2)m_ryeis undereoom,ass oom-kill-disable is a flag8agessubhierarchy. *eassbatchcname5 inlass="l5nch9" e t4592oo9ause45wap58cbee592troon"mm/m4592co8597break8cf="c4459aaa88aadup. We woc418ERNE/e oupryriscmovechildreopan cf=NULLuetrshildreo7<80k)kc> 2_m5"5earef32__S5Iloops=ef4594oo9ause45wap5889" 4ecordup. 2e wo45wap>45933480181"> 2697break8IT/,arup. We wo4FP_82punlockpan cf=NULLuetr4FP_82punlock82o+cl wou)" 5mref31/a>S5Iloops=ef4595oo9ause45wap48spf248mme>181"2 26345wap>459in392aagned shor_HEADnalop>)-nae__rup. We woEINVAmINVAf,o6" id="LEINVAmsbat wou)" 5mref31/a><5ef32em18O4596oo9ause45mo>58cbee49>320>459w.m93723p. We=mo9 EI4mref31/a><4ef32em18O4597oo9ause45t h58cbee49 ha hlin3 til45t h>459sp394723p. We> 263<5ef32em18O4598oo9ause45t h58cbee499"> 247<3/a><45t h>459up.92="L>3216cf="u=====QUEUE_2 c"valn vaenumaImco="val82o+)wou)" 5mref31/a><5ef32em18O4599oo9ause45t h58spf2499g18mme>38mem45t h>459_oo9097break8ef=enumacwoul========QUm78ea_oom_recover" 2p1833"mm/memm78ea_oom_recover82o+c4S5Iloops=ef46proo9ause46proo8spf2499g18mme>38mem46pro>46003491723p. Wecwoul========QU_FP_82punlockpan cf=NULLuetr4FP_82punlock82o+cl wou)" 5mref31/a>S5Iloops=ef46p1oo9ause46p h58cbee591coup_mm3_ et46p h>46037<86723p. Wenalop>)h9e__9" 5mref31/a><5ef32em18O46p2oo9ause46pap58cbee592troon"mm/m460 2689=mo9 EI4mref31/a><4ef32em18O46p3oo9ause46pap58sp3clas18ef178_ooee46pap>460aaa90/a> 8 5ech9" 5mm/sp3clas18e46p4oo9ause46pap5889" 4ecordup. 2e wo46pap>46033480#ifdefecwoul========QUCONFIG_MEMCG_KMEMcl2p1833"mm/memCONFIG_MEMCG_KMEMaa90/a> 8 5ech9" 5mm/sp3clas18e46p5oo9ause46pap48spf248mme>181"2 26346pap>460in392723p.n_nlinlssalrup. We woenlea_init_kenl" 2p1833"mm/memm78ea_init_kenl82o+c4182cl2p1833"mm/memenle" >182e>181"> 263181"> 26358cbee49>320>46033491> 2_m5"5earef32__S5Iloops=ef46p7oo9ause46p h58cbee49 ha hlin3 til46p h>460sp394723p. Wenalop>) 263"rup. We woco="_FP_82psockets_init82o+cef=enumaImco="_FP_82psockets_init82o+c4<5ef32em18O46p8oo9ause46p h58cbee499"> 247<3/a><46p h>460up.92}9e__9" 5mref31/a><5ef32em18O46p9oo9ause46p h58spf2499g18mme>38mem46p h>460"+c83/a>46103491723p.n_voidech9,alit_e woulkco="_FP_82pdewouoye"uame=56bycod"kco="_FP_82pdewouoy82o+c4182cl2p1833"mm/memenle" >182e>181"> 263159"> 351ntroon"mm/m1>46115587181">5"5earef32__S5Iloops=ef4612oo9ause46scv59id 3512troon"mm/m461 2689lagned s 263"rup. We woco="_FP_82psockets_dewouoye"uame=56bycod"co="_FP_82psockets_dewouoy82o+c4S5Iloops=ef4613oo9ause46wap59().351m461aaa8a=mo9 EI4mref31/a><4ef32em18O4614oo9ause46wap59ere351bycode=mem_3246wap>46133480#elsewou)" 5mref31/a><5ef32em18O4615oo9ause46wap5918p3515461in392723p.n_nlinlssalrup. We woenlea_init_kenl" 2p1833"mm/memm78ea_init_kenl82o+c4182cl2p1833"mm/memenle" >182e>181"> 263181"> 263 >3unsi46t h>46133491> 2_m5"5earef32__S5Iloops=ef4617oo9ause46t h59rer351&g18mme>381">46t h>461sp394723p. Wenalop>)h9e__9" 5mref31/a><5ef32em18O4618oo9ause46t h59h9"3519"> 2ef=enuma46t h>461sol89=mo9 EI4mref31/a><4ef32em18O4619oo9ause46t h59rer3519g18mme>38mem46t h>461"+c83/a>46203491723p.n_voidech9,alit_e woulkco="_FP_82pdewouoye"uame=56bycod"kco="_FP_82pdewouoy82o+c4182cl2p1833"mm/memenle" >182e>181"> 26346215587181">5"5earef32__S5Iloops=ef4622oo9ause46t h59cbe3522troon"mm/m462 2689=mo9 EI4mref31/a><4ef32em18O46s3oo9ause46wap59cbe352m462aaa8a#endifmo9 EI4mref31/a><4ef32em18O46s4oo9ause46t h59cbe352mem18swap_sUm46t h>4624aa90/a> 8 5ech9" 5mm/sp3clas18e46s5oo9ause46wap5918p3525462in392723p.n_723p.code=__pagSPIi8NULL8e"2ftypknumaImco="_oom_2ftypknae__rup. We woenln FP_82pail/w" 2p1833"mm/memenln FP_82pail/wftyp[]chc181">5"5earef32__S5Iloops=ef4626oo9ause46t h5918p352re17"> >3unsi46t h>46233491723p. We181">5"5earef32__S5Iloops=ef4627oo9ause46mm/59rer352&g18mme>381">46mm/>462sp394723p. We would e.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"usag2_in_bytes"assbatch81">5"5earef32__S5Iloops=ef4628oo9ause46t h59e.a352&g18mme>38mem46t h>462up.92="L>32167" cla2 .> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4629oo9ause46wap59rer3529g18mme>38mem46wap>462_oo9097break8ef=enuma.> 263182_read82o+h81">5"5earef32__S5Iloops=ef463roo9ause46scv59id 353825"mm/mem18e46scv>46303491723p. Weef=enuma.> 263182_usag2_register_ov" p82o+h81">5"5earef32__S5Iloops=ef4631oo9ause46wap59spf3531coup_mm3_ et46wap>46337<86723p. We would e.> 263182_usag2_unregister_ov" p82o+h81">5"5earef32__S5Iloops=ef4632oo9ause46t h59cbe3532troon"mm/m463 2689lagned s}h81">5"5earef32__S5Iloops=ef4633oo9ause4631459rea353m334re/a>46314>463aaa8aaadup. W181">5"5earef32__S5Iloops=ef4634oo9ause46t h5918p353mem18swap_sUm46t h>46333480181"> 2697break8.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"max_usag2_in_bytes"assbatch81">5"5earef32__S5Iloops=ef46s5oo9ause46m/m5972n3535g18m8334re/a46m/m>463in392aagned shor_HEAD.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef46s6oo9ause46t h59463w.m93723p. Welagned s.> 263182_resep82o+h81">5"5earef32__S5Iloops=ef4637oo9ause46mm/59eNU35t ha h8move_si46mm/>463sp394723p. We would e.> 263182_read82o+h81">5"5earef32__S5Iloops=ef4638oo9ause46t h5918p353&g18mme>38mem46t h>4638co8597break8}h81">5"5earef32__S5Iloops=ef4639oo9ause46mm/5989"3538>.e 8ef=QUEU46mm/>4639aa8aaadup. W181">5"5earef32__S5Iloops=ef464roo9ause46t h59cbee54>183class="s346t h>46403491723p. Weef=enuma.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"limit_in_bytes"assbatch81">5"5earef32__S5Iloops=ef4641oo9ause46wap59ght 54a1825"mm/mem146wap>46437<86723p. We would e.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4642oo9ause46t h59L263542troon"mm/m464 2689lagned s97break8.> 263182_wripr82o+h81">5"5earef32__S5Iloops=ef4643oo9ause4631459ef"m543coup_mm3_ et46314>464aaa88aadup. We wold e.> 263182_read82o+h81">5"5earef32__S5Iloops=ef4644oo9ause46t h59ecte544coup_mm3_ et46t h>46433480181"> 26}h81">5"5earef32__S5Iloops=ef46t5oo9ause46m/m59e32e54lass="linefal46m/m>4645aa8aaadup. W181">5"5earef32__S5Iloops=ef4646oo9ause46n c59e>1854r thisce3pryr46n c>464w.m93723p. Welagned s.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"soft_limit_in_bytes"assbatch81">5"5earef32__S5Iloops=ef4647oo9ause46m_w5923="54&g18mme>181">46m_w>464sp394723p. We would e.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4648oo9ause46ss358c#>3548"> 324464up.92="L>32167" cla2 .> 263182_wripr82o+h81">5"5earef32__S5Iloops=ef4649oo9ause46mm/58e.as549g18mme>38mem46mm/>464_oo9097break8ef=enuma.> 263182_read82o+h81">5"5earef32__S5Iloops=ef465roo9ause46meu58" cl55825"mm/mem18e46meu>46503491723p. We}h81">5"5earef32__S5Iloops=ef4651oo9ause46to 58252n55ntroon"mm/m4651aa8aaadup. W181">5"5earef32__S5Iloops=ef4652oo9ause46g1858e>18552troon"mm/m465 2689lagned s97break8.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"failcnt"assbatch81">5"5earef32__S5Iloops=ef46m3oo9ause4631458274u55m465aaa88aadup. We wold e.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4654oo9ause46t h5855mem18swap_sUm46t h>46533480181"> 2697break8.> 263182_resep82o+h81">5"5earef32__S5Iloops=ef4655oo9ause46m/m58567"55mme>181"2 26346m/m>465in392aagned shor_HEAD.> 263182_read82o+h81">5"5earef32__S5Iloops=ef4656oo9ause46ef358mc55>320 46ef3>465w.m93723p. We}h81">5"5earef32__S5Iloops=ef4657oo9ause46m_w58 .as55 ha hlin3 til46m_w>465sp394723p. We181">5"5earef32__S5Iloops=ef4658oo9ause46ss358L263559"> 247<465up.92="L>32167" cla2 .> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"stat"assbatch81">5"5earef32__S5Iloops=ef46m9oo9ause46mm/58__SP559g18mme>38mem46mm/>465_oo9097break8ef=enuma.> 2635"5earef32__S5Iloops=ef466roo9ause46m/m5818pr56825"mm/mem18e46m/m>46603491723p. We}h81">5"5earef32__S5Iloops=ef4661oo9ause46nam5889" 56ntroon"mm/m4661aa8aaadup. W181">5"5earef32__S5Iloops=ef4662oo9ause46g185826pu562troon"mm/m466 2689lagned s97break8.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"force_empty"assbatch81">5"5earef32__S5Iloops=ef4663oo9ause4631458e="L56m466aaa88aadup. We wold e.> 263182_force_emptypwripr82o+h81">5"5earef32__S5Iloops=ef4664oo9ause46t h58ame=56bycode=mem_3246t h>46633480181"> 26}h81">5"5earef32__S5Iloops=ef4665oo9ause46m/m58="L35654665aa8aaadup. W181">5"5earef32__S5Iloops=ef4666oo9ause46ef3586 >3unsi46ef3>466w.m93723p. Welagned s.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"_se_hierarchy"assbatch81">5"5earef32__S5Iloops=ef4667oo9ause46m_w58eNUL56&g18mme>381">46m_w>466sp394723p. We would e.> 263182_hierarchypwripr82o+h81">5"5earef32__S5Iloops=ef4668oo9ause46ss3586on>56&g18mme>38mem46ss3>466up.92="L>32167" cla2 .> 263182_hierarchypread82o+h81">5"5earef32__S5Iloops=ef4669oo9ause46mm/58lass569g18mme>38mem46mm/>466_oo9097break8}h81">5"5earef32__S5Iloops=ef467roo9ause4674670aa8aaadup. W181">5"5earef32__S5Iloops=ef4671oo9ause46__u58h9" 57ntroon"mm/m46737<86723p. We would e.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"swapptross"assbatch81">5"5earef32__S5Iloops=ef4672oo9ause46g1858rere572troon"mm/m467 2689lagned s97break8.> 263182_swapptrosspread82o+h81">5"5earef32__S5Iloops=ef4673oo9ause46"  58rere57m467aaa88aadup. We wold e.> 263182_swapptrosspwripr82o+h81">5"5earef32__S5Iloops=ef4674oo9ause46mm/58rere57bycode=mem_3246mm/>46733480181"> 26}h81">5"5earef32__S5Iloops=ef4675oo9ause46e>158"> 25751>4675aa8aaadup. W181">5"5earef32__S5Iloops=ef4676oo9ause46mo>58.asm57re17"> >3unsi46mo>>467w.m93723p. Welagned s.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"move_charge_at_immigrapr"assbatch81">5"5earef32__S5Iloops=ef4677oo9ause46e>158"> 257="line" 3ame=46e>1>467sp394723p. We would e.> 263182_move_charge_read82o+h81">5"5earef32__S5Iloops=ef4678oo9ause46ss358"> 257&g18mme>38mem46ss3>467up.92="L>32167" cla2 .> 263182_move_charge_wripr82o+h81">5"5earef32__S5Iloops=ef4679oo9ause46nam58spf2579g18mme>38mem46nam>467_oo9097break8}h81">5"5earef32__S5Iloops=ef468roo9ause46wap58spf2589"> 2334re/a>46wap>4680aa8aaadup. W181">5"5earef32__S5Iloops=ef4681oo9ause46wap58spf258ntroon"mm/m46837<86723p. We would e.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"oom_/sp3cla"assbatch81">5"5earef32__S5Iloops=ef4682oo9ause46wap58spf2582troon"mm/m468 2689lagned s97break8.> 263182_oom_/sp3cla_read82o+h81">5"5earef32__S5Iloops=ef4683oo9ause46"  58spf258m468aaa88aadup. We wold e.> 263182_oom_/sp3cla_wripr82o+h81">5"5earef32__S5Iloops=ef4684oo9ause46wap58spf258mem18swap_sUm46wap>46833480181"> 2697break8.> 263182_oom_register_ov" p82o+h81">5"5earef32__S5Iloops=ef4685oo9ause46wap58spf2585468in392aagned shor_HEAD.> 263182_oom_unregister_ov" p82o+h81">5"5earef32__S5Iloops=ef4686oo9ause46mo>58spf258re17"> >3unsi46mo>>468w.m93723p. Welagned s.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4687oo9ause46t h58cbee58&g18mme>381">46t h>4687oo9097break8}h81">5"5earef32__S5Iloops=ef4688oo9ause46ss358cbee58&g18mme>38mem46ss3>4688co85#ifdefecwoul========QUCONFIG_NUMAINVAf,o6" id="LCONFIG_NUMAco8581">5"5earef32__S5Iloops=ef4689oo9ause46t h58cbee589g18mme>38mem46t h>4689aa8aaadup. W181">5"5earef32__S5Iloops=ef469roo9ause46t h58cbee59825"mm/mem18e46t h>46903491723p. Weef=enuma.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"numa_stat"assbatch81">5"5earef32__S5Iloops=ef4691oo9ause46t h58cbee591coup_mm3_ et46t h>46937<86723p. We would e.> 2635"5earef32__S5Iloops=ef4692oo9ause46wap58cbee592troon"mm/m469 2689lagned s}h81">5"5earef32__S5Iloops=ef4693oo9ause46wap58sp3clas18ef178_ooee46wap>469aaa8a#endifmo9 EI4mref31/a><4ef32em18O4694oo9ause46wap5889" 4ecordup. 2e wo46wap>46933480#ifdefecwoul========QUCONFIG_MEMCG_SWAPINVAf,o6" id="LCONFIG_MEMCG_SWAPco8581">5"5earef32__S5Iloops=ef4695oo9ause46wap48spf248mme>181"2 26346wap>4695aa8aaadup. W181">5"5earef32__S5Iloops=ef4696oo9ause46mo>58cbee49>320>469w.m93723p. Welagned s.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"memsw.usag2_in_bytes"assbatch81">5"5earef32__S5Iloops=ef4697oo9ause46t h58cbee49 ha hlin3 til46t h>469sp394723p. We would e.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4698oo9ause46t h58cbee499"> 247<3/a><46t h>469up.92="L>32167" cla2 .> 263182_read82o+h81">5"5earef32__S5Iloops=ef4699oo9ause46t h58spf2499g18mme>38mem46t h>469_oo9097break8ef=enuma.> 263182_usag2_register_ov" p82o+h81">5"5earef32__S5Iloops=ef47proo9ause47proo8spf2499g18mme>38mem47pro>47003491723p. Weef=enuma.> 263182_usag2_unregister_ov" p82o+h81">5"5earef32__S5Iloops=ef47p1oo9ause47p h58cbee591coup_mm3_ et47p h>47037<86723p. We}h81">5"5earef32__S5Iloops=ef47p2oo9ause47pap58cbee592troon"mm/m4702aa8aaadup. W181">5"5earef32__S5Iloops=ef47p3oo9ause47pap58sp3clas18ef178_ooee47pap>470aaa88aadup. We wold e.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"memsw.max_usag2_in_bytes"assbatch81">5"5earef32__S5Iloops=ef47p4oo9ause47pap5889" 4ecordup. 2e wo47pap>47033480181"> 2697break8.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef47p5oo9ause47pap48spf248mme>181"2 26347pap>470in392aagned shor_HEAD.> 263182_resep82o+h81">5"5earef32__S5Iloops=ef47p6oo9ause47po>58cbee49>320>470w.m93723p. Welagned s.> 263182_read82o+h81">5"5earef32__S5Iloops=ef47p7oo9ause47p h58cbee49 ha hlin3 til47p h>4707oo9097break8}h81">5"5earef32__S5Iloops=ef47p8oo9ause47p h58cbee499"> 247<3/a><47p h>4708aa8aaadup. W181">5"5earef32__S5Iloops=ef47p9oo9ause47p h58spf2499g18mme>38mem47p h>470_oo9097break8ef=enuma.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"memsw.limit_in_bytes"assbatch81">5"5earef32__S5Iloops=ef471roo9ause47n c5947103491723p. Weef=enuma.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4711oo9ause47e>159"> 351ntroon"mm/m1>47137<86723p. We would e.> 263182_wripr82o+h81">5"5earef32__S5Iloops=ef4712oo9ause47scv59id 3512troon"mm/m471 2689lagned s97break8.> 263182_read82o+h81">5"5earef32__S5Iloops=ef4713oo9ause47wap59().351m4713oo9097break8}h81">5"5earef32__S5Iloops=ef4714oo9ause47wap59ere351bycode=mem_3247wap>4714aa8aaadup. W181">5"5earef32__S5Iloops=ef4715oo9ause47wap5918p3515471in392aagned shor_HEAD.> 26338" 2p1833"mm/meme>38e>18 hcn2)m_ryeis un723ing">"memsw.failcnt"assbatch81">5"5earef32__S5Iloops=ef4716oo9ause47t h59mm_351re17"> >3unsi47t h>471w.m93723p. Welagned s.> 26318khcnae__rup. We woMEMFILE_PRIVATEftypknumaImco="MEMFILE_PRIVATE82o+c45"5earef32__S5Iloops=ef4717oo9ause47t h59rer351&g18mme>381">47t h>471sp394723p. We would e.> 263182_resep82o+h81">5"5earef32__S5Iloops=ef4718oo9ause47t h59h9"3519"> 2ef=enuma47t h>471up.92="L>32167" cla2 .> 263182_read82o+h81">5"5earef32__S5Iloops=ef4719oo9ause47t h59rer3519g18mme>38mem47t h>471_oo9097break8}h81">5"5earef32__S5Iloops=ef472roo9ause47scv59id 352825"mm/mem18e47scv>47203491#endifmo9 EI4mref31/a><4ef32em18O4721oo9ause47t h59cbe352put" clP224721aa8aaadup. W18}hp. Wc2)m_ryeis undereoom,ass terminapr *eassbatchcname5 inlass="l5nch9" e t4722oo9ause47t h59cbe3522troon"mm/m472 2689=9e__9" 5mref31/a><5ef32em18O47s3oo9ause47wap59cbe352m472aaa90/a> 8 5ech9" 5mm/sp3clas18e47s4oo9ause47t h59cbe352mem18swap_sUm47t h>4724aa90723p.n_nlinlssalrup. We woalloc_enle" >182_per_zon2_infocl2p1833"mm/memalloc_enle" >182_per_zon2_info82o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e47s5oo9ause47wap5918p3525472in392> 2_m5"5earef32__S5Iloops=ef4726oo9ause47t h5918p352re17"> >3unsi47t h>47233491723p. We723p.code=__pagSPIi8NULL8e" >182_per_ne w" 2p1833"mm/memLL8e" >182_per_ne we>181"> 263<5ef32em18O47s7oo9ause47mm/59rer352&g18mme>381">47mm/>472sp394723p. We723p.code=__pagSPIi8NULL8e" >182_per_zon2" 2p1833"mm/memLL8e" >182_per_zon2e>181"> 263<5ef32em18O47s8oo9ause47t h59e.a352&g18mme>38mem47t h>4728co8597break8nlinlssalrup. We wozon2" 2p1833"mm/memzon2e>18he> 263<5ef32em18O47s9oo9ause47wap59rer3529g18mme>38mem47wap>472_oo9097break8c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t473roo9ause47scv59id 353825"mm/mem18e47scv>47303491c2)m_ryeis undereoom,a67" cla2 * This >18t25" is called against possible ee ws.assbatchcname5 inlass="l5nch9" e t4731oo9ause47wap59spf3531coup_mm3_ et47wap>47337<86c2)m_ryeis undereoom,a67" cla2 * But it's BUG to call kmalloc() against off1cou ee w.assbatchcname5 inlass="l5nch9" e t4732oo9ause47t h59cbe3532troon"mm/m473 2689c2)m_ryeis undereoom,a67" cla2 *assbatchcname5 inlass="l5nch9" e t4733oo9ause4731459rea353m334re/a>47314>473aaa8ac2)m_ryeis undereoom,a67" cla2 * TODO: this >18t25" cm_rwaspr much s="ory8agesee ws which will82sbatchcname5 inlass="l5nch9" e t4734oo9ause47t h5918p353mem18swap_sUm47t h>47333480c2)m_ryeis undereoom,a67" cla2 *       never be onlem1d. It's better to use s="ory8hotplug callback82sbatchcname5 inlass="l5nch9" e t4735oo9ause47m/m5972n3535g18m8334re/a47m/m>473in392c2)m_ryeis undereoom,a67" cla2 *       function.assbatchcname5 inlass="l5nch9" e t4736oo9ause47t h59473w.m93c2)m_ryeis undereoom,a67" cla2 *eassbatchcname5 inlass="l5nch9" e t4737oo9ause47mm/59eNU35t ha h8move_si47mm/>473sp394723p. Wecf="u=====QUEUE_2 c"ee w_statw" 2p1833"mm/memee w_statw82o+c4 263 8 5ech9" 5mm/sp3clas18e4738oo9ause47t h5918p353&g18mme>38mem47t h>473up.92="L>32167" cla2 > 263<5ef32em18O4739oo9ause47mm/5989"3538>.e 8ef=QUEU47mm/>473_oo9097break8IT/,arup. We wopopan cf=NULLuetrpo7<80 hcnae__rup. We wokzalloc_ne w" 2p1833"mm/memkzalloc_ne w82o+c4izeof("> 263 263S5Iloops=ef474roo9ause47t h59cbee54>183class="s347t h>47403491723p. Wecf="u=====QUEUE_2 c"popan cf=NULLuetrpo7<80)wou)" 5mref31/a>S5Iloops=ef4741oo9ause47wap59ght 54a1825"mm/mem147wap>47437<86723p. We would enalop>)19e__9" 5mref31/a><5ef32em18O4742oo9ause47t h59L263542troon"mm/m474 2689e__9" 5mref31/a><5ef32em18O4743oo9ause4731459ef"m543coup_mm3_ et47314>474aaa88aadup. Wagesc418 hc0;nlssalrup. We wozon2" 2p1833"mm/memzon2e>18 <nlssalrup. We woMAX_NR_ZONESftypknumaImco="MAX_NR_ZONESsbat9nlssalrup. We wozon2" 2p1833"mm/memzon2e>18++kc> 2_m5"5earef32__S5Iloops=ef4744oo9ause47t h59ecte544coup_mm3_ et47t h>47433480181"> 2697break8> 26318]9e__9" 5mref31/a><5ef32em18O4745oo9ause47m/m59e32e54lass="linefal47m/m>474in392aagned shor_HEADlssalrup. We wolruvec_init82o+cef=enumaImlruvec_init82o+c 26318he 26318]l wou)" 5mref31/a>S5Iloops=ef4746oo9ause47n c59e>1854r thisce3pryr47n c>474w.m93723p. Welagned s/a>18 hc0;wou)" 5mref31/a>S5Iloops=ef4747oo9ause47m_w5923="54&g18mme>181">47m_w>474sp394723p. We would e/a><5ef32em18O4748oo9ause47ss358c#>3548"> 324474up.92="L>32167" cla2 /a><5ef32em18O4749oo9ause47mm/58e.as549g18mme>38mem47mm/>474_oo9097break8=mo9 EI4mref31/a><4ef32em18O475roo9ause47meu58" cl55825"mm/mem18e47meu>47503491723p. Wecwoul========QUenlcgrefef= 263<5ef32em18O4751oo9ause47to 58252n55ntroon"mm/m47537<86723p. Wenalop>)h9e__9" 5mref31/a><5ef32em18O4752oo9ause47g1858e>18552troon"mm/m475 2689=mo9 EI4mref31/a><4ef32em18O47m3oo9ause4731458274u55m475aaa90/a> 8 5ech9" 5mm/sp3clas18e4754oo9ause47t h5855mem18swap_sUm47t h>4754aa90723p.n_voidech9,alit_e woulfre2_enle" >182_per_zon2_infocl2p1833"mm/memfre2_enle" >182_per_zon2_info82o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4755oo9ause47m/m58567"55mme>181"2 26347m/m>475in392> 2_m5"5earef32__S5Iloops=ef4756oo9ause47ef358mc55>320 47ef3>475w.m93723p. Wenae__rup. We wokfre2" 2p1833"mm/memkfre282o+c4 263S5Iloops=ef4757oo9ause47m_w58 .as55 ha hlin3 til47m_w>475sp394=mo9 EI4mref31/a><4ef32em18O47m8oo9ause47ss358L263559"> 247<475up.92mo9 EI4mref31/a><4ef32em18O47m9oo9ause47mm/58__SP559g18mme>38mem47mm/>475_oo90723p.n_723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 263182_alloc" 2p1833"mm/memLL8e" >182_alloc82o+cvoidk/a> 8 5ech9" 5mm/sp3clas18e476roo9ause47m/m5818pr56825"mm/mem18e47m/m>476/aa8a> 2_m5"5earef32__S5Iloops=ef4761oo9ause47nam5889" 56ntroon"mm/m47637<86723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 263S5Iloops=ef4762oo9ause47g185826pu562troon"mm/m476 2689lagned snlinlssalrup. We wo4izerefef=182cl2p1833"mm/memenle" >182e>18l wou)" 5mref31/a>S5Iloops=ef4763oo9ause4731458e="L56m476aaa90/a> 8 5ech9" 5mm/sp3clas18e4764oo9ause47t h58ame=56bycode=mem_3247t h>47633480181"> 26c2)m_ryeis undereoom,ass Cm_rbe very bigecf=MAX_NUMNODES is very bige*eassbatchcname5 inlass="l5nch9" e t4765oo9ause47m/m58="L35654765aa8aaadup. Wcf="lssalrup. We wo4izerefef= >3unsi47ef3>476w.m93723p. Welagned se oupryriscmove4brearefef= 263S5Iloops=ef4767oo9ause47m_w58eNUL56&g18mme>381">47m_w>476sp394723p. Weelsewou)" 5mref31/a><5ef32em18O4768oo9ause47ss3586on>56&g18mme>38mem47ss3>476up.92="L>32167" cla2 e oupryriscmove4brearefef=S5Iloops=ef4769oo9ause47mm/58lass569g18mme>38mem47mm/>476"+c83/a>47703491723p. Wecf="u=====QUEUE_2 c"4brearefef= 8 5ech9" 5mm/sp3clas18e4771oo9ause47__u58h9" 57ntroon"mm/m47737<86723p. We would enalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef4772oo9ause47g1858rere572troon"mm/m477 2689e__9" 5mref31/a><5ef32em18O4773oo9ause47"  58rere57m477aaa88aadup. W4182_stat_cpucl2p1833"mm/memLL8e" >182_stat_cpusbatl wou)" 5mref31/a>S5Iloops=ef4774oo9ause47mm/58rere57bycode=mem_3247mm/>47733480181"> 26cf="u=====QUEUE_2 c"4brearefef= 8 5ech9" 5mm/sp3clas18e4775oo9ause47e>158"> 25751>477in392aagned shor_HEADgotoode=__pagSPIi8NUout_fre2" 2p1833"mm/memout_fre2sbat wou)" 5mref31/a>S5Iloops=ef4776oo9ause47mo>58.asm57re17"> >3unsi47mo>>477w.m93723p. Wenae__rup. We wospinplock_init82o+cef=enumaImspinplock_init82o+c 263S5Iloops=ef4777oo9ause47e>158"> 257="line" 3ame=47e>1>477sp394723p. Wenalop>) 263"rup. We woco=earefef=S5Iloops=ef4778oo9ause47ss358"> 257&g18mme>38mem47ss3>477up.92mo9 EI4mref31/a><4ef32em18O4779oo9ause47nam58spf2579g18mme>38mem47nam>477_oo90de=__pagSPIi8NUout_fre2" 2p1833"mm/memout_fre2sbat:mo9 EI4mref31/a><4ef32em18O478roo9ause47wap58spf2589"> 2334re/a>47wap>47803491723p. Wecf="lssalrup. We wo4izerefef=47837<86723p. We would enae__rup. We wokfre2" 2p1833"mm/memkfre282o+c4S5Iloops=ef4782oo9ause47wap58spf2582troon"mm/m478 2689lagned selsewou)" 5mref31/a><5ef32em18O4783oo9ause47"  58spf258m478aaa88aadup. We wold enae__rup. We wovfre2" 2p1833"mm/memvfre282o+c4S5Iloops=ef4784oo9ause47wap58spf258mem18swap_sUm47wap>47833480181"> 26nalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef4785oo9ause47wap58spf2585478in392=mo9 EI4mref31/a><4ef32em18O4786oo9ause47mo>58spf258re17"> >3unsi47mo>>478w.m93mo9 EI4mref31/a><4ef32em18O4787oo9ause47t h58cbee58&g18mme>381">47t h>4787oo90c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t4788oo9ause47ss358cbee58&g18mme>38mem47ss3>4788co85c2)m_ryeis undereoom,a6* HelpersWagesfre2ing a kmalloc()ed/vzalloc()ed LL8e" >182 by RCU,assbatchcname5 inlass="l5nch9" e t4789oo9ause47t h58cbee589g18mme>38mem47t h>4789aa8ac2)m_ryeis undereoom,a6* but in process l5ncext.  The work_fre2ing 447903491c2)m_ryeis undereoom,a6* on the rcu_fre2ing 447937<86c2)m_ryeis undereoom,a6*eassbatchcname5 inlass="l5nch9" e t4792oo9ause47wap58cbee592troon"mm/m479 2689723p.n_voidech9,alit_e woulfre2_workcl2p1833"mm/memfre2_work82o+c4181"> 263 8 5ech9" 5mm/sp3clas18e4793oo9ause47wap58sp3clas18ef178_ooee47wap>479aaa8a> 2_m5"5earef32__S5Iloops=ef4794oo9ause47wap5889" 4ecordup. 2e wo47wap>47933480181"> 26723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 263S5Iloops=ef4795oo9ause47wap48spf248mme>181"2 26347wap>4795aa8aaadup. Wnlinlssalrup. We wo4izerefef=182cl2p1833"mm/memenle" >182e>18l wou)" 5mref31/a>S5Iloops=ef4796oo9ause47mo>58cbee49>320>479w.m93mo9 EI4mref31/a><4ef32em18O4797oo9ause47t h58cbee49 ha hlin3 til47t h>479sp394723p. Wee oupryriscmove4brearefef=182cl2p1833"mm/memenle" >182e>18he> 26318l wou)" 5mref31/a>S5Iloops=ef4798oo9ause47t h58cbee499"> 247<3/a><47t h>479up.92="L>3216c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t4799oo9ause47t h58spf2499g18mme>38mem47t h>4799aa8ac2)m_ryeis undereoom,a666666666* We need toomake sur" that (at least8ageseew), the jump label82sbatchcname5 inlass="l5nch9" e t48proo9ause48proo8spf2499g18mme>38mem48pro>48003491c2)m_ryeis undereoom,a67" cla2 * dewouuction sp32 runs outsi32 of the " >182 lock. This is becaus2sbsbatchcname5 inlass="l5nch9" e t48p1oo9ause48p h58cbee591coup_mm3_ et48p h>48037<86c2)m_ryeis undereoom,a67" cla2 * get_onlem1_cpus(), which is called from the 723p.n_branch update,assbatchcname5 inlass="l5nch9" e t48p2oo9ause48pap58cbee592troon"mm/m480 2689c2)m_ryeis undereoom,a67" cla2 * cm_'trbe called insi32 the " >182_lock. cpusets ar2 the on2w7480aaa8ac2)m_ryeis undereoom,a67" cla2 * enforcing this dependencyhewoecf=they ever chang", we might as well.assbatchcname5 inlass="l5nch9" e t48p4oo9ause48pap5889" 4ecordup. 2e wo48pap>48033480c2)m_ryeis undereoom,a67" cla2 *assbatchcname5 inlass="l5nch9" e t48p5oo9ause48pap48spf248mme>181"2 26348pap>480in392c2)m_ryeis undereoom,a67" cla2 * schedul2_work() will guarantee this happens. Be cae5 ulecf=you needassbatchcname5 inlass="l5nch9" e t48p6oo9ause48po>58cbee49>320>480w.m93c2)m_ryeis undereoom,a67" cla2 * toomove this sp32 a>18nd, andomake sur" it is outsi32assbatchcname5 inlass="l5nch9" e t48p7oo9ause48p h58cbee49 ha hlin3 til48p h>4807oo90c2)m_ryeis undereoom,a67" cla2 * the " >182_lock.assbatchcname5 inlass="l5nch9" e t48p8oo9ause48p h58cbee499"> 247<3/a><48p h>4808co85c2)m_ryeis undereoom,a67" cla2 *eassbatchcname5 inlass="l5nch9" e t48p9oo9ause48p h58spf2499g18mme>38mem48p h>480_oo9097break8IT/,arup. We wodisarm_sock_keyscl2p1833"mm/memdisarm_sock_keys82o+c4S5Iloops=ef481roo9ause48n c5948103491723p. Wecf="lssalrup. We wo4izerefef=159"> 351ntroon"mm/m1>48137<86723p. We would enae__rup. We wokfre2" 2p1833"mm/memkfre282o+c4S5Iloops=ef4812oo9ause48scv59id 3512troon"mm/m481 2689lagned selsewou)" 5mref31/a><5ef32em18O4813oo9ause48wap59().351m481aaa88aadup. We wold enae__rup. We wovfre2" 2p1833"mm/memvfre282o+c4S5Iloops=ef4814oo9ause48wap59ere351bycode=mem_3248wap>4814aa8a=mo9 EI4mref31/a><4ef32em18O4815oo9ause48wap5918p3515481in392mo9 EI4mref31/a><4ef32em18O4816oo9ause48t h59mm_351re17"> >3unsi48t h>481w.m93723p.n_voidech9,alit_e woulfre2_rcucl2p1833"mm/memfre2_rcu82o+c4181"> 26318k/a> 8 5ech9" 5mm/sp3clas18e4817oo9ause48t h59rer351&g18mme>381">48t h>481sp394> 2_m5"5earef32__S5Iloops=ef4818oo9ause48t h59h9"3519"> 2ef=enuma48t h>481up.92="L>3216723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 263S5Iloops=ef4819oo9ause48t h59rer3519g18mme>38mem48t h>481"+c83/a>48203491723p. Wecwoul========QUenlcgrefef=18hewou,ecode=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>18he> 26318l wou)" 5mref31/a>S5Iloops=ef4821oo9ause48t h59cbe352put" clP224821aa8aaadup. W> 26318he> 263S5Iloops=ef4822oo9ause48t h59cbe3522troon"mm/m4822aa8aaadup. W> 26318l wou)" 5mref31/a>S5Iloops=ef4823oo9ause48wap59cbe352m482aaa90=mo9 EI4mref31/a><4ef32em18O48s4oo9ause48t h59cbe352mem18swap_sUm48t h>4824aa90mo9 EI4mref31/a><4ef32em18O48s5oo9ause48wap5918p3525482in392c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t4826oo9ause48t h5918p352re17"> >3unsi48t h>482w.m93c2)m_ryeis undereoom,a6* At dewouoying enle" >182, e5 erences from swape" >182 cm_rremaha.assbatchcname5 inlass="l5nch9" e t48s7oo9ause48mm/59rer352&g18mme>381">48mm/>4827oo90c2)m_ryeis undereoom,a6* (scm_ning all at8agece_empty is too spstly...)assbatchcname5 inlass="l5nch9" e t48s8oo9ause48t h59e.a352&g18mme>38mem48t h>4828co85c2)m_ryeis undereoom,a6*assbatchcname5 inlass="l5nch9" e t48s9oo9ause48wap59rer3529g18mme>38mem48wap>4829aa8ac2)m_ryeis undereoom,a6* Instead of clearing all e5 erences at8agece_empty, we remember82sbatchcname5 inlass="l5nch9" e t483roo9ause48scv59id 353825"mm/mem18e48scv>48303491c2)m_ryeis undereoom,a6* the number of e5 erence from swape" >182 andofre2 LL8e" >182 when82sbatchcname5 inlass="l5nch9" e t4831oo9ause48wap59spf3531coup_mm3_ et48wap>48337<86c2)m_ryeis undereoom,a6* it goes down too0.assbatchcname5 inlass="l5nch9" e t4832oo9ause48t h59cbe3532troon"mm/m483 2689c2)m_ryeis undereoom,a6*assbatchcname5 inlass="l5nch9" e t4833oo9ause4831459rea353m334re/a>48314>483aaa8ac2)m_ryeis undereoom,a6* Removal of c >182 itself succeeds e5gardless of e5 s from swap.assbatchcname5 inlass="l5nch9" e t4834oo9ause48t h5918p353mem18swap_sUm48t h>48333480c2)m_ryeis undereoom,a6*eassbatchcname5 inlass="l5nch9" e t4835oo9ause48m/m5972n3535g18m8334re/a48m/m>483in392mo9 EI4mref31/a><4ef32em18O4836oo9ause48t h59483w.m93723p.n_voidech9,alit_e woul__enle" >182_fre2" 2p1833"mm/mem__enle" >182_fre282o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4837oo9ause48mm/59eNU35t ha h8move_si48mm/>483sp394> 2_m5"5earef32__S5Iloops=ef4838oo9ause48t h5918p353&g18mme>38mem48t h>4838co8597break8nlinlssalrup. We wone w" 2p1833"mm/memee wsbat9e__9" 5mref31/a><5ef32em18O4839oo9ause48mm/5989"3538>.e 8ef=QUEU48mm/>483"+c83/a>48403491723p. Wecwoul========QUenle" >182_remove_from_tre2scl2p1833"mm/memenle" >182_remove_from_tre2s82o+c4S5Iloops=ef4841oo9ause48wap59ght 54a1825"mm/mem148wap>4841aa8aaadup. W> 263182_subsyscl2p1833"mm/mem1bre" >182_subsyse>18he 26318l wou)" 5mref31/a>S5Iloops=ef4842oo9ause48t h59L263542troon"mm/m484 2689e__9" 5mref31/a><5ef32em18O4843oo9ause4831459ef"m543coup_mm3_ et48314>484aaa88aadup. W4 8 5ech9" 5mm/sp3clas18e4844oo9ause48t h59ecte544coup_mm3_ et48t h>48433480181"> 2697break8> 263182_per_zon2_infocl2p1833"mm/memfre2_enle" >182_per_zon2_info82o+c/a> 263S5Iloops=ef4845oo9ause48m/m59e32e54lass="linefal48m/m>484in392mo9 EI4mref31/a><4ef32em18O4846oo9ause48n c59e>1854r thisce3pryr48n c>484w.m93723p. Wenae__rup. We wofre2_percpucl2p1833"mm/memfre2_percpu82o+c/a>S5Iloops=ef4847oo9ause48m_w5923="54&g18mme>181">48m_w>484sp394723p. Wee oupryriscmovecall_rcucl2p1833"mm/memcall_rcu82o+c 26318he> 263S5Iloops=ef4848oo9ause48ss358c#>3548"> 324484up.92=mo9 EI4mref31/a><4ef32em18O4849oo9ause48mm/58e.as549g18mme>38mem48mm/>484"+c83/a>48503491723p.n_voidech9,alit_e woulenle" >182_gepcl2p1833"mm/memenle" >182_gep82o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4851oo9ause48to 58252n55ntroon"mm/m48537<86> 2_m5"5earef32__S5Iloops=ef4852oo9ause48g1858e>18552troon"mm/m4852aa8aaadup. W> 263S5Iloops=ef48m3oo9ause4831458274u55m485aaa90=mo9 EI4mref31/a><4ef32em18O4854oo9ause48t h5855mem18swap_sUm48t h>4854aa90mo9 EI4mref31/a><4ef32em18O4855oo9ause48m/m58567"55mme>181"2 26348m/m>485in392723p.n_voidech9,alit_e woul__enle" >182_pupcl2p1833"mm/mem__enle" >182_pup82o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4856oo9ause48ef358mc55>320 48ef3>485w.m93> 2_m5"5earef32__S5Iloops=ef4857oo9ause48m_w58 .as55 ha hlin3 til48m_w>485sp394723p. Wecf="> 263 2_m5"5earef32__S5Iloops=ef48m8oo9ause48ss358L263559"> 247<485up.92="L>32167" cla2 4182cl2p1833"mm/memenle" >182e>181"> 263182cl2p1833"mm/mempar" p_LL8e" >18282o+c4S5Iloops=ef48m9oo9ause48mm/58__SP559g18mme>38mem48mm/>485_oo9097break8ef=enumach9,alit_e woul__enle" >182_fre2" 2p1833"mm/mem__enle" >182_fre282o+c4S5Iloops=ef486roo9ause48m/m5818pr56825"mm/mem18e48m/m>48603491723p. Weef=enumacf="> 263 8 5ech9" 5mm/sp3clas18e4861oo9ause48nam5889" 56ntroon"mm/m48637<86723p. We would e723p. Wecwoul========QUenle" >182_pupcl2p1833"mm/memenle" >182_pup82o+c> 263S5Iloops=ef4862oo9ause48g185826pu562troon"mm/m486 2689lagned s=mo9 EI4mref31/a><4ef32em18O4863oo9ause4831458e="L56m486aaa90=mo9 EI4mref31/a><4ef32em18O4864oo9ause48t h58ame=56bycode=mem_3248t h>4864aa90mo9 EI4mref31/a><4ef32em18O4865oo9ause48m/m58="L3565486in392723p.n_voidech9,alit_e woulenle" >182_pupcl2p1833"mm/memenle" >182_pup82o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4866oo9ause48ef3586 >3unsi48ef3>486w.m93> 2_m5"5earef32__S5Iloops=ef4867oo9ause48m_w58eNUL56&g18mme>381">48m_w>486sp394723p. Wee oupryriscmove__enle" >182_pupcl2p1833"mm/mem__enle" >182_pup82o+c> 263S5Iloops=ef4868oo9ause48ss3586on>56&g18mme>38mem48ss3>486up.92=mo9 EI4mref31/a><4ef32em18O4869oo9ause48mm/58lass569g18mme>38mem48mm/>486"+c83/a>48703491c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t4871oo9ause48__u58h9" 57ntroon"mm/m48737<86c2)m_ryeis undereoom,a6* Ralop>s the par" p LL8e" >182 in mem" >182 hierarchy with hierarchy enabled.assbatchcname5 inlass="l5nch9" e t4872oo9ause48g1858rere572troon"mm/m487 2689c2)m_ryeis undereoom,a6*eassbatchcname5 inlass="l5nch9" e t4873oo9ause48"  58rere57m487aaa884182cl2p1833"mm/memenle" >182e>181"> 263182cl2p1833"mm/mempar" p_LL8e" >18282o+c4182cl2p1833"mm/memenle" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e4874oo9ause48mm/58rere57bycode=mem_3248mm/>48733480> 2_m5"5earef32__S5Iloops=ef4875oo9ause48e>158"> 25751>487in392aagned scf="u=====QUEUE_2 c"4brearefef= 263 8 5ech9" 5mm/sp3clas18e4876oo9ause48mo>58.asm57re17"> >3unsi48mo>>487w.m93723p. Welagned snalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef4877oo9ause48e>158"> 257="line" 3ame=48e>1>487sp394723p. Wenalop>) 263"rup. We woco=e" >182_from_res_countercl2p1833"mm/memenle" >182_from_res_counter82o+c/a> 263 263S5Iloops=ef4878oo9ause48ss358"> 257&g18mme>38mem48ss3>487up.92=mo9 EI4mref31/a><4ef32em18O4879oo9ause48nam58spf2579g18mme>38mem48nam>487_oo90de=__pagSPIi8NUEXPORT_SYMBOmINVAf,o6" id="LEXPORT_SYMBOm82o+c> 263182cl2p1833"mm/mempar" p_LL8e" >18282o+k wou)" 5mref31/a>S5Iloops=ef488roo9ause48wap58spf2589"> 2334re/a>48wap>48803491wou)" 5mref31/a>S5Iloops=ef4881oo9ause48wap58spf258ntroon"mm/m48837<86#ifdefecwoul========QUCONFIG_MEMCG_SWAPINVAf,o6" id="LCONFIG_MEMCG_SWAPco8581">5"5earef32__S5Iloops=ef4882oo9ause48wap58spf2582troon"mm/m488 2689723p.n_voidech9,alit_e woul__init82o+cef=enumaIm__init82o+ech9,alit_e woulenable_swape" >18282o+cef=enumaImenable_swape" >18282o+cvoidk/a> 8 5ech9" 5mm/sp3clas18e4883oo9ause48"  58spf258m488aaa8a> 2_m5"5earef32__S5Iloops=ef4884oo9ause48wap58spf258mem18swap_sUm48wap>48833480181"> 26cf="u=====QUEUE_2 c"4bre" >182_disabledcl2p1833"mm/memenle" >182_disabled82o+c)e 263< 263 263 8 5ech9" 5mm/sp3clas18e4885oo9ause48wap58spf2585488in392aagned shor_HEADlssalrup. We wodo_swapeaccountrefef=<5ef32em18O4886oo9ause48mo>58spf258re17"> >3unsi48mo>>488w.m93=mo9 EI4mref31/a><4ef32em18O4887oo9ause48t h58cbee58&g18mme>381">48t h>4887oo90#elsewou)" 5mref31/a><5ef32em18O4888oo9ause48ss358cbee58&g18mme>38mem48ss3>4888co85723p.n_voidech9,alit_e woul__init82o+cef=enumaIm__init82o+ech9,alit_e woulenable_swape" >18282o+cef=enumaImenable_swape" >18282o+cvoidk/a> 8 5ech9" 5mm/sp3clas18e4889oo9ause48t h58cbee589g18mme>38mem48t h>4889aa8a> 2_m5"5earef32__S5Iloops=ef489roo9ause48t h58cbee59825"mm/mem18e48t h>48903491=mo9 EI4mref31/a><4ef32em18O4891oo9ause48t h58cbee591coup_mm3_ et48t h>48937<86#endifmo9 EI4mref31/a><4ef32em18O4892oo9ause48wap58cbee592troon"mm/m489 2689e__9" 5mref31/a><5ef32em18O4893oo9ause48wap58sp3clas18ef178_ooee48wap>4893co85723p.n_nlinlssalrup. We wo1bre" >182_soft_limit_tre2_init82o+cef=enumaIm1bre" >182_soft_limit_tre2_init82o+cvoidk/a> 8 5ech9" 5mm/sp3clas18e4894oo9ause48wap5889" 4ecordup. 2e wo48wap>48933480> 2_m5"5earef32__S5Iloops=ef4895oo9ause48wap48spf248mme>181"2 26348wap>4895aa8aaadup. W4182_tre2_per_ne w" 2p1833"mm/memLL8e" >182_tre2_per_ne we>181"> 263S5Iloops=ef4896oo9ause48mo>58cbee49>320>48933491723p. We723p.code=__pagSPIi8NULL8e" >182_tre2_per_zon2" 2p1833"mm/memLL8e" >182_tre2_per_zon2e>181"> 263S5Iloops=ef4897oo9ause48t h58cbee49 ha hlin3 til48t h>489sp394723p. Wenlinlssalrup. We wotm2pan cf=NULLuetrtm2sbathe> 263 26318 wou)" 5mref31/a>S5Iloops=ef4898oo9ause48t h58cbee499"> 247<3/a><48t h>489up.92mo9 EI4mref31/a><4ef32em18O4899oo9ause48t h58spf2499g18mme>38mem48t h>489_oo9097break8IT/,arup. We woage_each_ne w" 2p1833"mm/memage_each_ne w82o+c4 2_m5"5earef32__S5Iloops=ef49proo9ause49proo8spf2499g18mme>38mem49pro>49003491723p. Weef=enumalssalrup. We wotm2pan cf=NULLuetrtm2sbat hcnae__rup. We wone w" 2p1833"mm/memee wsbat9e__9" 5mref31/a><5ef32em18O49p1oo9ause49p h58cbee591coup_mm3_ et49p h>49037<86723p. We would ecf="u=====QUEUE_2 c"ee w_statw" 2p1833"mm/memee w_statw82o+c4 263 8 5ech9" 5mm/sp3clas18e49p2oo9ause49pap58cbee592troon"mm/m490 2689lagned s97break8ef=enumalssalrup. We wotm2pan cf=NULLuetrtm2sbat hc-19e__9" 5mref31/a><5ef32em18O49p3oo9ause49pap58sp3clas18ef178_ooee49pap>490aaa88aadup. We wold enae__rup. We wortpopan cf=NULLuetrrtposbat hcnae__rup. We wokzalloc_ne w" 2p1833"mm/memkzalloc_ne w82o+c4izeof("> 263 263S5Iloops=ef49p4oo9ause49pap5889" 4ecordup. 2e wo49pap>49033480181"> 2697break8cf="u=====QUEUE_2 c"rtpopan cf=NULLuetrrtposbat)wou)" 5mref31/a>S5Iloops=ef49p5oo9ause49pap48spf248mme>181"2 26349pap>490in392aagned shor_HEADDDDDDDDDgotoode=__pagSPIi8NUerr_clean8282o+cef=enumaImerr_clean82sbat9e__9" 5mref31/a><5ef32em18O49p6oo9ause49po>58cbee49>320>490w.m93mo9 EI4mref31/a><4ef32em18O49p7oo9ause49p h58cbee49 ha hlin3 til49p h>490sp394723p. We would e/a> 263S5Iloops=ef49p8oo9ause49p h58cbee499"> 247<3/a><49p h>490up.92mo9 EI4mref31/a><4ef32em18O49p9oo9ause49p h58spf2499g18mme>38mem49p h>490_oo9097break8ef=enumaagesc418 hc0;nlssalrup. We wozon2" 2p1833"mm/memzon2e>18 <nlssalrup. We woMAX_NR_ZONESftypknumaImco="MAX_NR_ZONESsbat9nlssalrup. We wozon2" 2p1833"mm/memzon2e>18++kc> 2_m5"5earef32__S5Iloops=ef491roo9ause49n c5949103491723p. Weef=enumae wold enae__rup. We wortpz" 2p1833"mm/memrtpzsbat hc 26318]9e__9" 5mref31/a><5ef32em18O4911oo9ause49e>159"> 351ntroon"mm/m1>49137<86723p. We would ee wold enae__rup. We wortpz" 2p1833"mm/memrtpzsbatERNE/e oupryriscmoverb_rootrefef=S5Iloops=ef4912oo9ause49scv59id 3512troon"mm/m491 2689lagned s97break8ef=enumalssalrup. We wospinplock_init82o+cef=enumaImspinplock_init82o+c 263S5Iloops=ef4913oo9ause49wap59().351m491aaa88aadup. We wold e=mo9 EI4mref31/a><4ef32em18O4914oo9ause49wap59ere351bycode=mem_3249wap>49133480181"> 26=mo9 EI4mref31/a><4ef32em18O4915oo9ause49wap5918p3515491in392aagned snalop>)h9e__9" 5mref31/a><5ef32em18O4916oo9ause49t h59mm_351re17"> >3unsi49t h>491w.m93mo9 EI4mref31/a><4ef32em18O4917oo9ause49t h59rer351&g18mme>381">49t h>491sp394de=__pagSPIi8NUerr_clean8282o+cef=enumaImerr_clean82sbat:mo9 EI4mref31/a><4ef32em18O4918oo9ause49t h59h9"3519"> 2ef=enuma49t h>491up.92="L>3216IT/,arup. We woage_each_ne w" 2p1833"mm/memage_each_ne w82o+c4 2_m5"5earef32__S5Iloops=ef4919oo9ause49t h59rer3519g18mme>38mem49t h>491_oo9097break8ef=enumacf="u=====QUEUE_2 c"soft_limit_tre282o+cef=enumaImsoft_limit_tre282o+.> 263S5Iloops=ef492roo9ause49scv59id 352825"mm/mem18e49scv>49203491723p. Weef=enumae wold ebreak9e__9" 5mref31/a><5ef32em18O4921oo9ause49t h59cbe352put" clP2249237<86723p. We would enae__rup. We wokfre2" 2p1833"mm/memkfre282o+c4 263<5ef32em18O4922oo9ause49t h59cbe3522troon"mm/m492 2689lagned s97break84 263S5Iloops=ef4923oo9ause49wap59cbe352m49233480181"> 26=mo9 EI4mref31/a><4ef32em18O49s4oo9ause49t h59cbe352mem18swap_sUm49t h>49233480181"> 26nalop>)19e__9" 5mref31/a><5ef32em18O49s5oo9ause49wap5918p3525492in392mo9 EI4mref31/a><4ef32em18O4926oo9ause49t h5918p352re17"> >3unsi49t h>492w.m93=mo9 EI4mref31/a><4ef32em18O49s7oo9ause49mm/59rer352&g18mme>381">49mm/>4927oo90mo9 EI4mref31/a><4ef32em18O49s8oo9ause49t h59e.a352&g18mme>38mem49t h>4928co85723p.n_723p.code=__pagSPIi8NU" >182_subsys_statw" 2p1833"mm/mem" >182_subsys_statwe>181"ech9,alit_e woul__m/me2o+cef=enumaIm__umaoo90mo9 EI4mref31/a><4ef32em18O49s9oo9ause49wap59rer3529g18mme>38mem49wap>492_oo90de=__pagSPIi8NULL8e" >182_creatw" 2p1833"mm/memLL8e" >182_creatw82o+c423p.code=__pagSPIi8NU" >182" 2p1833"mm/mem" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e493roo9ause49scv59id 353825"mm/mem18e49scv>493/aa8a> 2_m5"5earef32__S5Iloops=ef4931oo9ause49wap59spf3531coup_mm3_ et49wap>49337<86723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/memenle" >182e>181"> 263 263<5ef32em18O4932oo9ause49t h59cbe3532troon"mm/m493 2689lagned slongode=__pagSPIi8NUerrorcl2p1833"mm/memerrorsbat hc-de=__pagSPIi8NUENOMEMINVAf,o6" id="LENOMEMsbat9e__9" 5mref31/a><5ef32em18O4933oo9ause4931459rea353m334re/a>49314>49333480181"> 26nlinlssalrup. We wone w" 2p1833"mm/memee wsbat9e__9" 5mref31/a><5ef32em18O4934oo9ause49t h5918p353mem18swap_sUm49t h>4934aa90mo9 EI4mref31/a><4ef32em18O4935oo9ause49m/m5972n3535g18m8334re/a49m/m>493in392aagned s> 263182_alloc" 2p1833"mm/memLL8e" >182_alloc82o+c)9e__9" 5mref31/a><5ef32em18O4936oo9ause49t h5949333491723p. Wecf="u=====QUEUE_2 c"4brearefef= 8 5ech9" 5mm/sp3clas18e4937oo9ause49mm/59eNU35t ha h8move_si49mm/>493sp394723p. We would enalop>) 263"rup. We woERR_PTRINVAf,o6" id="LERR_PTR82o+c4<5ef32em18O4938oo9ause49t h5918p353&g18mme>38mem49t h>493up.92mo9 EI4mref31/a><4ef32em18O4939oo9ause49mm/5989"3538>.e 8ef=QUEU49mm/>493_oo9097break8IT/,arup. We woage_each_ne w" 2p1833"mm/memage_each_ne w82o+c4<4ef32em18O494roo9ause49t h59cbee54>183class="s349t h>49403491723p. Weef=enumacf="> 263182_per_zon2_infocl2p1833"mm/memalloc_enle" >182_per_zon2_info82o+c4<4ef32em18O4941oo9ause49wap59ght 54a1825"mm/mem149wap>49437<86723p. We would ee wold egotoode=__pagSPIi8NUfre2_oupcl2p1833"mm/memfre2_oupsbat9e__9" 5mref31/a><5ef32em18O4942oo9ause49t h59L263542troon"mm/m494 2689e__9" 5mref31/a><5ef32em18O4943oo9ause4931459ef"m543coup_mm3_ et49314>494aaa88aadup. W42)m_ryeis undereoom,ass root ?6*eassbatchcname5 inlass="l5nch9" e t4944oo9ause49t h59ecte544coup_mm3_ et49t h>49433480181"> 26cf="> 263494in392aagned shor_HEADnlinlssalrup. We wocpucl2p1833"mm/memcpu82o+9e__9" 5mref31/a><5ef32em18O4946oo9ause49n c59e>1854r thisce3pryr49n c>494w.m93723p. Welagned se oupryriscmoveenable_swape" >18282o+cef=enumaImenable_swape" >18282o+c)9e__9" 5mref31/a><5ef32em18O4947oo9ause49m_w5923="54&g18mme>181">49m_w>494sp394723p. We would e/a>S5Iloops=ef4948oo9ause49ss358c#>3548"> 324494up.92="L>32167" cla2 cf="> 263182_soft_limit_tre2_init82o+cef=enumaIm1bre" >182_soft_limit_tre2_init82o+ckkmo9 EI4mref31/a><4ef32em18O4949oo9ause49mm/58e.as549g18mme>38mem49mm/>494_oo9097break8ef=enumae wold egotoode=__pagSPIi8NUfre2_oupcl2p1833"mm/memfre2_oupsbat9e__9" 5mref31/a><5ef32em18O495roo9ause49meu58" cl55825"mm/mem18e49meu>49503491723p. Weef=enumalssalrup. We woroot_LL8e" >182cl2p1833"mm/memroot_LL8e" >182sbat hcnae__rup. We woenlearefef=S5Iloops=ef4951oo9ause49to 58252n55ntroon"mm/m49537<86723p. We would enae__rup. We woage_each_possible_cpucl2p1833"mm/memfge_each_possible_cpu82o+c4 2_m5"5earef32__S5Iloops=ef4952oo9ause49g1858e>18552troon"mm/m495 2689lagned s97break8ef=enuma723p.code=__pagSPIi8NULL8cg_stock_pc2cl2p1833"mm/memenlcg_stock_pc2e>181"> 263495aaa88aadup. We wold eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 263S5Iloops=ef4954oo9ause49t h5855mem18swap_sUm49t h>49533480181"> 2697break8 would enae__rup. We woINIT_WORKcl2p1833"mm/memINIT_WORK82o+c 263S5Iloops=ef4955oo9ause49m/m58567"55mme>181"2 26349m/m>495in392aagned shor_HEAD=mo9 EI4mref31/a><4ef32em18O4956oo9ause49ef358mc55>320 49ef3>495w.m93723p. Welagned se oupryriscmovehotcpu_netifiercl2p1833"mm/memhotcpu_netifier82o+c4S5Iloops=ef4957oo9ause49m_w58 .as55 ha hlin3 til49m_w>495sp394723p. We}selsec> 2_m5"5earef32__S5Iloops=ef4958oo9ause49ss358L263559"> 247<495up.92="L>32167" cla2 /a>182_from_<4ef" 2p1833"mm/memenle" >182_from_<4ef82o+c4S5Iloops=ef4959oo9ause49mm/58__SP559g18mme>38mem49mm/>495_oo9097break8ef=enumach9,alit_e woul1brearefef=S5Iloops=ef496roo9ause49m/m5818pr56825"mm/mem18e49m/m>49603491723p. Weef=enumach9,alit_e woul1brearefef=S5Iloops=ef4961oo9ause49nam5889" 56ntroon"mm/m49637<86723p. We=mo9 EI4mref31/a><4ef32em18O4962oo9ause49g185826pu562troon"mm/m496 2689e__9" 5mref31/a><5ef32em18O4963oo9ause4931458e="L56m49633480181"> 26nf="> 263 263 2_m5"5earef32__S5Iloops=ef4964oo9ause49t h58ame=56bycode=mem_3249t h>49633480181"> 2697break8> 263S5Iloops=ef4965oo9ause49m/m58="L3565496in392aagned shor_HEADlssalrup. We wores_counter_init82o+cef=enumaImres_counter_init82o+c 263S5Iloops=ef4966oo9ause49ef3586 >3unsi49ef3>496w.m93723p. Welagned se2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t4967oo9ause49m_w58eNUL56&g18mme>381">49m_w>4967oo90c2)m_ryeis undereoom,a67" cla2         * We increment e5 cnt of the par" p to ensur" that we can82sbatchcname5 inlass="l5nch9" e t4968oo9ause49ss3586on>56&g18mme>38mem49ss3>4968co85c2)m_ryeis undereoom,a67" cla2         * safely access it on res_counter_charge/uncharge.assbatchcname5 inlass="l5nch9" e t4969oo9ause49mm/58lass569g18mme>38mem49mm/>4969aa8ac2)m_ryeis undereoom,a666666666        * This e5 cnt will be decremented whensfre2ing thisassbatchcname5 inlass="l5nch9" e t497roo9ause49749703491c2)m_ryeis undereoom,a666666666        * enle" >182(se2 LL8e" >182_pup).assbatchcname5 inlass="l5nch9" e t4971oo9ause49__u58h9" 57ntroon"mm/m49737<86c2)m_ryeis undereoom,a666666666        *eassbatchcname5 inlass="l5nch9" e t4972oo9ause49g1858rere572troon"mm/m497 2689lagned s97break84182_gepcl2p1833"mm/memenle" >182_gep82o+ce oupryriscmovepar" pcl2p1833"mm/mempar" psbatk wou)" 5mref31/a>S5Iloops=ef4973oo9ause49"  58rere57m49733480181"> 26=selsec> 2_m5"5earef32__S5Iloops=ef4974oo9ause49mm/58rere57bycode=mem_3249mm/>49733480181"> 2697break8> 263S5Iloops=ef4975oo9ause49e>158"> 25751>497in392aagned shor_HEADlssalrup. We wores_counter_init82o+cef=enumaImres_counter_init82o+c 263S5Iloops=ef4976oo9ause49mo>58.asm57re17"> >3unsi49mo>>497w.m93723p. We=mo9 EI4mref31/a><4ef32em18O4977oo9ause49e>158"> 257="line" 3ame=49e>1>497sp394723p. Wee oupryriscmove1brearefef=S5Iloops=ef4978oo9ause49ss358"> 257&g18mme>38mem49ss3>497up.92="L>3216IT/,arup. We woINIT_LIST_HEADcl2p1833"mm/memINIT_LIST_HEAD82o+c 263S5Iloops=ef4979oo9ause49nam58spf2579g18mme>38mem49nam>497"+c83/a> 2334re/a>49wap>49803491723p. Wecf="lssalrup. We wopar" pcl2p1833"mm/mempar" psbatk/a> 8 5ech9" 5mm/sp3clas18e4981oo9ause49wap58spf258ntroon"mm/m49837<86723p. We would enae__rup. We wo1brearefef=182_swapptrosscl2p1833"mm/memenle" >182_swapptross82o+ce oupryriscmovepar" pcl2p1833"mm/mempar" psbatk wou)" 5mref31/a>S5Iloops=ef4982oo9ause49wap58spf2582troon"mm/m4982aa8aaadup. W> 263S5Iloops=ef4983oo9ause49"  58spf258m498aaa88aadup. W4<5ef32em18O4984oo9ause49wap58spf258mem18swap_sUm49wap>49833480181"> 26e oupryriscmovemutex_init82o+cef=enumaIm1utex_init82o+c 263S5Iloops=ef4985oo9ause49wap58spf2585498in392aagned s> 263S5Iloops=ef4986oo9ause49mo>58spf258re17"> >3unsi49mo>>498w.m93mo9 EI4mref31/a><4ef32em18O4987oo9ause49t h58cbee58&g18mme>381">49t h>498sp394723p. Wee oupryriscmoveerrorcl2p1833"mm/memerrorsbat hc4182_subsyscl2p1833"mm/mem1bre" >182_subsyse>18k wou)" 5mref31/a>S5Iloops=ef4988oo9ause49ss358cbee58&g18mme>38mem49ss3>49883491723p. Wecf="lssalrup. We woerrorcl2p1833"mm/memerrorsbat)c> 2_m5"5earef32__S5Iloops=ef4989oo9ause49t h58cbee589g18mme>38mem49t h>498_oo9097break8ef=enumac2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t499roo9ause49t h58cbee59825"mm/mem18e49t h>49903491c2)m_ryeis undereoom,a666666666        * We call pup now becausecour (andopar" p's) e5 cntsassbatchcname5 inlass="l5nch9" e t4991oo9ause49t h58cbee591coup_mm3_ et49t h>49937<86c2)m_ryeis undereoom,a666666666        * ar" already in place. LL8e" >182_pup() will internallyassbatchcname5 inlass="l5nch9" e t4992oo9ause49wap58cbee592troon"mm/m499 2689c2)m_ryeis undereoom,a666666666        * call __enle" >182_fre2, soenalop>)directlyassbatchcname5 inlass="l5nch9" e t4993oo9ause49wap58sp3clas18ef178_ooee49wap>499aaa8ac2)m_ryeis undereoom,a666666666        *eassbatchcname5 inlass="l5nch9" e t4994oo9ause49wap5889" 4ecordup. 2e wo49wap>49933480181"> 2697break8> 263182_pupcl2p1833"mm/mem1bre" >182_pup82o+c> 263S5Iloops=ef4995oo9ause49wap48spf248mme>181"2 26349wap>499in392aagned shor_HEADnalop>) 263"rup. We woERR_PTRINVAf,o6" id="LERR_PTR82o+c4<5ef32em18O4996oo9ause49mo>58cbee49>320>499w.m93723p. We=mo9 EI4mref31/a><4ef32em18O4997oo9ause49t h58cbee49 ha hlin3 til49t h>499sp394723p. Wenalop>) 263189e__9" 5mref31/a><5ef32em18O4998oo9ause49t h58cbee499"> 247<3/a><49t h>499up.92nae__rup. We woare2_oupcl2p1833"mm/memfre2_oupsbat:mo9 EI4mref31/a><4ef32em18O4999oo9ause49t h58spf2499g18mme>38mem49t h>499_oo9097break8IT/,arup. We wo__enle" >182_fre2" 2p1833"mm/mem__enle" >182_fre282o+c4S5Iloops=ef50proo9ause50proo8spf2499g18mme>38mem50pro>50prp394723p. Wenalop>) 263"rup. We woERR_PTRINVAf,o6" id="LERR_PTR82o+c4ou)" 5mref31/a>S5Iloops=ef50p1oo9ause50p h58cbee591coup_mm3_ et50p h>50p37<86=mo9 EI4mref31/a><4ef32em18O50p2oo9ause50pap58cbee592troon"mm/m50p 2689e__9" 5mref31/a><5ef32em18O50p3oo9ause50pap58sp3clas18ef178_ooee50pap>50p3co85723p.n_nlinlssalrup. We wo1bre" >182_pre_dewouoycl2p1833"mm/mem1bre" >182_pre_dewouoy82o+c423p.code=__pagSPIi8NU" >182" 2p1833"mm/mem" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e50p4oo9ause50pap5889" 4ecordup. 2e wo50pap>50p33480> 2_m5"5earef32__S5Iloops=ef50p5oo9ause50pap48spf248mme>181"2 26350pap>50p5aa8aaadup. W4182cl2p1833"mm/mem1bre" >182e>181"> 263182_from_<4ef" 2p1833"mm/memenle" >182_from_<4ef82o+c4S5Iloops=ef50p6oo9ause50po>58cbee49>320>50pw.m93mo9 EI4mref31/a><4ef32em18O50p7oo9ause50p h58cbee49 ha hlin3 til50p h>50psp394723p. Wenalop>) 263"rup. We woco=e" >182_fgece_empty" 2p1833"mm/memenle" >182_fgece_empty82o+c4S5Iloops=ef50p8oo9ause50p h58cbee499"> 247<3/a><50p h>50pup.92=mo9 EI4mref31/a><4ef32em18O50p9oo9ause50p h58spf2499g18mme>38mem50p h>50p"+c83/a>50n co85723p.n_voidech9,alit_e woulenle" >182_dewouoycl2p1833"mm/mem1bre" >182_dewouoy82o+c423p.code=__pagSPIi8NU" >182" 2p1833"mm/mem" >182e>181"> 263 8 5ech9" 5mm/sp3clas18e5011oo9ause50e>159"> 351ntroon"mm/m1>50n37<86> 2_m5"5earef32__S5Iloops=ef50n2oo9ause50scv59id 3512troon"mm/m50n2aa8aaadup. W4182cl2p1833"mm/mem1bre" >182e>181"> 263182_from_<4ef" 2p1833"mm/memenle" >182_from_<4ef82o+c4S5Iloops=ef50n3oo9ause50wap59().351m50n3+c83/a> 26e oupryriscmovekenle" >182_dewouoycl2p1833"mm/memkenle" >182_dewouoy82o+c4S5Iloops=ef5015oo9ause50wap5918p351550nin392mo9 EI4mref31/a><4ef32em18O50n6oo9ause50t h59mm_351re17"> >3unsi50t h>50nw.m93723p. Wenae__rup. We woLL8e" >182_pupcl2p1833"mm/mem1bre" >182_pup82o+c> 263S5Iloops=ef50n7oo9ause50t h59rer351&g18mme>381">50t h>50n7p.92=mo9 EI4mref31/a><4ef32em18O5018oo9ause50t h59h9"3519"> 2ef=enuma50t h>50nup.92mo9 EI4mref31/a><4ef32em18O50n9oo9ause50t h59rer3519g18mme>38mem50t h>50n"+c83#ifdefecwoul========QUCONFIG_MMUrefef=<4ef32em18O502roo9ause50scv59id 352825"mm/mem18e50scv>50scaa8ac2)m_ryeis undereoom,a/* Handlersaagesmove charge at task migration. *eassbatchcname5 inlass="l5nch9" e t50s1oo9ause50t h59cbe352put" clP2250s37<86#defut"ecwoul========QUPRECHARGE_COUNT_AT_ONCErefef=50s 2689723p.n_nlinlssalrup. We wo1bre" >182_do_prechargecl2p1833"mm/mem1bre" >182_do_precharge82o+cunsignedslongode=__pagSPIi8NUcountrefef= 8 5ech9" 5mm/sp3clas18e50s3oo9ause50wap59cbe352m50saaa8a> 2_m5"5earef32__S5Iloops=ef50s4oo9ause50t h59cbe352mem18swap_sUm50t h>50s33480181"> 26clinlssalrup. We worepcl2p1833"mm/memrepsbat hch9e__9" 5mref31/a><5ef32em18O50s5oo9ause50wap5918p352550s53480181"> 26clinlssalrup. We wobatch_countrefef=<5ef32em18O50s6oo9ause50t h5918p352re17"> >3unsi50t h>50s33491723p. We723p.code=__pagSPIi8NULL8e" >182cl2p1833"mm/mem1bre" >182e>181"> 263 263<5ef32em18O50s7oo9ause50mm/59rer352&g18mme>381">50mm/>50s7oo90mo9 EI4mref31/a><4ef32em18O50s8oo9ause50t h59e.a352&g18mme>38mem50t h>50s83491723p. Wecf="lssalrup. We wo1bre" >182_is_rootrefef=182_is_root82o+c> 263 2_m5"5earef32__S5Iloops=ef50s9oo9ause50wap59rer3529g18mme>38mem50wap>50s_oo9097break8ef=enumach9,alit_e woul1c" 2p1833"mm/memLc82o+.> 263<5ef32em18O503roo9ause50scv59id 353825"mm/mem18e50scv>50scoo9097break8ef=enumac2)m_ryeis undereoom,ass we don't needscss_gepaagesroot *eassbatchcname5 inlass="l5nch9" e t5031oo9ause50wap59spf3531coup_mm3_ et50wap>50s37<86723p. We would enalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5032oo9ause50t h59cbe3532troon"mm/m50s 2689lagned s=mo9 EI4mref31/a><4ef32em18O50s3oo9ause5031459rea353m334re/a>50314>50saaa88aadup. W42)m_ryeis undereoom,ass try to charge at once *eassbatchcname5 inlass="l5nch9" e t5034oo9ause50t h5918p353mem18swap_sUm50t h>50s33480181"> 26cf="> 263 2_m5"5earef32__S5Iloops=ef5035oo9ause50m/m5972n3535g18m8334re/a50m/m>50sin392aagned shor_HEAD723p.code=__pagSPIi8NUres_countercl2p1833"mm/memres_counter82o+1"> 263<5ef32em18O5036oo9ause50t h5950sw.m93723p. Welagned se2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t50s7oo9ause50mm/59eNU35t ha h8move_si50mm/>50s7oo90c2)m_ryeis undereoom,a67" cla2         * " clas" cannot be undeesrmdir() becausecwe'v" already checked82sbatchcname5 inlass="l5nch9" e t50s8oo9ause50t h5918p353&g18mme>38mem50t h>50s8co85c2)m_ryeis undereoom,a67" cla2         * by c >182_lock_live_c >182() that it is not removed andowe82sbatchcname5 inlass="l5nch9" e t50s9oo9ause50mm/5989"3538>.e 8ef=QUEU50mm/>50s9aa8ac2)m_ryeis undereoom,a666666666        * ar" still undeesthe sf=Q c >182_1utex. So we can postpon2e>sbatchcname5 inlass="l5nch9" e t504roo9ause50t h59cbee54>183class="s350t h>50t 2689c2)m_ryeis undereoom,a666666666        * css_gep().assbatchcname5 inlass="l5nch9" e t50t1oo9ause50wap59ght 54a1825"mm/mem150wap>50t37<86c2)m_ryeis undereoom,a666666666        *eassbatchcname5 inlass="l5nch9" e t50t2oo9ause50t h59L263542troon"mm/m50t 2689lagned s97break8cf="> 263<4ef32em18O50t3oo9ause5031459ef"m543coup_mm3_ et50314>50taaa88aadup. We wold eeeeeeeeegotoode=__pagSPIi8NUon2_by_on2" 2p1833"mm/memon2_by_on2sbat9e__9" 5mref31/a><5ef32em18O5044oo9ause50t h59ecte544coup_mm3_ et50t h>50t33480181"> 2697break8cf="/a> 263<5ef32em18O5045oo9ause50m/m59e32e54lass="linefal50m/m>50tin392aagned shor_HEADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDnae__rup. We woPAGE_SIZErefef= 2_m5"5earef32__S5Iloops=ef5046oo9ause50n c59e>1854r thisce3pryr50n c>50tw.m93723p. Welagned sDDDDDDDDnae__rup. We wores_counter_unchargecl2p1833"mm/memres_counter_uncharge82o+c 263S5Iloops=ef5047oo9ause50m_w5923="54&g18mme>181">50m_w>50tsp394723p. We would eeeeeeeeegotoode=__pagSPIi8NUon2_by_on2" 2p1833"mm/memon2_by_on2sbat9e__9" 5mref31/a><5ef32em18O5048oo9ause50ss358c#>3548"> 32450tup.92="L>32167" cla2 =mo9 EI4mref31/a><4ef32em18O5049oo9ause50mm/58e.as549g18mme>38mem50mm/>50t_oo9097break8ef=enumach9,alit_e woul1c" 2p1833"mm/memLc82o+.> 263<5ef32em18O505roo9ause50meu58" cl55825"mm/mem18e50meu>50me7<86723p. We would enalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5051oo9ause50to 58252n55ntroon"mm/m50m37<86723p. We=mo9 EI4mref31/a><4ef32em18O50m2oo9ause50g1858e>18552troon"mm/m50m2p.92nae__rup. We woon2_by_on2" 2p1833"mm/memon2_by_on2sbat:mo9 EI4mref31/a><4ef32em18O50m3oo9ause5031458274u55m50maaa88aadup. W42)m_ryeis undereoom,ass fall back to on2 by on2 charge *eassbatchcname5 inlass="l5nch9" e t5054oo9ause50t h5855mem18swap_sUm50t h>50m33480181"> 26while="> 263 2_m5"5earef32__S5Iloops=ef5055oo9ause50m/m58567"55mme>181"2 26350m/m>50min392aagned shor_HEADnf="/a> 2_m5"5earef32__S5Iloops=ef5056oo9ause50ef358mc55>320 50ef3>50mw.m93723p. Welagned sDDDDDDDDnae__rup. We worepcl2p1833"mm/memrepsbat hc-de=__pagSPIi8NUEINTRINVAf,o6" id="LEINTRsbat9e__9" 5mref31/a><5ef32em18O5057oo9ause50m_w58 .as55 ha hlin3 til50m_w>50msp394723p. We would eeeeeeeeebreak9e__9" 5mref31/a><5ef32em18O50m8oo9ause50ss358L263559"> 247<50mup.92="L>32167" cla2 =mo9 EI4mref31/a><4ef32em18O5059oo9ause50mm/58__SP559g18mme>38mem50mm/>50m_oo9097break8ef=enumacf="u=====QUEUE_2 c"batch_countrefef= 2_m5"5earef32__S5Iloops=ef506roo9ause50m/m5818pr56825"mm/mem18e50m/m>50m/.m93723p. Welagned sDDDDDDDDnae__rup. We wobatch_countrefef=<5ef32em18O5061oo9ause50nam5889" 56ntroon"mm/m50m37<86723p. We would ee wold enae__rup. We wo<5ed_r2schedcl2p1833"mm/mem<5ed_r2sched82o+ck wou)" 5mref31/a>S5Iloops=ef5062oo9ause50g185826pu562troon"mm/m50m 2689lagned s97break8=mo9 EI4mref31/a><4ef32em18O5063oo9ause5031458e="L56m50maaa88aadup. We wold enae__rup. We worepcl2p1833"mm/memrepsbat hcnae__rup. We wo__enle" >182_try_chargecl2p1833"mm/mem__enle" >182_try_charge82o+c4<5ef32em18O5064oo9ause50t h58ame=56bycode=mem_3250t h>50m33480181"> 2697break8 would eaadup. We wold enae__rup. We woGFP_KERNEmINVAf,o6" id="LGFP_KERNEme>18he1he 263S5Iloops=ef5065oo9ause50m/m58="L356550min392aagned shor_HEADnf="/a><4ef32em18O5066oo9ause50ef3586 >3unsi50ef3>50mw.m93723p. Welagned sDDDDDDDDn2)m_ryeis undereoom,ass enle" >182_clear_mc() will do uncharge later *eassbatchcname5 inlass="l5nch9" e t5067oo9ause50m_w58eNUL56&g18mme>381">50m_w>50msp394723p. We would eeeeeeeeenalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5068oo9ause50ss3586on>56&g18mme>38mem50ss3>50mup.92="L>32167" cla2 /a> 263<5ef32em18O5069oo9ause50mm/58lass569g18mme>38mem50mm/>50m_oo9097break8=mo9 EI4mref31/a><4ef32em18O507roo9ause507507) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5071oo9ause50__u58h9" 57ntroon"mm/m50737<86=mo9 EI4mref31/a><4ef32em18O5072oo9ause50g1858rere572troon"mm/m507 2689e__9" 5mref31/a><5ef32em18O5073oo9ause50"  58rere57m507aaa8ac2)m_ryeis undereoom,a/*sassbatchcname5 inlass="l5nch9" e t5074oo9ause50mm/58rere57bycode=mem_3250mm/>50747<86c2)m_ryeis undereoom,a6* get_mctgt_type - get target type ofsmoving charge82sbatchcname5 inlass="l5nch9" e t5075oo9ause50e>158"> 25751>50757<86c2)m_ryeis undereoom,a6* @vma:sthe vma the pte to be checked belongsassbatchcname5 inlass="l5nch9" e t5076oo9ause50mo>58.asm57re17"> >3unsi50mo>>50767<86c2)m_ryeis undereoom,a6* @addr:sthe address corr"spondina to the pte to be checkedassbatchcname5 inlass="l5nch9" e t5077oo9ause50e>158"> 257="line" 3ame=50e>1>5077oo90c2)m_ryeis undereoom,a6* @ptent: the pte to be checkedassbatchcname5 inlass="l5nch9" e t5078oo9ause50ss358"> 257&g18mme>38mem50ss3>5078co85c2)m_ryeis undereoom,a6* @target: the pointer the target page or swap ent will be stored(can be NULm)assbatchcname5 inlass="l5nch9" e t5079oo9ause50nam58spf2579g18mme>38mem50nam>5079aa8ac2)m_ryeis undereoom,a6sassbatchcname5 inlass="l5nch9" e t508roo9ause50wap58spf2589"> 2334re/a>50wap>50waco85c2)m_ryeis undereoom,a6* Ralop>sassbatchcname5 inlass="l5nch9" e t5081oo9ause50wap58spf258ntroon"mm/m50w37<86c2)m_ryeis undereoom,a6*ak80(MC_TARGET_NONE):Dnf=the pte is not a target agesmove charge.assbatchcname5 inlass="l5nch9" e t5082oo9ause50wap58spf2582troon"mm/m50w 2689c2)m_ryeis undereoom,a6*ak81(MC_TARGET_PAGE):Dnf=the page corr"spondina to this pte is a target ageassbatchcname5 inlass="l5nch9" e t5083oo9ause50"  58spf258m50waaa8ac2)m_ryeis undereoom,a6*reak8move charge.Dnf=@target is not NULm,=the page is stored in targetERNE/pageassbatchcname5 inlass="l5nch9" e t5084oo9ause50wap58spf258mem18swap_sUm50wap>50w47<86c2)m_ryeis undereoom,a6*     with extra e5 cnt got(Callersashould handle ip).assbatchcname5 inlass="l5nch9" e t50w5oo9ause50wap58spf258550w57<86c2)m_ryeis undereoom,a6*   2(MC_TARGET_SWAP):Dnf=the swap entry corr"spondina to this pte is aassbatchcname5 inlass="l5nch9" e t50w6oo9ause50mo>58spf258re17"> >3unsi50mo>>50w67<86c2)m_ryeis undereoom,a6*     target agescharge migration. nf=@target is not NULm,=the entry is storedassbatchcname5 inlass="l5nch9" e t50w7oo9ause50t h58cbee58&g18mme>381">50t h>50w7oo90c2)m_ryeis undereoom,a6* HEADnn targetERNE/oom.assbatchcname5 inlass="l5nch9" e t50w8oo9ause50ss358cbee58&g18mme>38mem50ss3>50w8co85c2)m_ryeis undereoom,a6*assbatchcname5 inlass="l5nch9" e t50w9oo9ause50t h58cbee589g18mme>38mem50t h>50w9aa8ac2)m_ryeis undereoom,a6s Called with pte lock held.assbatchcname5 inlass="l5nch9" e t509roo9ause50t h58cbee59825"mm/mem18e50t h>50t aa8ac2)m_ryeis undereoom,a6seassbatchcname5 inlass="l5nch9" e t5091oo9ause50t h58cbee591coup_mm3_ et50t h>50t37<86union /a> 2_m5"5earef32__S5Iloops=ef5092oo9ause50wap58cbee592troon"mm/m50t2aa8aaadup. W4 263<5ef32em18O5093oo9ause50wap58sp3clas18ef178_ooee50wap>50taaa88aadup. W4<5ef32em18O50t4oo9ause50wap5889" 4ecordup. 2e wo50wap>50t47<86}9e__9" 5mref31/a><5ef32em18O50t5oo9ause50wap48spf248mme>181"2 26350wap>50tin392mo9 EI4mref31/a><4ef32em18O5096oo9ause50mo>58cbee49>320>50t67<86enum /a> 2_m5"5earef32__S5Iloops=ef5097oo9ause50t h58cbee49 ha hlin3 til50t h>50tsp394723p. Wee oupryriscmoveMC_TARGET_NONE" 2p1833"mm/memMC_TARGET_NONEsbat hc0he__9" 5mref31/a><5ef32em18O5098oo9ause50t h58cbee499"> 247<3/a><50t h>50tup.92="L>3216IT/,arup. We woMC_TARGET_PAGE" 2p1833"mm/memMC_TARGET_PAGEsbathe__9" 5mref31/a><5ef32em18O5099oo9ause50t h58spf2499g18mme>38mem50t h>50t_oo9097break8IT/,arup. We woMC_TARGET_SWAP" 2p1833"mm/memMC_TARGET_SWAPsbathe__9" 5mref31/a><5ef32em18O51proo9ause51proo8spf2499g18mme>38mem51pro>51prp394}9e__9" 5mref31/a><5ef32em18O51p1oo9ause51p h58cbee591coup_mm3_ et51p h>51p37<86e__9" 5mref31/a><5ef32em18O51p2oo9ause51pap58cbee592troon"mm/m510 2689723p.n_4 263 263<5ef32em18O51p3oo9ause51pap58sp3clas18ef178_ooee51pap>510aaa88aadup. We wold eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We woptw_t82o+cef=enumaImptw_taa88anae__rup. We woptw pcl2p1833"mm/mempt" psbatk/a> 8 5ech9" 5mm/sp3clas18e5104oo9ause51pap5889" 4ecordup. 2e wo51pap>51p33480> 2_m5"5earef32__S5Iloops=ef51p5oo9ause51pap48spf248mme>181"2 26351pap>51p5aa8aaadup. W4 263<5ef32em18O51p6oo9ause51po>58cbee49>320>51pw.m93mo9 EI4mref31/a><4ef32em18O51p7oo9ause51p h58cbee49 ha hlin3 til51p h>51psp394723p. Wecf="u=====QUEUE_2 c"pagecl2p1833"mm/mempage82o+ || u=====QUEUE_2 c"page_mappedcl2p1833"mm/mempage_mapped82o+c4<4ef32em18O51p8oo9ause51p h58cbee499"> 247<3/a><51p h>510up.92="L>32167" cla2 nalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef5109oo9ause51p h58spf2499g18mme>38mem51p h>5109p394723p. Wecf="nae__rup. We woPageAnonrefef= 2_m5"5earef32__S5Iloops=ef511roo9ause51n c59511coo9097break8ef=enumac2)m_ryeis undereoom,ass we don't move shared anon seassbatchcname5 inlass="l5nch9" e t5111oo9ause51e>159"> 351ntroon"mm/m1>51137<86723p. We would ecf="u=====QUEUE_2 c"4ove_anonrefef=<4ef32em18O51n2oo9ause51scv59id 3512troon"mm/m511 2689lagned s97break8ef=enumanalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef51n3oo9ause51wap59().351m51133480181"> 26=selseccf="u=====QUEUE_2 c"4ove_filerefef=<4ef32em18O51n4oo9ause51wap59ere351bycode=mem_3251wap>51133480181"> 2697break8c2)m_ryeis undereoom,ass we ignore mapcount agesfile pages seassbatchcname5 inlass="l5nch9" e t5115oo9ause51wap5918p3515511in392aagned shor_HEADnalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef51n6oo9ause51t h59mm_351re17"> >3unsi51t h>51133491723p. Wecf="u=====QUEUE_2 c"get_page_unless_zerocl2p1833"mm/memget_page_unless_zero82o+c4<4ef32em18O51n7oo9ause51t h59rer351&g18mme>381">51t h>511sp394723p. We would enalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef51n8oo9ause51t h59h9"3519"> 2ef=enuma51t h>51nup.92mo9 EI4mref31/a><4ef32em18O51n9oo9ause51t h59rer3519g18mme>38mem51t h>5119p394723p. Wenalop>) 263"rup. We wopagecl2p1833"mm/mempage82o+9e__9" 5mref31/a><5ef32em18O512roo9ause51scv59id 352825"mm/mem18e51scv>51scaa8a=mo9 EI4mref31/a><4ef32em18O51s1oo9ause51t h59cbe352put" clP2251237<86e__9" 5mref31/a><5ef32em18O51s2oo9ause51t h59cbe3522troon"mm/m51s 2689#ifdefecwoul========QUCONFIG_SWAP" 2p1833"mm/memCONFIG_SWAP7<86e__9" 5mref31/a><5ef32em18O51s3oo9ause51wap59cbe352m5123co85723p.n_4 263 263<5ef32em18O51s4oo9ause51t h59cbe352mem18swap_sUm51t h>51233480181"> 2697break8 would eunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We woptw_t82o+cef=enumaImptw_taa88anae__rup. We woptw pcl2p1833"mm/mempt" psbathenae__rup. We woswp_entry_t82o+cef=enumaImswp_entry_taa88a"> 263 8 5ech9" 5mm/sp3clas18e51s5oo9ause51wap5918p352551s53480> 2_m5"5earef32__S5Iloops=ef51s6oo9ause51t h5918p352re17"> >3unsi51t h>51s33491723p. We723p.code=__pagSPIi8NUpagecl2p1833"mm/mempage82o+ "> 263S5Iloops=ef51s7oo9ause51mm/59rer352&g18mme>381">51mm/>512sp394723p. Wee oupryriscmoveswp_entry_t82o+cef=enumaImswp_entry_taa88a4<5ef32em18O51s8oo9ause51t h59e.a352&g18mme>38mem51t h>512up.92mo9 EI4mref31/a><4ef32em18O51s9oo9ause51wap59rer3529g18mme>38mem51wap>5129p394723p. Wecf="u=====QUEUE_2 c"4ove_anonrefef=<4ef32em18O513roo9ause51scv59id 353825"mm/mem18e51scv>51scoo9097break8ef=enumanalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef5131oo9ause51wap59spf3531coup_mm3_ et51wap>51s37<86723p. Wee2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5132oo9ause51t h59cbe3532troon"mm/m513 2689c2)m_ryeis undereoom,a666666666* Becauseclook82_swap_cacheck updates some st3p.sp.ns counter,assbatchcname5 inlass="l5nch9" e t5133oo9ause5131459rea353m334re/a>51314>513aaa8ac2)m_ryeis undereoom,a666666666* we callsfind_get_page() with swapper_2)mce)directly.assbatchcname5 inlass="l5nch9" e t5134oo9ause51t h5918p353mem18swap_sUm51t h>51347<86c2)m_ryeis undereoom,a666666666*eassbatchcname5 inlass="l5nch9" e t5135oo9ause51m/m5972n3535g18m8334re/a51m/m>51sin392aagned s> 263 263<5ef32em18O5136oo9ause51t h5951333491723p. Wecf="> 263<4ef32em18O5137oo9ause51mm/59eNU35t ha h8move_si51mm/>513sp394723p. We would e> 263 263<5ef32em18O5138oo9ause51t h5918p353&g18mme>38mem51t h>513up.92mo9 EI4mref31/a><4ef32em18O51s9oo9ause51mm/5989"3538>.e 8ef=QUEU51mm/>5139p394723p. Wenalop>) 263"rup. We wopagecl2p1833"mm/mempage82o+9e__9" 5mref31/a><5ef32em18O514roo9ause51t h59cbee54>183class="s351t h>514caa8a=mo9 EI4mref31/a><4ef32em18O51t1oo9ause51wap59ght 54a1825"mm/mem151wap>51t37<86#elsemo9 EI4mref31/a><4ef32em18O51t2oo9ause51t h59L263542troon"mm/m514 2689723p.n_4 263 263<5ef32em18O51t3oo9ause5131459ef"m543coup_mm3_ et51314>51taaa88aadup. We wold eeeeeeeeeunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We woptw_t82o+cef=enumaImptw_taa88anae__rup. We woptw pcl2p1833"mm/mempt" psbathenae__rup. We woswp_entry_t82o+cef=enumaImswp_entry_taa88a"> 263 8 5mref31/a><5ef32em18O51t4oo9ause51t h59ecte544coup_mm3_ et51t h>51433480> 2_m5"5earef32__S5Iloops=ef5145oo9ause51m/m59e32e54lass="linefal51m/m>51tin392aagned snalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef5146oo9ause51n c59e>1854r thisce3pryr51n c>51tw.m93=mo9 EI4mref31/a><4ef32em18O51t7oo9ause51m_w5923="54&g18mme>181">51m_w>51tsp394#endifmo9 EI4mref31/a><4ef32em18O51t8oo9ause51ss358c#>3548"> 324514up.92mo9 EI4mref31/a><4ef32em18O5149oo9ause51mm/58e.as549g18mme>38mem51mm/>51t_oo90723p.n_4 263 263<5ef32em18O515roo9ause51meu58" cl55825"mm/mem18e51meu>51me7<86723p. We would eeeeeeeeeunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We woptw_t82o+cef=enumaImptw_taa88anae__rup. We woptw pcl2p1833"mm/mempt" psbathenae__rup. We woswp_entry_t82o+cef=enumaImswp_entry_taa88a"> 263 8 5mref31/a><5ef32em18O5151oo9ause51to 58252n55ntroon"mm/m51537<86> 2_m5"5earef32__S5Iloops=ef51m2oo9ause51g1858e>18552troon"mm/m5152aa8aaadup. W4 263S5Iloops=ef51m3oo9ause5131458274u55m51maaa88aadup. W4 263S5Iloops=ef51m4oo9ause51t h5855mem18swap_sUm51t h>51m33480181"> 26> 263S5Iloops=ef51m5oo9ause51m/m58567"55mme>181"2 26351m/m>515in392mo9 EI4mref31/a><4ef32em18O5156oo9ause51ef358mc55>320 51ef3>51533491723p. Wecf="u=====QUEUE_2 c"vma" 2p1833"mm/memvmasbatERNE/e oupryriscmovevm_filerefef=51msp394723p. We would enalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef51m8oo9ause51ss358L263559"> 247<51583491723p. Wecf="u=====QUEUE_2 c"4ove_filerefef=<4ef32em18O5159oo9ause51mm/58__SP559g18mme>38mem51mm/>51m_oo9097break8ef=enumanalop>) 263"rup. We woNULmINVAf,o6" id="LNULmsbat wou)" 5mref31/a>S5Iloops=ef516roo9ause51m/m5818pr56825"mm/mem18e51m/m>51m/.m93wou)" 5mref31/a>S5Iloops=ef5161oo9ause51nam5889" 56ntroon"mm/m51m37<86723p. We> 263S5Iloops=ef5162oo9ause51g185826pu562troon"mm/m51m 2689lagned scf="lssalrup. We woptw_non2" 2p1833"mm/memptw_non282o+c4<4ef32em18O5163oo9ause5131458e="L56m51maaa88aadup. We wold enae__rup. We wopgoff82o+cef=enumaImpgoffsbat hcnae__rup. We wom<5ef32em18O5164oo9ause51t h58ame=56bycode=mem_3251t h>51m33480181"> 26elsecc2)m_ryeis undereoom,ass ptw_file(pt" p) is <5ef32em18O5166oo9ause51ef3586 >3unsi51ef3>516w.m93mo9 EI4mref31/a><4ef32em18O5167oo9ause51m_w58eNUL56&g18mme>381">51m_w>51msp394723p. Wec2)m_ryeis undereoom,ass page is moved evenscf=ip's not RSS ofsthis task(page-faulted). *eassbatchcname5 inlass="l5nch9" e t5168oo9ause51ss3586on>56&g18mme>38mem51ss3>516up.92="L>3216IT/,arup. We wopagecl2p1833"mm/mempage82o+ hcnae__rup. We wofind_get_pagecl2p1833"mm/memfind_get_page82o+c> 263<5ef32em18O5169oo9ause51mm/58lass569g18mme>38mem51mm/>516"+c83/a>517<5ef32em18O5171oo9ause51__u58h9" 57ntroon"mm/m51737<86723p. Wee2)m_ryeis undereoom,ass sh/a>/tmpfs mayanaport page out on swap: account agesthat too. *eassbatchcname5 inlass="l5nch9" e t5172oo9ause51g1858rere572troon"mm/m517 2689lagned scf="lssalrup. We woradix_tre2_exceptionaleentry82o+cef=enumaImradix_tre2_exceptionaleentry82o+c4 2_m5"5earef32__S5Iloops=ef5173oo9ause51"  58rere57m517aaa88aadup. We wold enae__rup. We woswp_entry_t82o+cef=enumaImswp_entry_taa88a4<5ef32em18O5174oo9ause51mm/58rere57bycode=mem_3251mm/>51733480181"> 2697break8cf="/a><4ef32em18O5175oo9ause51e>158"> 25751>517in392aagned shor_HEADDDDDDDDD"> 263<5ef32em18O5176oo9ause51mo>58.asm57re17"> >3unsi51mo>>517w.m93723p. Welagned se 263 263<5ef32em18O5177oo9ause51e>158"> 257="line" 3ame=51e>1>517sp394723p. We=mo9 EI4mref31/a><4ef32em18O5178oo9ause51ss358"> 257&g18mme>38mem51ss3>5178co85#endifmo9 EI4mref31/a><4ef32em18O5179oo9ause51nam58spf2579g18mme>38mem51nam>5179p394723p. Wenalop>) 263"rup. We wopagecl2p1833"mm/mempage82o+9e__9" 5mref31/a><5ef32em18O518roo9ause51wap58spf2589"> 2334re/a>51wap>518caa8a=mo9 EI4mref31/a><4ef32em18O5181oo9ause51wap58spf258ntroon"mm/m51837<86e__9" 5mref31/a><5ef32em18O5182oo9ause51wap58spf2582troon"mm/m518 2689723p.n_enum /a> 263<5ef32em18O5183oo9ause51"  58spf258m518aaa88aadup. We wold eunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We woptw_t82o+cef=enumaImptw_taa88anae__rup. We woptw pcl2p1833"mm/mempt" psbatheunion /a> 263<4ef32em18O5184oo9ause51wap58spf258mem18swap_sUm51wap>51833480> 2_m5"5earef32__S5Iloops=ef51w5oo9ause51wap58spf25855185aa8aaadup. W4 263S5Iloops=ef51w6oo9ause51mo>58spf258re17"> >3unsi51mo>>51833491723p. We723p.code=__pagSPIi8NUpagee" >182cl2p1833"mm/mempagee" >18282o+ "> 263S5Iloops=ef51w7oo9ause51t h58cbee58&g18mme>381">51t h>518sp394723p. Weenum /a>S5Iloops=ef51w8oo9ause51ss358cbee58&g18mme>38mem51ss3>518up.92="L>3216IT/,arup. We woswp_entry_t82o+cef=enumaImswp_entry_taa88a4 263<5ef32em18O51w9oo9ause51t h58cbee589g18mme>38mem51t h>518"+c83/a>519e7<86723p. Wecf="lssalrup. We woptw_pres" p82o+cef=enumaImptw_pres" p82o+c4<4ef32em18O5191oo9ause51t h58cbee591coup_mm3_ et51t h>51937<86723p. We would e> 263<5ef32em18O5192oo9ause51wap58cbee592troon"mm/m51t2aa8aaadup. Welseccf="nae__rup. We wois_swapeptw" 2p1833"mm/memis_swapeptw82o+c4<4ef32em18O5193oo9ause51wap58sp3clas18ef178_ooee51wap>519aaa88aadup. We wold enae__rup. We wopagecl2p1833"mm/mempage82o+ hcnae__rup. We woec_handle_swapeptw" 2p1833"mm/memLc_handle_swapeptw82o+c4<5ef32em18O5194oo9ause51wap5889" 4ecordup. 2e wo51wap>51933480181"> 26elseccf="lssalrup. We woptw_non2" 2p1833"mm/memptw_non282o+c4<4ef32em18O5195oo9ause51wap48spf248mme>181"2 26351wap>519in392aagned shor_HEADnae__rup. We wopagecl2p1833"mm/mempage82o+ hcnae__rup. We woec_handle_fileeptw" 2p1833"mm/memLc_handle_fileeptw82o+c4<5ef32em18O5196oo9ause51mo>58cbee49>320>519w.m93mo9 EI4mref31/a><4ef32em18O5197oo9ause51t h58cbee49 ha hlin3 til51t h>519sp394723p. Wecf="u=====QUEUE_2 c"pagecl2p1833"mm/mempage82o+  263< 263 263<4ef32em18O5198oo9ause51t h58cbee499"> 247<3/a><51t h>519up.92="L>32167" cla2 nalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5199oo9ause51t h58spf2499g18mme>38mem51t h>5199p394723p. Wecf="nae__rup. We wopagecl2p1833"mm/mempage82o+k9> 2_m5"5earef32__S5Iloops=ef52proo9ause52proo8spf2499g18mme>38mem52pro>520coo9097break8ef=enumac 263182cl2p1833"mm/memmook82_pagee" >18282o+c4<5ef32em18O52p1oo9ause52p h58cbee591coup_mm3_ et52p h>52037<86723p. We would e>2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t52p2oo9ause52pap58cbee592troon"mm/m520 2689c2)m_ryeis undereoom,a66666666666666666* Do onlycloose check w/o pagee" >182 lock.assbatchcname5 inlass="l5nch9" e t52p3oo9ause52pap58sp3clas18ef178_ooee52pap>520aaa8ac2)m_ryeis undereoom,a66666666666666666* mnle" >182_4ove_account() checks=the pc is valid or not undeeassbatchcname5 inlass="l5nch9" e t52p4oo9ause52pap5889" 4ecordup. 2e wo52pap>52047<86c2)m_ryeis undereoom,a66666666666666666* the lock.assbatchcname5 inlass="l5nch9" e t52p5oo9ause52pap48spf248mme>181"2 26352pap>52057<86c2)m_ryeis undereoom,a66666666666666666*eassbatchcname5 inlass="l5nch9" e t52p6oo9ause52po>58cbee49>320>520w.m93723p. Welagned scf="nae__rup. We woPageC >182Usedcl2p1833"mm/memPageC >182Used82o+c4 263182cl2p1833"mm/mem1bre" >182e>181=hcnae__rup. We woec" 2p1833"mm/memLc82o+.> 263 2_m5"5earef32__S5Iloops=ef52p7oo9ause52p h58cbee49 ha hlin3 til52p h>520sp394723p. We would eeeeeeeee/a><5ef32em18O52p8oo9ause52p h58cbee499"> 247<3/a><52p h>520up.92="L>32167" cla2 lagned scf="nae__rup. We wotarget" 2p1833"mm/memtargetoo90kmo9 EI4mref31/a><4ef32em18O5209oo9ause52p h58spf2499g18mme>38mem52p h>520_oo9097break8ef=enuma would eeeeeeeee/a><5ef32em18O521roo9ause52n c59521coo9097break8ef=enuma=mo9 EI4mref31/a><4ef32em18O5211oo9ause52e>159"> 351ntroon"mm/m1>52137<86723p. We would ecf="u=====QUEUE_2 c"repcl2p1833"mm/memrepsbat || u=====QUEUE_2 c"target" 2p1833"mm/memtargetoo90kmo9 EI4mref31/a><4ef32em18O52n2oo9ause52scv59id 3512troon"mm/m521 2689lagned s97break8ef=enumanae__rup. We woput_pagecl2p1833"mm/memput_page82o+c4<5ef32em18O52n3oo9ause52wap59().351m52133480181"> 26=e__9" 5mref31/a><5ef32em18O52n4oo9ause52wap59ere351bycode=mem_3252wap>52133480181"> 26e2)m_ryeis undereoom,ass There is a swap entry andoa page doesn't exist or isn't charged6*eassbatchcname5 inlass="l5nch9" e t5215oo9ause52wap5918p3515521in392aagned scf="nae__rup. We wo" pcl2p1833"mm/mem" psbat.> 263 >3unsi52t h>521w.m93723p. Welagned sDDDDDDDDnae__rup. We wocss_idcl2p1833"mm/mem 263182_idcl2p1833"mm/memlook82_swap_c >182_id82o+c4 2_m5"5earef32__S5Iloops=ef52n7oo9ause52t h59rer351&g18mme>381">52t h>521sp394723p. We would e/a> 2ef=enuma52t h>521up.92="L>32167" cla2 cf="nae__rup. We wotarget" 2p1833"mm/memtargetoo90kmo9 EI4mref31/a><4ef32em18O52n9oo9ause52t h59rer3519g18mme>38mem52t h>521_oo9097break8ef=enuma would e/a><5ef32em18O522roo9ause52scv59id 352825"mm/mem18e52scv>52203480181"> 26=e__9" 5mref31/a><5ef32em18O52s1oo9ause52t h59cbe352put" clP2252237<86723p. Wenalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O52s2oo9ause52t h59cbe3522troon"mm/m52s 2689=e__9" 5mref31/a><5ef32em18O52s3oo9ause52wap59cbe352m5223co85e__9" 5mref31/a><5ef32em18O52s4oo9ause52t h59cbe352mem18swap_sUm52t h>52233480#ifdefecwoul========QUCONFIG_TRANSPARENT_HUGEPAGE" 2p1833"mm/memCONFIG_TRANSPARENT_HUGEPAGEco85e__9" 5mref31/a><5ef32em18O52s5oo9ause52wap5918p352552257<86c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t52s6oo9ause52t h5918p352re17"> >3unsi52t h>52267<86c2)m_ryeis undereoom,a6* We don't l5nsidee swappina gesfile mapped pages becausecTHP does notassbatchcname5 inlass="l5nch9" e t52s7oo9ause52mm/59rer352&g18mme>381">52mm/>5227oo90c2)m_ryeis undereoom,a6* support them agesnow.assbatchcname5 inlass="l5nch9" e t52s8oo9ause52t h59e.a352&g18mme>38mem52t h>5228co85c2)m_ryeis undereoom,a6* Callerashould make sure that pmd_trans_huge(pmd) is 38mem52wap>5229aa8ac2)m_ryeis undereoom,a6seassbatchcname5 inlass="l5nch9" e t523roo9ause52scv59id 353825"mm/mem18e52scv>52scoo90723p.n_enum /a> 263<5ef32em18O5231oo9ause52wap59spf3531coup_mm3_ et52wap>52337<86723p. We would eunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We wopmd_tcl2p1833"mm/mempmd_too909/a> 263<4ef32em18O5232oo9ause52t h59cbe3532troon"mm/m523 2689> 2_m5"5earef32__S5Iloops=ef5233oo9ause5231459rea353m334re/a>52314>523aaa88aadup. W4 263S5Iloops=ef5234oo9ause52t h5918p353mem18swap_sUm52t h>5234aa88aadup. W4182cl2p1833"mm/mempagee" >18282o+ "> 263S5Iloops=ef5235oo9ause52m/m5972n3535g18m8334re/a52m/m>52sin392aagned senum /a>S5Iloops=ef5236oo9ause52t h59523w.m93mo9 EI4mref31/a><4ef32em18O5237oo9ause52mm/59eNU35t ha h8move_si52mm/>523sp394723p. Wee oupryriscmovepagecl2p1833"mm/mempage82o+ hcnae__rup. We wopmd_pagecl2p1833"mm/mempmd_page82o+c4<5ef32em18O5238oo9ause52t h5918p353&g18mme>38mem52t h>523up.92="L>3216IT/,arup. We woVM_BUG_ONcl2p1833"mm/memVM_BUG_ON82o+cu=====QUEUE_2 c"pagecl2p1833"mm/mempage82o+ || u=====QUEUE_2 c"PageHeadcl2p1833"mm/memPageHead82o+c4<5ef32em18O5239oo9ause52mm/5989"3538>.e 8ef=QUEU52mm/>5239p394723p. Wecf="u=====QUEUE_2 c"4ove_anonrefef=<4ef32em18O524roo9ause52t h59cbee54>183class="s352t h>524coo9097break8ef=enumanalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O52t1oo9ause52wap59ght 54a1825"mm/mem152wap>52437<86723p. We> 263182cl2p1833"mm/memmook82_pagee" >18282o+c4<5ef32em18O52t2oo9ause52t h59L263542troon"mm/m524 2689lagned scf="lssalrup. We woPageC >182Usedcl2p1833"mm/memPageC >182Used82o+c4 263182cl2p1833"mm/mem1bre" >182e>181=hcnae__rup. We woec" 2p1833"mm/memLc82o+.> 263 2_m5"5earef32__S5Iloops=ef52t3oo9ause5231459ef"m543coup_mm3_ et52314>52taaa88aadup. We wold e/a><5ef32em18O52t4oo9ause52t h59ecte544coup_mm3_ et52t h>52433480181"> 2697break8cf="/a> 2_m5"5earef32__S5Iloops=ef52t5oo9ause52m/m59e32e54lass="linefal52m/m>524in392aagned shor_HEADe wold e/a> 263<5ef32em18O52t6oo9ause52n c59e>1854r thisce3pryr52n c>524w.m93723p. Welagned sDDDDDDDDnae__rup. We wotarget" 2p1833"mm/memtargetoo90ERNE/e oupryriscmovepagecl2p1833"mm/mempage82o+ hcnae__rup. We wopagecl2p1833"mm/mempage82o+9e__9" 5mref31/a><5ef32em18O52t7oo9ause52m_w5923="54&g18mme>181">52m_w>524sp394723p. We would e=e__9" 5mref31/a><5ef32em18O52t8oo9ause52ss358c#>3548"> 324524up.92="L>3216=e__9" 5mref31/a><5ef32em18O52t9oo9ause52mm/58e.as549g18mme>38mem52mm/>5249p394723p. Wenalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O525roo9ause52meu58" cl55825"mm/mem18e52meu>525caa8a=mo9 EI4mref31/a><4ef32em18O5251oo9ause52to 58252n55ntroon"mm/m52537<86#elsemo9 EI4mref31/a><4ef32em18O52m2oo9ause52g1858e>18552troon"mm/m525 2689723p.n_ 263"rup. We woin2troon2p1833"mm/memin2trop3947enum /a> 263<4ef32em18O52m3oo9ause5231458274u55m525aaa88aadup. We wold eunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbathenae__rup. We wopmd_tcl2p1833"mm/mempmd_too909/a> 263<4ef32em18O52m4oo9ause52t h5855mem18swap_sUm52t h>52533480> 2_m5"5earef32__S5Iloops=ef52m5oo9ause52m/m58567"55mme>181"2 26352m/m>525in392aagned snalop>) 263"rup. We woMC_TARGET_NONE" 2p1833"mm/memMC_TARGET_NONEsbat wou)" 5mref31/a>S5Iloops=ef5256oo9ause52ef358mc55>320 52ef3>525w.m93=mo9 EI4mref31/a><4ef32em18O5257oo9ause52m_w58 .as55 ha hlin3 til52m_w>525sp394#endifmo9 EI4mref31/a><4ef32em18O52m8oo9ause52ss358L263559"> 247<525up.92mo9 EI4mref31/a><4ef32em18O5259oo9ause52mm/58__SP559g18mme>38mem52mm/>525_oo90723p.n_incode=__pagSPIi8NUmnle" >182_count_prechargeeptw_rangecl2p1833"mm/memmnle" >182_count_prechargeeptw_range82o+c4 263<4ef32em18O526roo9ause52m/m5818pr56825"mm/mem18e52m/m>526e7<86723p. We would eeeeeeeeeaadup. We wold eunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbatheunsignedslongode=__pagSPIi8NUendcl2p1833"mm/mem" dsbathmo9 EI4mref31/a><4ef32em18O5261oo9ause52nam5889" 56ntroon"mm/m52637<86723p. We would eeeeeeeeeeeeeeeeeeeeeeeee4 263<4ef32em18O5262oo9ause52g185826pu562troon"mm/m526 2689> 2_m5"5earef32__S5Iloops=ef5263oo9ause5231458e="L56m526aaa88aadup. W4 263S5Iloops=ef5264oo9ause52t h58ame=56bycode=mem_3252t h>52m33480181"> 26e oupryriscmoveptw_t82o+cef=enumaImptw_taa88a"> 263S5Iloops=ef5265oo9ause52m/m58="L356552min392aagned s> 263 263S5Iloops=ef5266oo9ause52ef3586 >3unsi52ef3>526w.m93mo9 EI4mref31/a><4ef32em18O5267oo9ause52m_w58eNUL56&g18mme>381">52m_w>526sp394723p. Wecf="4 2_m5"5earef32__S5Iloops=ef5268oo9ause52ss3586on>56&g18mme>38mem52ss3>526up.92="L>32167" cla2 cf="nae__rup. We woget_mctgt_type_th2cl2p1833"mm/memget_mctgt_type_th282o+c> 263 263<4ef32em18O5269oo9ause52mm/58lass569g18mme>38mem52mm/>526_oo9097break8ef=enuma would e/a> 263S5Iloops=ef527roo9ause527527coo9097break8ef=enumac 263<5ef32em18O5271oo9ause52__u58h9" 57ntroon"mm/m52737<86723p. We would enalop>)09e__9" 5mref31/a><5ef32em18O5272oo9ause52g1858rere572troon"mm/m527 2689lagned s=mo9 EI4mref31/a><4ef32em18O5273oo9ause52"  58rere57m5273co85e__9" 5mref31/a><5ef32em18O5274oo9ause52mm/58rere57bycode=mem_3252mm/>52733480181"> 26cf="4<4ef32em18O5275oo9ause52e>158"> 25751>527in392aagned shor_HEADnalop>)09e__9" 5mref31/a><5ef32em18O5276oo9ause52mo>58.asm57re17"> >3unsi52mo>>527w.m93723p. We> 263 263<5ef32em18O5277oo9ause52e>158"> 257="line" 3ame=52e>1>527sp394723p. Weages( 263 263<4ef32em18O5278oo9ause52ss358"> 257&g18mme>38mem52ss3>527up.92="L>32167" cla2 cf="nae__rup. We woget_mctgt_typecl2p1833"mm/memget_mctgt_type82o+c> 263 263 263 2334re/a>52wap>5280.m93723p. We> 263<5ef32em18O5281oo9ause52wap58spf258ntroon"mm/m52837<86723p. We> 263<5ef32em18O5282oo9ause52wap58spf2582troon"mm/m528 2689e__9" 5mref31/a><5ef32em18O5283oo9ause52"  58spf258m528aaa88aadup. Wnalop>)09e__9" 5mref31/a><5ef32em18O5284oo9ause52wap58spf258mem18swap_sUm52wap>52833480=mo9 EI4mref31/a><4ef32em18O52w5oo9ause52wap58spf2585528in392mo9 EI4mref31/a><4ef32em18O52w6oo9ause52mo>58spf258re17"> >3unsi52mo>>52833491723p.n_unsignedslongode=__pagSPIi8NUmnle" >182_count_prechargecl2p1833"mm/memmnle" >182_count_precharge82o+c4 263<4ef32em18O52w7oo9ause52t h58cbee58&g18mme>381">52t h>528sp394> 2_m5"5earef32__S5Iloops=ef52w8oo9ause52ss358cbee58&g18mme>38mem52ss3>528up.92="L>3216unsignedslongode=__pagSPIi8NUprecharge" 2p1833"mm/memprechargeoo909e__9" 5mref31/a><5ef32em18O5289oo9ause52t h58cbee589g18mme>38mem52t h>528_oo9097break84 263<5ef32em18O529roo9ause52t h58cbee59825"mm/mem18e52t h>529/.m93wou)" 5mref31/a>S5Iloops=ef5291oo9ause52t h58cbee591coup_mm3_ et52t h>52937<86723p. We> 263<5ef32em18O5292oo9ause52wap58cbee592troon"mm/m52t2aa8aaadup. Wages(> 263 263 263 2_m5"5earef32__S5Iloops=ef5293oo9ause52wap58sp3clas18ef178_ooee52wap>529aaa88aadup. We wold e4182_count_prechargeewalkcl2p1833"mm/memmnle" >182_count_prechargeewalksbat hc> 2_m5"5earef32__S5Iloops=ef5294oo9ause52wap5889" 4ecordup. 2e wo52wap>52933480181"> 2697break888888888.> 263182_count_prechargeeptw_rangecl2p1833"mm/memmnle" >182_count_prechargeeptw_range82o+hmo9 EI4mref31/a><4ef32em18O5295oo9ause52wap48spf248mme>181"2 26352wap>529in392aagned shor_HEAD88888888.> 263<4ef32em18O5296oo9ause52mo>58cbee49>320>529w.m93723p. Welagned sDDDDDDDD.> 263<4ef32em18O5297oo9ause52t h58cbee49 ha hlin3 til52t h>529sp394723p. We would e=9e__9" 5mref31/a><5ef32em18O5298oo9ause52t h58cbee499"> 247<3/a><52t h>529up.92="L>32167" cla2 cf="nae__rup. We wois_vm_hugetlb_pagecl2p1833"mm/memis_vm_hugetlb_page82o+c> 263<4ef32em18O5299oo9ause52t h58spf2499g18mme>38mem52t h>529_oo9097break8ef=enuma would e<4efinue9e__9" 5mref31/a><5ef32em18O53proo9ause53proo8spf2499g18mme>38mem53pro>530coo9097break8ef=enumac 263 263<4ef32em18O53p1oo9ause53p h58cbee591coup_mm3_ et53p h>53037<86723p. We would eeeeeeeeeeeeeeeeeeeeeeeee 263182_count_prechargeewalkcl2p1833"mm/memmnle" >182_count_prechargeewalksbatk9e__9" 5mref31/a><5ef32em18O53p2oo9ause53pap58cbee592troon"mm/m530 2689lagned s=mo9 EI4mref31/a><4ef32em18O53p3oo9ause53pap58sp3clas18ef178_ooee53pap>530aaa88aadup. W/a><5ef32em18O53p4oo9ause53pap5889" 4ecordup. 2e wo53pap>53047<86e__9" 5mref31/a><5ef32em18O53p5oo9ause53pap48spf248mme>181"2 26353pap>530in392aagned s> 263 263<5ef32em18O53p6oo9ause53po>58cbee49>320>530w.m93723p. We> 263 263<5ef32em18O53p7oo9ause53p h58cbee49 ha hlin3 til53p h>530sp394e__9" 5mref31/a><5ef32em18O53p8oo9ause53p h58cbee499"> 247<3/a><53p h>530up.92="L>3216nalop>) 263"rup. We woprecharge" 2p1833"mm/memprechargeoo909e__9" 5mref31/a><5ef32em18O53p9oo9ause53p h58spf2499g18mme>38mem53p h>530_oo90=mo9 EI4mref31/a><4ef32em18O531roo9ause53n c59531/.m93wou)" 5mref31/a>S5Iloops=ef5311oo9ause53e>159"> 351ntroon"mm/m1>53137<86723p.n_incode=__pagSPIi8NUmnle" >182_prechargeeec" 2p1833"mm/memLnle" >182_prechargeeec82o+c4 263<4ef32em18O53n2oo9ause53scv59id 3512troon"mm/m531 2689> 2_m5"5earef32__S5Iloops=ef53n3oo9ause53wap59().351m53133480181"> 26unsignedslongode=__pagSPIi8NUprecharge" 2p1833"mm/memprechargeoo90 hcnae__rup. We womnle" >182_count_prechargecl2p1833"mm/memmnle" >182_count_precharge82o+c> 263<5ef32em18O53n4oo9ause53wap59ere351bycode=mem_3253wap>53147<86e__9" 5mref31/a><5ef32em18O5315oo9ause53wap5918p3515531in392aagned s> 263 263 263<5ef32em18O53n6oo9ause53t h59mm_351re17"> >3unsi53t h>531w.m93723p. We> 263 263<5ef32em18O53n7oo9ause53t h59rer351&g18mme>381">53t h>531sp394723p. Wenalop>) 263"rup. We womnle" >182_do_prechargecl2p1833"mm/memmnle" >182_do_precharge82o+c4<5ef32em18O53n8oo9ause53t h59h9"3519"> 2ef=enuma53t h>531up.92=mo9 EI4mref31/a><4ef32em18O5319oo9ause53t h59rer3519g18mme>38mem53t h>531"+c83/a>53203480e2)m_ryeis undereoom,ass cancels all extra charges on mc.from andomc.to, andowakes up all waiters. *eassbatchcname5 inlass="l5nch9" e t53s1oo9ause53t h59cbe352put" clP2253237<86723p.n_void) 263"rup. We wo__mnle" >182_claar_ec" 2p1833"mm/mem__mnle" >182_claar_ec82o+cvoidkmo9 EI4mref31/a><4ef32em18O53s2oo9ause53t h59cbe3522troon"mm/m532 2689> 2_m5"5earef32__S5Iloops=ef53s3oo9ause53wap59cbe352m532aaa88aadup. W4182cl2p1833"mm/mem1bre" >182e>181"> 263 263<5ef32em18O53s4oo9ause53t h59cbe352mem18swap_sUm53t h>5324aa88aadup. W4182cl2p1833"mm/mem1bre" >182e>181"> 263 263<5ef32em18O53s5oo9ause53wap5918p3525532in392mo9 EI4mref31/a><4ef32em18O53s6oo9ause53t h5918p352re17"> >3unsi53t h>532w.m93723p. We>2)m_ryeis undereoom,ass we must uncharge all the leftover precharges from mc.to *eassbatchcname5 inlass="l5nch9" e t53s7oo9ause53mm/59rer352&g18mme>381">53mm/>532sp394723p. Wecf="4 263 2_m5"5earef32__S5Iloops=ef53s8oo9ause53t h59e.a352&g18mme>38mem53t h>532up.92="L>32167" cla2  263"rup. We wo__mnle" >182_cancel_charge" 2p1833"mm/mem__mnle" >182_cancel_charge82o+c> 263 263 263<5ef32em18O53s9oo9ause53wap59rer3529g18mme>38mem53wap>532_oo9097break8ef=enuma> 263 263<5ef32em18O533roo9ause53scv59id 353825"mm/mem18e53scv>53303480181"> 26=e__9" 5mref31/a><5ef32em18O5331oo9ause53wap59spf3531coup_mm3_ et53wap>53337<86723p. Wec2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5332oo9ause53t h59cbe3532troon"mm/m533 2689c2)m_ryeis undereoom,a666666666s we didn't uncharge from mc.from at mnle" >182_4ove_account(), soassbatchcname5 inlass="l5nch9" e t5333oo9ause5331459rea353m334re/a>53314>533aaa8ac2)m_ryeis undereoom,a666666666s we must uncharge here.assbatchcname5 inlass="l5nch9" e t5334oo9ause53t h5918p353mem18swap_sUm53t h>53347<86c2)m_ryeis undereoom,a666666666*eassbatchcname5 inlass="l5nch9" e t5335oo9ause53m/m5972n3535g18m8334re/a53m/m>53sin392aagned scf="4 263 2_m5"5earef32__S5Iloops=ef5336oo9ause53t h59533w.m93723p. Welagned se 263182_cancel_charge" 2p1833"mm/mem__mnle" >182_cancel_charge82o+c> 263 263 263<5ef32em18O5337oo9ause53mm/59eNU35t ha h8move_si53mm/>533sp394723p. We would e/a> 263<5ef32em18O5338oo9ause53t h5918p353&g18mme>38mem53t h>533up.92="L>3216=e__9" 5mref31/a><5ef32em18O5339oo9ause53mm/5989"3538>.e 8ef=QUEU53mm/>5339p394723p. We>2)m_ryeis undereoom,ass we must fixup  5mcnts andocharges *eassbatchcname5 inlass="l5nch9" e t534roo9ause53t h59cbee54>183class="s353t h>534e7<86723p. Wecf="lssalrup. We woec" 2p1833"mm/memLc82o+.> 263 2_m5"5earef32__S5Iloops=ef53t1oo9ause53wap59ght 54a1825"mm/mem153wap>53437<86723p. We would e>2)m_ryeis undereoom,ass uncharge swap account arom the oldoc >182 *eassbatchcname5 inlass="l5nch9" e t5342oo9ause53t h59L263542troon"mm/m534 2689lagned s97break8cf="u=====QUEUE_2 c"4nle" >182_is_rooc" 2p1833"mm/memmnle" >182_is_rooc82o+c> 263 263<4ef32em18O53t3oo9ause5331459ef"m543coup_mm3_ et53314>53taaa88aadup. We wold e would e/a> 263sw" 2p1833"mm/memmnlswsbathmo9 EI4mref31/a><4ef32em18O53t4oo9ause53t h59ecte544coup_mm3_ et53t h>53433480181"> 2697break888888888888888888888888888888888e oupryriscmovePAGE_SIZE" 2p1833"mm/memPAGE_SIZEsbat6s lssalrup. We woec" 2p1833"mm/memLc82o+.> 263<5ef32em18O53t5oo9ause53m/m59e32e54lass="linefal53m/m>534in392aagned shor_HEADe 263182_puc" 2p1833"mm/mem__mnle" >182_puc82o+c> 263 263 263<5ef32em18O53t6oo9ause53n c59e>1854r thisce3pryr53n c>534w.m93mo9 EI4mref31/a><4ef32em18O53t7oo9ause53m_w5923="54&g18mme>181">53m_w>534sp394723p. We would ecf="u=====QUEUE_2 c"4nle" >182_is_rooc" 2p1833"mm/memmnle" >182_is_rooc82o+c> 263 263 2_m5"5earef32__S5Iloops=ef53t8oo9ause53ss358c#>3548"> 324534up.92="L>32167" cla2 lagned sc2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t53t9oo9ause53mm/58e.as549g18mme>38mem53mm/>5349aa8ac2)m_ryeis undereoom,a6666666666666666666666666s we charged6both toERNE/res andotoERNE/mnlsw, so we shouldassbatchcname5 inlass="l5nch9" e t535roo9ause53meu58" cl55825"mm/mem18e53meu>53503480e2)m_ryeis undereoom,a6666666666666666666666666s uncharge toERNE/res.assbatchcname5 inlass="l5nch9" e t5351oo9ause53to 58252n55ntroon"mm/m53537<86e2)m_ryeis undereoom,a6666666666666666666666666seassbatchcname5 inlass="l5nch9" e t53m2oo9ause53g1858e>18552troon"mm/m535 2689lagned s97break8ef=enumanae__rup. We wores_counter_unchargecl2p1833"mm/memres_counter_uncharge82o+c 263 263<4ef32em18O53m3oo9ause5331458274u55m535aaa88aadup. We wold eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oupryriscmovePAGE_SIZE" 2p1833"mm/memPAGE_SIZEsbat6s lssalrup. We woec" 2p1833"mm/memLc82o+.> 263<5ef32em18O53m4oo9ause53t h5855mem18swap_sUm53t h>53533480181"> 2697break8=e__9" 5mref31/a><5ef32em18O53m5oo9ause53m/m58567"55mme>181"2 26353m/m>535in392aagned shor_HEADe2)m_ryeis undereoom,ass we've already done mnle" >182_get(mc.to)6seassbatchcname5 inlass="l5nch9" e t53m6oo9ause53ef358mc55>320 53ef3>535w.m93723p. Welagned se 263 263<5ef32em18O5357oo9ause53m_w58 .as55 ha hlin3 til53m_w>535sp394723p. We=e__9" 5mref31/a><5ef32em18O53m8oo9ause53ss358L263559"> 247<535up.92="L>3216IT/,arup. We wo/a> 263<5ef32em18O5359oo9ause53mm/58__SP559g18mme>38mem53mm/>5359p.92="L>3216IT/,arup. We wo/a> 263<5ef32em18O536roo9ause53m/m5818pr56825"mm/mem18e53m/m>5360.m93723p. We> 263 263<5ef32em18O5361oo9ause53nam5889" 56ntroon"mm/m53637<86=e__9" 5mref31/a><5ef32em18O5362oo9ause53g185826pu562troon"mm/m536 2689e__9" 5mref31/a><5ef32em18O5363oo9ause5331458e="L56m536aaa88723p.n_void) 263"rup. We womnle" >182_claar_ec" 2p1833"mm/memmnle" >182_claar_ec82o+cvoidkmo9 EI4mref31/a><4ef32em18O5364oo9ause53t h58ame=56bycode=mem_3253t h>53633480> 2_m5"5earef32__S5Iloops=ef5365oo9ause53m/m58="L356553min392aagned s4182cl2p1833"mm/mem1bre" >182e>181"> 263 263<5ef32em18O5366oo9ause53ef3586 >3unsi53ef3>536w.m93mo9 EI4mref31/a><4ef32em18O5367oo9ause53m_w58eNUL56&g18mme>381">53m_w>536sp394723p. Wec2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5368oo9ause53ss3586on>56&g18mme>38mem53ss3>5368co85c2)m_ryeis undereoom,a666666666s we must claar Loving_task beforeowakina up waiters at the endoofassbatchcname5 inlass="l5nch9" e t5369oo9ause53mm/58lass569g18mme>38mem53mm/>5369aa8ac2)m_ryeis undereoom,a666666666* task migr3p.on.assbatchcname5 inlass="l5nch9" e t537roo9ause53753703480e2)m_ryeis undereoom,a666666666seassbatchcname5 inlass="l5nch9" e t5371oo9ause53__u58h9" 57ntroon"mm/m53737<86723p. We> 263 263S5Iloops=ef5372oo9ause53g1858rere572troon"mm/m537 2689lagned s 263"rup. We wo__mnle" >182_claar_ec" 2p1833"mm/mem__mnle" >182_claar_ec82o+ck9e__9" 5mref31/a><5ef32em18O5373oo9ause53"  58rere57m537aaa88aadup. W/a> 263<5ef32em18O5374oo9ause53mm/58rere57bycode=mem_3253mm/>53733480181"> 26e oupryriscmoveec" 2p1833"mm/memLc82o+.> 263S5Iloops=ef5375oo9ause53e>158"> 25751>537in392aagned s> 263 263S5Iloops=ef5376oo9ause53mo>58.asm57re17"> >3unsi53mo>>537w.m93723p. We> 263 263<5ef32em18O5377oo9ause53e>158"> 257="line" 3ame=53e>1>537sp394723p. Wee oupryriscmovemnle" >182_end_4ove" 2p1833"mm/memmnle" >182_end_4ove82o+c> 263<5ef32em18O5378oo9ause53ss358"> 257&g18mme>38mem53ss3>537up.92=mo9 EI4mref31/a><4ef32em18O5379oo9ause53nam58spf2579g18mme>38mem53nam>537"+c83/a> 2334re/a>53wap>538coo90723p.n_incode=__pagSPIi8NUmnle" >182_can_attach" 2p1833"mm/memmnle" >182_can_attach82o+c4182cl2p1833"mm/mem" >182e>181"> 263182cl2p1833"mm/mem" >182e>18hmo9 EI4mref31/a><4ef32em18O5381oo9ause53wap58spf258ntroon"mm/m53837<86723p. We would eeeeeeeeeeeeeeeeee4182_taskset" 2p1833"mm/mem" >182_tasksete>181"> 263<4ef32em18O5382oo9ause53wap58spf2582troon"mm/m538 2689> 2_m5"5earef32__S5Iloops=ef5383oo9ause53"  58spf258m538aaa88aadup. W4181"> 263182_taskset_first" 2p1833"mm/mem" >182_taskset_first82o+c> 263<5ef32em18O5384oo9ause53wap58spf258mem18swap_sUm53wap>53833480181"> 26cncode=__pagSPIi8NUrepcl2p1833"mm/memrepsbat hc09e__9" 5mref31/a><5ef32em18O53w5oo9ause53wap58spf2585538in392aagned s4182cl2p1833"mm/mem1bre" >182e>181"> 263182_from_<5ef" 2p1833"mm/memmnle" >182_from_<5ef82o+c> 263182cl2p1833"mm/mem" >182e>18k9e__9" 5mref31/a><5ef32em18O5386oo9ause53mo>58spf258re17"> >3unsi53mo>>538w.m93mo9 EI4mref31/a><4ef32em18O53w7oo9ause53t h58cbee58&g18mme>381">53t h>538sp394723p. Wecf="4 2_m5"5earef32__S5Iloops=ef53w8oo9ause53ss358cbee58&g18mme>38mem53ss3>538up.92="L>32167" cla2 4 263<5ef32em18O5389oo9ause53t h58cbee589g18mme>38mem53t h>538_oo9097break8ef=enuma4182cl2p1833"mm/mem1bre" >182e>181"> 263182_from_task" 2p1833"mm/memLnle" >182_from_task82o+c> 263<5ef32em18O539roo9ause53t h58cbee59825"mm/mem18e53t h>539/.m93wou)" 5mref31/a>S5Iloops=ef5391oo9ause53t h58cbee591coup_mm3_ et53t h>53937<86723p. We would e> 263 263<5ef32em18O5392oo9ause53wap58cbee592troon"mm/m539 2689e__9" 5mref31/a><5ef32em18O5393oo9ause53wap58sp3clas18ef178_ooee53wap>539aaa88aadup. We wold e> 263 263<5ef32em18O5394oo9ause53wap5889" 4ecordup. 2e wo53wap>53933480181"> 2697break8cf="u=====QUEUE_2 c"4mcl2p1833"mm/memmmoo90kmo9 EI4mref31/a><4ef32em18O5395oo9ause53wap48spf248mme>181"2 26353wap>539in392aagned shor_HEAD88888888nalop>)09e__9" 5mref31/a><5ef32em18O5396oo9ause53mo>58cbee49>320>539w.m93723p. Welagned se2)m_ryeis undereoom,ass We Love charges only when we move a owner of the mm6seassbatchcname5 inlass="l5nch9" e t5397oo9ause53t h58cbee49 ha hlin3 til53t h>539sp394723p. We would ecf="4 2_m5"5earef32__S5Iloops=ef5398oo9ause53t h58cbee499"> 247<3/a><53t h>539up.92="L>32167" cla2  would e> 263 263 263<5ef32em18O5399oo9ause53t h58spf2499g18mme>38mem53t h>539_oo9097break8ef=enuma would e> 263 263 263<5ef32em18O54proo9ause54proo8spf2499g18mme>38mem54pro>540coo9097break8ef=enuma would e> 263 263 263<5ef32em18O54p1oo9ause54p h58cbee591coup_mm3_ et54p h>54037<86723p. We would eeeeeeeee> 263 263 263<5ef32em18O54p2oo9ause54pap58cbee592troon"mm/m540 2689lagned s97break8ef=enumanae__rup. We woVM_BUG_ONcl2p1833"mm/memVM_BUG_ON82o+c> 263 263<5ef32em18O54p3oo9ause54pap58sp3clas18ef178_ooee54pap>540aaa88aadup. We wold e would e/a>182_723rc_4ove" 2p1833"mm/memmnle" >182_723rc_4ove82o+c> 263<5ef32em18O54p4oo9ause54pap5889" 4ecordup. 2e wo54pap>54033480181"> 2697break888888888/a> 263<5ef32em18O54p5oo9ause54pap48spf248mme>181"2 26354pap>540in392aagned shor_HEAD88888888e oupryriscmoveec" 2p1833"mm/memLc82o+.> 263<5ef32em18O54p6oo9ause54po>58cbee49>320>540w.m93723p. Welagned sDDDDDDDDnae__rup. We womc" 2p1833"mm/memLc82o+.> 263<5ef32em18O54p7oo9ause54p h58cbee49 ha hlin3 til54p h>540sp394723p. We would e88888888/a> 263<5ef32em18O54p8oo9ause54p h58cbee499"> 247<3/a><54p h>540up.92="L>32167" cla2 lagned sc2)m_ryeis undereoom,ass We set mc.Loving_task later seassbatchcname5 inlass="l5nch9" e t54p9oo9ause54p h58spf2499g18mme>38mem54p h>540"+c83/a>541coo9097break8ef=enuma would e> 263182_prechargeeec" 2p1833"mm/memLnle" >182_prechargeeec82o+c=====QUEUE_2 c"4mcl2p1833"mm/memmmoo90k9e__9" 5mref31/a><5ef32em18O5411oo9ause54e>159"> 351ntroon"mm/m1>54137<86723p. We would eeeeeeeeecf="4<4ef32em18O54n2oo9ause54scv59id 3512troon"mm/m541 2689lagned s97break8ef=enumaDDDDDDDDnae__rup. We womnle" >182_claar_ec" 2p1833"mm/memmnle" >182_claar_ec82o+ck9e__9" 5mref31/a><5ef32em18O5413oo9ause54wap59().351m541aaa88aadup. We wold e=mo9 EI4mref31/a><4ef32em18O54n4oo9ause54wap59ere351bycode=mem_3254wap>54133480181"> 2697break8=====QUEUE_2 c"4mpuc" 2p1833"mm/mem4mpuc82o+c=====QUEUE_2 c"4mcl2p1833"mm/memmmoo90k9e__9" 5mref31/a><5ef32em18O5415oo9ause54wap5918p3515541in392aagned s=mo9 EI4mref31/a><4ef32em18O54n6oo9ause54t h59mm_351re17"> >3unsi54t h>541w.m93723p. Wenalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O54n7oo9ause54t h59rer351&g18mme>381">54t h>541sp394=mo9 EI4mref31/a><4ef32em18O54n8oo9ause54t h59h9"3519"> 2ef=enuma54t h>541up.92mo9 EI4mref31/a><4ef32em18O5419oo9ause54t h59rer3519g18mme>38mem54t h>541_oo90723p.n_void) 263"rup. We womnle" >182_cancel_attach" 2p1833"mm/memmnle" >182_cancel_attach82o+c4182cl2p1833"mm/mem" >182e>181"> 263182cl2p1833"mm/mem" >182e>18hmo9 EI4mref31/a><4ef32em18O542roo9ause54scv59id 352825"mm/mem18e54scv>542e7<86723p. We would eeeeeeeeeaadup. We wol4182_taskset" 2p1833"mm/mem" >182_tasksete>181"> 263<4ef32em18O54s1oo9ause54t h59cbe352put" clP2254237<86> 2_m5"5earef32__S5Iloops=ef54s2oo9ause54t h59cbe3522troon"mm/m542 2689lagned s 263"rup. We womnle" >182_claar_ec" 2p1833"mm/memmnle" >182_claar_ec82o+ck9e__9" 5mref31/a><5ef32em18O54s3oo9ause54wap59cbe352m542aaa88=mo9 EI4mref31/a><4ef32em18O54s4oo9ause54t h59cbe352mem18swap_sUm54t h>54247<86e__9" 5mref31/a><5ef32em18O54s5oo9ause54wap5918p3525542in392723p.n_incode=__pagSPIi8NUmnle" >182_move_chargeeptw_rangecl2p1833"mm/memmnle" >182_move_chargeeptw_range82o+c> 263 263<4ef32em18O54s6oo9ause54t h5918p352re17"> >3unsi54t h>542w.m93723p. Welagned sDDDDDDDDDDDDDDDDunsignedslongode=__pagSPIi8NUaddr" 2p1833"mm/memaddrsbatheunsignedslongode=__pagSPIi8NUendcl2p1833"mm/mem" dsbathmo9 EI4mref31/a><4ef32em18O54s7oo9ause54mm/59rer352&g18mme>381">54mm/>542sp394723p. We would e88888888. We wol4 263<4ef32em18O54s8oo9ause54t h59e.a352&g18mme>38mem54t h>542up.92> 2_m5"5earef32__S5Iloops=ef54s9oo9ause54wap59rer3529g18mme>38mem54wap>542_oo9097break8cncode=__pagSPIi8NUrepcl2p1833"mm/memrepsbat hc09e__9" 5mref31/a><5ef32em18O543roo9ause54scv59id 353825"mm/mem18e54scv>54303480181"> 264 263S5Iloops=ef5431oo9ause54wap59spf3531coup_mm3_ et54wap>54337<86723p. We> 263 263S5Iloops=ef5432oo9ause54t h59cbe3532troon"mm/m543 2689lagned s 263"rup. We wospin2ock_t82o+cef=enumaImspin2ock_taa88a"> 263S5Iloops=ef5433oo9ause5431459rea353m334re/a>54314>543aaa88aadup. WenumDnae__rup. We womc_target_typecl2p1833"mm/memmc_target_typeaa88a> 263S5Iloops=ef5434oo9ause54t h5918p353mem18swap_sUm54t h>54333480181"> 26unio>) 263"rup. We womc_targetcl2p1833"mm/memmc_targetaa88a> 263S5Iloops=ef5435oo9ause54m/m5972n3535g18m8334re/a54m/m>543in392aagned s4 263S5Iloops=ef5436oo9ause54t h59543w.m93723p. We4182cl2p1833"mm/mempagee" >18282o+a"> 263S5Iloops=ef5437oo9ause54mm/59eNU35t ha h8move_si54mm/>543sp394e__9" 5mref31/a><5ef32em18O5438oo9ause54t h5918p353&g18mme>38mem54t h>543up.92="L>3216c2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5439oo9ause54mm/5989"3538>.e 8ef=QUEU54mm/>5439aa8ac2)m_ryeis undereoom,a666666666* We don't take derpound_lock() here but no race with splittina th282sbatchcname5 inlass="l5nch9" e t544roo9ause54t h59cbee54>183class="s354t h>54403480e2)m_ryeis undereoom,a666666666s happens because:82sbatchcname5 inlass="l5nch9" e t5441oo9ause54wap59ght 54a1825"mm/mem154wap>54437<86e2)m_ryeis undereoom,a666666666*  -ecf=pmd_trans_huge_2ock() nalop>s 1hethe relevant thp is not82sbatchcname5 inlass="l5nch9" e t5442oo9ause54t h59L263542troon"mm/m544 2689c2)m_ryeis undereoom,a666666666s  26under splittina, which meansethere's noe<4ecurr" p thp split,82sbatchcname5 inlass="l5nch9" e t5443oo9ause5431459ef"m543coup_mm3_ et54314>544aaa8ac2)m_ryeis undereoom,a666666666s  -ecf=another thread runs8cnco split_huge_page() just after we82sbatchcname5 inlass="l5nch9" e t5444oo9ause54t h59ecte544coup_mm3_ et54t h>54447<86c2)m_ryeis undereoom,a666666666*p. Wenteredsthis if-b2ockhethe thread must waitWagespage table 2ock82sbatchcname5 inlass="l5nch9" e t5445oo9ause54m/m59e32e54lass="linefal54m/m>544in392c2)m_ryeis undereoom,a666666666*p. Wco be unlockedsin __split_huge_page_splittina(), where the main82sbatchcname5 inlass="l5nch9" e t5446oo9ause54n c59e>1854r thisce3pryr54n c>544w.m93c2)m_ryeis undereoom,a666666666*p. Wpart of thp split is not executedsyet.assbatchcname5 inlass="l5nch9" e t54t7oo9ause54m_w5923="54&g18mme>181">54m_w>544sp394e2)m_ryeis undereoom,a666666666seassbatchcname5 inlass="l5nch9" e t54t8oo9ause54ss358c#>3548"> 324544up.92="L>3216cf="4 263 2_m5"5earef32__S5Iloops=ef54t9oo9ause54mm/58e.as549g18mme>38mem54mm/>544_oo9097break8ef=enumacf="4 263 263 2_m5"5earef32__S5Iloops=ef545roo9ause54meu58" cl55825"mm/mem18e54meu>545coo9097break8ef=enuma would e> 263<5ef32em18O5451oo9ause54to 58252n55ntroon"mm/m54537<86723p. We would eeeeeeeeenalop>)09e__9" 5mref31/a><5ef32em18O54m2oo9ause54g1858e>18552troon"mm/m545 2689lagned s97break8=mo9 EI4mref31/a><4ef32em18O54m3oo9ause5431458274u55m545aaa88aadup. We wold e> 263 263 263<5ef32em18O5454oo9ause54t h5855mem18swap_sUm54t h>54533480181"> 2697break8cf="4 2_m5"5earef32__S5Iloops=ef5455oo9ause54m/m58567"55mme>181"2 26354m/m>545in392aagned shor_HEADe wold e> 263 263S5Iloops=ef54m6oo9ause54ef358mc55>320 54ef3>545w.m93723p. Welagned s97break8cf="u=====QUEUE_2 c"isolate_lru_pagecl2p1833"mm/memisolate_lru_page82o+c> 263 2_m5"5earef32__S5Iloops=ef5457oo9ause54m_w58 .as55 ha hlin3 til54m_w>545sp394723p. We would e88888888. We wol> 263182cl2p1833"mm/memlook82_pagee" >18282o+c> 263S5Iloops=ef54m8oo9ause54ss358L263559"> 247<545up.92="L>32167" cla2 lagned s97break8cf="u=====QUEUE_2 c"mnle" >182_move_accountcl2p1833"mm/memmnle" >182_move_account82o+c> 263<4ef32em18O5459oo9ause54mm/58__SP559g18mme>38mem54mm/>545_oo9097break8ef=enuma would e723p. We would e88888888. We wol> 263 263 263 2_m5"5earef32__S5Iloops=ef546roo9ause54m/m5818pr56825"mm/mem18e54m/m>546e7<86723p. We would eeeeeeeeeaadup. We wolwol> 263 263S5Iloops=ef5461oo9ause54nam5889" 56ntroon"mm/m54637<86723p. We would eeeeeeeeeeeeeeeeeeeeeeeee> 263 263S5Iloops=ef5462oo9ause54g185826pu562troon"mm/m546 2689lagned s97break8ef=enumaDDDDDDDD=mo9 EI4mref31/a><4ef32em18O5463oo9ause5431458e="L56m546aaa88aadup. We wold eeeeeeeeeeeeeeeee> 263 263S5Iloops=ef5464oo9ause54t h58ame=56bycode=mem_3254t h>54633480181"> 2697break888888888=mo9 EI4mref31/a><4ef32em18O5465oo9ause54m/m58="L3565546in392aagned shor_HEADe wold e> 263 263S5Iloops=ef5466oo9ause54ef3586 >3unsi54ef3>546w.m93723p. Welagned s=mo9 EI4mref31/a><4ef32em18O5467oo9ause54m_w58eNUL56&g18mme>381">54m_w>546sp394723p. We would e/a><5ef32em18O5468oo9ause54ss3586on>56&g18mme>38mem54ss3>546up.92="L>32167" cla2 nalop>)09e__9" 5mref31/a><5ef32em18O5469oo9ause54mm/58lass569g18mme>38mem54mm/>546_oo9097break8=mo9 EI4mref31/a><4ef32em18O547roo9ause547547/.m93wou)" 5mref31/a>S5Iloops=ef5471oo9ause54__u58h9" 57ntroon"mm/m54737<86723p. Wecf="4 263<4ef32em18O5472oo9ause54g1858rere572troon"mm/m547 2689lagned s97break8nalop>)09e__9" 5mref31/a><5ef32em18O5473oo9ause54"  58rere57m547aaa88de=__pagSPIi8NUreprycl2p1833"mm/memrepryaa88:e__9" 5mref31/a><5ef32em18O5474oo9ause54mm/58rere57bycode=mem_3254mm/>54733480181"> 26e oupryriscmoveptw" 2p1833"mm/memptwsbatahcnae__rup. We woptw_offset_map_2ockcl2p1833"mm/memptw_offset_map_2ock82o+c> 263<5ef32em18O5475oo9ause54e>158"> 25751>547in392aagned sages(9e> 263 263 2_m5"5earef32__S5Iloops=ef5476oo9ause54mo>58.asm57re17"> >3unsi54mo>>547w.m93723p. Welagned se 263 263<5ef32em18O5477oo9ause54e>158"> 257="line" 3ame=54e>1>547sp394723p. We would e/a><5ef32em18O5478oo9ause54ss358"> 257&g18mme>38mem54ss3>547up.92mo9 EI4mref31/a><4ef32em18O5479oo9ause54nam58spf2579g18mme>38mem54nam>547_oo9097break8ef=enumacf="u=====QUEUE_2 c"mc" 2p1833"mm/memLc82o+.> 263<4ef32em18O548roo9ause54wap58spf2589"> 2334re/a>54wap>548e7<86723p. We would eeeeeeeeebreak9e__9" 5mref31/a><5ef32em18O5481oo9ause54wap58spf258ntroon"mm/m54837<86e__9" 5mref31/a><5ef32em18O5482oo9ause54wap58spf2582troon"mm/m548 2689lagned s97break8switch="4 263 2_m5"5earef32__S5Iloops=ef5483oo9ause54"  58spf258m548aaa88aadup. We wold ecasecnae__rup. We woMC_TARGET_PAGEcl2p1833"mm/memMC_TARGET_PAGE82o+:e__9" 5mref31/a><5ef32em18O5484oo9ause54wap58spf258mem18swap_sUm54wap>54833480181"> 2697break888888888> 263 263S5Iloops=ef54w5oo9ause54wap58spf2585548in392aagned shor_HEADe wold ecf="4 263S5Iloops=ef54w6oo9ause54mo>58spf258re17"> >3unsi54mo>>548w.m93723p. Welagned sDDDDDDDDDDDDDDDDgotoe> 263S5Iloops=ef54w7oo9ause54t h58cbee58&g18mme>381">54t h>548sp394723p. We would e88888888/a>182cl2p1833"mm/memlook82_pagee" >18282o+c> 263S5Iloops=ef54w8oo9ause54ss358cbee58&g18mme>38mem54ss3>548up.92="L>32167" cla2 e wold ecf="u=====QUEUE_2 c"mnle" >182_move_accountcl2p1833"mm/memmnle" >182_move_account82o+c> 263S5Iloops=ef54w9oo9ause54t h58cbee589g18mme>38mem54t h>548_oo9097break8ef=enumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanae__rup. We woec" 2p1833"mm/memLc82o+.> 263 263 2_m5"5earef32__S5Iloops=ef549roo9ause54t h58cbee59825"mm/mem18e54t h>549e7<86723p. We would eeeeeeeeeaadup. W=====QUEUE_2 c"mc" 2p1833"mm/memLc82o+.> 263S5Iloops=ef5491oo9ause54t h58cbee591coup_mm3_ et54t h>54937<86723p. We would eeeeeeeeeaadup. W=2)m_ryeis undereoom,ass we uncharge from mc.from later. *eassbatchcname5 inlass="l5nch9" e t5492oo9ause54wap58cbee592troon"mm/m549 2689lagned s97break8ef=enumaDDDDDDDDnae__rup. We womc" 2p1833"mm/memLc82o+.> 263S5Iloops=ef5493oo9ause54wap58sp3clas18ef178_ooee54wap>549aaa88aadup. We wold eeeeeeeee=mo9 EI4mref31/a><4ef32em18O5494oo9ause54wap5889" 4ecordup. 2e wo54wap>54933480181"> 2697break8DDDDDDDDnae__rup. We woputback_lru_pagecl2p1833"mm/memputback_lru_page82o+c> 263S5Iloops=ef5495oo9ause54wap48spf248mme>181"2 26354wap>549in392> 26358cbee49>320>549w.m93723p. Welagned sDDDDDDDDnae__rup. We woput_pagecl2p1833"mm/memput_page82o+c> 263S5Iloops=ef5497oo9ause54t h58cbee49 ha hlin3 til54t h>549sp394723p. We would eeeeeeeeebreak9e__9" 5mref31/a><5ef32em18O5498oo9ause54t h58cbee499"> 247<3/a><54t h>549up.92="L>32167" cla2 casecnae__rup. We woMC_TARGET_SWAPcl2p1833"mm/memMC_TARGET_SWAP82o+:e__9" 5mref31/a><5ef32em18O5499oo9ause54t h58spf2499g18mme>38mem54t h>549_oo9097break8ef=enuma would e> 263 263<5ef32em18O55proo9ause55proo8spf2499g18mme>38mem55pro>550coo9097break8ef=enuma would ecf="u=====QUEUE_2 c"mnle" >182_move_swap_accountcl2p1833"mm/memmnle" >182_move_swap_account82o+c> 263 263 263 2_m5"5earef32__S5Iloops=ef55p1oo9ause55p h58cbee591coup_mm3_ et55p h>55037<86723p. We would eeeeeeeee would e> 263 263S5Iloops=ef55p2oo9ause55pap58cbee592troon"mm/m550 2689lagned s97break8ef=enuma would e>2)m_ryeis undereoom,ass we fixup  5mcnts andocharges later. *eassbatchcname5 inlass="l5nch9" e t55p3oo9ause55pap58sp3clas18ef178_ooee55pap>550aaa88aadup. We wold e would e would e> 263 263S5Iloops=ef55p4oo9ause55pap5889" 4ecordup. 2e wo55pap>55033480181"> 2697break888888888=mo9 EI4mref31/a><4ef32em18O55p5oo9ause55pap48spf248mme>181"2 26355pap>550in392aagned shor_HEAD88888888break9e__9" 5mref31/a><5ef32em18O55p6oo9ause55po>58cbee49>320>550w.m93723p. Welagned sdefault:e__9" 5mref31/a><5ef32em18O55p7oo9ause55p h58cbee49 ha hlin3 til55p h>550sp394723p. We would e88888888break9e__9" 5mref31/a><5ef32em18O55p8oo9ause55p h58cbee499"> 247<3/a><55p h>550up.92="L>32167" cla2 =mo9 EI4mref31/a><4ef32em18O55p9oo9ause55p h58spf2499g18mme>38mem55p h>550_oo9097break8=mo9 EI4mref31/a><4ef32em18O551roo9ause55n c59551coo9097break8e 263 263<5ef32em18O5511oo9ause55e>159"> 351ntroon"mm/m1>55137<86723p. We> 263<5ef32em18O5512oo9ause55scv59id 3512troon"mm/m551 2689e__9" 5mref31/a><5ef32em18O5513oo9ause55wap59().351m551aaa88aadup. Wcf="4 2_m5"5earef32__S5Iloops=ef55n4oo9ause55wap59ere351bycode=mem_3255wap>55133480181"> 2697break8=2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5515oo9ause55wap5918p3515551in392c2)m_ryeis undereoom,a66666666666666666* We have consumed all precharges we gotsin can_attach().assbatchcname5 inlass="l5nch9" e t55n6oo9ause55t h59mm_351re17"> >3unsi55t h>551w.m93c2)m_ryeis undereoom,a66666666666666666* We tryocharge one by one, but don't do any addip.onalassbatchcname5 inlass="l5nch9" e t55n7oo9ause55t h59rer351&g18mme>381">55t h>551sp394e2)m_ryeis undereoom,a66666666666666666* charges to mc.toWcf=we have failedsin charge oncesin attach()assbatchcname5 inlass="l5nch9" e t55n8oo9ause55t h59h9"3519"> 2ef=enuma55t h>5518co85c2)m_ryeis undereoom,a66666666666666666* phase.assbatchcname5 inlass="l5nch9" e t55n9oo9ause55t h59rer3519g18mme>38mem55t h>5519aa8ac2)m_ryeis undereoom,a66666666666666666*eassbatchcname5 inlass="l5nch9" e t552roo9ause55scv59id 352825"mm/mem18e55scv>552e7<86723p. We would ede=__pagSPIi8NUrepcl2p1833"mm/memrepoo90ahcnae__rup. We womnle" >182_do_precharge" 2p1833"mm/memmnle" >182_do_precharge82o+c1k9e__9" 5mref31/a><5ef32em18O55s1oo9ause55t h59cbe352put" clP2255237<86723p. We would ecf="u=====QUEUE_2 c"repcl2p1833"mm/memrepsbatkmo9 EI4mref31/a><4ef32em18O55s2oo9ause55t h59cbe3522troon"mm/m552 2689lagned s97break8ef=enumagotoe> 263<5ef32em18O55s3oo9ause55wap59cbe352m5523oo9097break8=mo9 EI4mref31/a><4ef32em18O55s4oo9ause55t h59cbe352mem18swap_sUm55t h>55247<86e__9" 5mref31/a><5ef32em18O55s5oo9ause55wap5918p3525552in392aagned snalop>) 263"rup. We worepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O55s6oo9ause55t h5918p352re17"> >3unsi55t h>552w.m93=mo9 EI4mref31/a><4ef32em18O55s7oo9ause55mm/59rer352&g18mme>381">55mm/>552sp394e__9" 5mref31/a><5ef32em18O55s8oo9ause55t h59e.a352&g18mme>38mem55t h>552up.92723p.n_void) 263"rup. We womnle" >182_move_chargecl2p1833"mm/memmnle" >182_move_charge82o+c4 263<4ef32em18O55s9oo9ause55wap59rer3529g18mme>38mem55wap>552_oo90> 2_m5"5earef32__S5Iloops=ef553roo9ause55scv59id 353825"mm/mem18e55scv>55303480181"> 264 263<5ef32em18O5531oo9ause55wap59spf3531coup_mm3_ et55wap>55337<86e__9" 5mref31/a><5ef32em18O5532oo9ause55t h59cbe3532troon"mm/m553 2689lagned s 263"rup. We wolru_add_drain_all" 2p1833"mm/memlru_add_drain_all82o+ck9e__9" 5mref31/a><5ef32em18O5533oo9ause5531459rea353m334re/a>55314>553aaa88de=__pagSPIi8NUreprycl2p1833"mm/memrepryaa88:e__9" 5mref31/a><5ef32em18O5534oo9ause55t h5918p353mem18swap_sUm55t h>55333480181"> 26cf="4 2_m5"5earef32__S5Iloops=ef5535oo9ause55m/m5972n3535g18m8334re/a55m/m>553in392aagned shor_HEAD=2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5536oo9ause55t h59553w.m93c2)m_ryeis undereoom,a66666666666666666* Someone who are holdina the mmap_sem might be waitina in82sbatchcname5 inlass="l5nch9" e t5537oo9ause55mm/59eNU35t ha h8move_si55mm/>553sp394e2)m_ryeis undereoom,a66666666666666666* waitq. So=we cancel all extra charges,owake up all waiters,82sbatchcname5 inlass="l5nch9" e t5538oo9ause55t h5918p353&g18mme>38mem55t h>5538co85c2)m_ryeis undereoom,a66666666666666666* andorepry. Because=we cancel precharges, we might not be able82sbatchcname5 inlass="l5nch9" e t5539oo9ause55mm/5989"3538>.e 8ef=QUEU55mm/>5539aa8ac2)m_ryeis undereoom,a66666666666666666* to move enough charges,obut Loving charge is a best-effort82sbatchcname5 inlass="l5nch9" e t554roo9ause55t h59cbee54>183class="s355t h>55403480e2)m_ryeis undereoom,a66666666666666666* fealope anyway, soWct wouldn't be a big problem.assbatchcname5 inlass="l5nch9" e t5541oo9ause55wap59ght 54a1825"mm/mem155wap>55437<86e2)m_ryeis undereoom,a66666666666666666*eassbatchcname5 inlass="l5nch9" e t5542oo9ause55t h59L263542troon"mm/m554 2689lagned s97break8e oupryriscmove__mnle" >182_claar_ec" 2p1833"mm/mem__mnle" >182_claar_ec82o+ck9e__9" 5mref31/a><5ef32em18O5543oo9ause5531459ef"m543coup_mm3_ et55314>554aaa88aadup. We wold e> 263<5ef32em18O5544oo9ause55t h59ecte544coup_mm3_ et55t h>55433480181"> 2697break8gotoe> 263<5ef32em18O5545oo9ause55m/m59e32e54lass="linefal55m/m>554in392aagned s=mo9 EI4mref31/a><4ef32em18O5546oo9ause55n c59e>1854r thisce3pryr55n c>554w.m93723p. Weages(> 263 2_m5"5earef32__S5Iloops=ef55t7oo9ause55m_w5923="54&g18mme>181">55m_w>554sp394723p. We would ecncode=__pagSPIi8NUrepcl2p1833"mm/memrepsbat9e__9" 5mref31/a><5ef32em18O5548oo9ause55ss358c#>3548"> 324554up.92="L>32167" cla2 4182_move_charge_walkcl2p1833"mm/memmnle" >182_move_charge_walksbatahc> 2_m5"5earef32__S5Iloops=ef55t9oo9ause55mm/58e.as549g18mme>38mem55mm/>554_oo9097break8ef=enumaaaaaaaaa.> 263182_move_chargeeptw_rangecl2p1833"mm/memmnle" >182_move_chargeeptw_range82o+hwou)" 5mref31/a>S5Iloops=ef555roo9ause55meu58" cl55825"mm/mem18e55meu>555coo9097break8ef=enuma would e.> 263S5Iloops=ef5551oo9ause55to 58252n55ntroon"mm/m55537<86723p. We would eeeeeeeee.> 263S5Iloops=ef5552oo9ause55g1858e>18552troon"mm/m555 2689lagned s97break8=9e__9" 5mref31/a><5ef32em18O55m3oo9ause5531458274u55m555aaa88aadup. We wold ecf="4 263<4ef32em18O5554oo9ause55t h5855mem18swap_sUm55t h>55533480181"> 2697break888888888<4efinue9e__9" 5mref31/a><5ef32em18O55m5oo9ause55m/m58567"55mme>181"2 26355m/m>555in392aagned shor_HEADde=__pagSPIi8NUrepcl2p1833"mm/memrepoo90ahcnae__rup. We wowalk_pageerangecl2p1833"mm/memwalk_pageerange82o+c> 263S5Iloops=ef5556oo9ause55ef358mc55>320 55ef3>555w.m93723p. Welagned s97break8888888888888888888888888 263182_move_charge_walkcl2p1833"mm/memmnle" >182_move_charge_walksbatk9e__9" 5mref31/a><5ef32em18O5557oo9ause55m_w58 .as55 ha hlin3 til55m_w>555sp394723p. We would ecf="4<4ef32em18O55m8oo9ause55ss358L263559"> 247<555up.92="L>32167" cla2 lagned s=2)m_ryeis undereoom,assassbatchcname5 inlass="l5nch9" e t5559oo9ause55mm/58__SP559g18mme>38mem55mm/>5559aa8ac2)m_ryeis undereoom,a6666666666666666666666666* meansewe have consumed all precharges andofailedsinassbatchcname5 inlass="l5nch9" e t556roo9ause55m/m5818pr56825"mm/mem18e55m/m>55603480e2)m_ryeis undereoom,a6666666666666666666666666* doing addip.onal charge. Just abandon here.assbatchcname5 inlass="l5nch9" e t5561oo9ause55nam5889" 56ntroon"mm/m55637<86e2)m_ryeis undereoom,a6666666666666666666666666*eassbatchcname5 inlass="l5nch9" e t5562oo9ause55g185826pu562troon"mm/m556 2689lagned s97break8ef=enumabreak9e__9" 5mref31/a><5ef32em18O5563oo9ause5531458e="L56m5563oo9097break8=mo9 EI4mref31/a><4ef32em18O5564oo9ause55t h58ame=56bycode=mem_3255t h>55633480181"> 264<5ef32em18O5565oo9ause55m/m58="L3565556in392=mo9 EI4mref31/a><4ef32em18O5566oo9ause55ef3586 >3unsi55ef3>556w.m93mo9 EI4mref31/a><4ef32em18O5567oo9ause55m_w58eNUL56&g18mme>381">55m_w>556sp394723p.n_void) 263"rup. We womnle" >182_move_task" 2p1833"mm/memLnle" >182_move_task82o+c4182cl2p1833"mm/mem" >182e>181"> 263S5Iloops=ef5568oo9ause55ss3586on>56&g18mme>38mem55ss3>556up.92="L>32167" cla2                  4182_taskset" 2p1833"mm/mem" >182_tasksete>181"> 263<4ef32em18O5569oo9ause55mm/58lass569g18mme>38mem55mm/>556_oo90> 2_m5"5earef32__S5Iloops=ef557roo9ause55755703480181"> 264181"> 263182_taskset_first" 2p1833"mm/mem" >182_taskset_first82o+c> 263<5ef32em18O5571oo9ause55__u58h9" 57ntroon"mm/m55737<86723p. We4 263 263<5ef32em18O5572oo9ause55g1858rere572troon"mm/m557 2689e__9" 5mref31/a><5ef32em18O5573oo9ause55"  58rere57m557aaa88aadup. Wcf="4 2_m5"5earef32__S5Iloops=ef5574oo9ause55mm/58rere57bycode=mem_3255mm/>55733480181"> 2697break8cf="4 263158"> 25751>557in392aagned shor_HEAD88888888 263"rup. We womnle" >182_move_chargecl2p1833"mm/memmnle" >182_move_charge82o+c4<5ef32em18O5576oo9ause55mo>58.asm57re17"> >3unsi55mo>>557w.m93723p. Welagned se 263<5ef32em18O5577oo9ause55e>158"> 257="line" 3ame=55e>1>557sp394723p. We=mo9 EI4mref31/a><4ef32em18O5578oo9ause55ss358"> 257&g18mme>38mem55ss3>557up.92="L>3216cf="4 26338mem55nam>557_oo9097break8ef=enuma 263"rup. We womnle" >182_claar_ec" 2p1833"mm/memmnle" >182_claar_ec82o+ck9e__9" 5mref31/a><5ef32em18O558roo9ause55wap58spf2589"> 2334re/a>55wap>558e7<86=mo9 EI4mref31/a><4ef32em18O5581oo9ause55wap58spf258ntroon"mm/m55837<86#else  e>2)m_ryeis undereoom,ass !CONFIG_MMU6*eassbatchcname5 inlass="l5nch9" e t5582oo9ause55wap58spf2582troon"mm/m558 2689723p.n_incode=__pagSPIi8NUmnle" >182_can_attach" 2p1833"mm/memmnle" >182_can_attach82o+c4182cl2p1833"mm/mem" >182e>181"> 263182cl2p1833"mm/mem" >182e>18hmo9 EI4mref31/a><4ef32em18O5583oo9ause55"  58spf258m558aaa88aadup. We wold e                 4182_taskset" 2p1833"mm/mem" >182_tasksete>181"> 263<4ef32em18O5584oo9ause55wap58spf258mem18swap_sUm55wap>55833480> 2_m5"5earef32__S5Iloops=ef55w5oo9ause55wap58spf2585558in392aagned snalop>)09e__9" 5mref31/a><5ef32em18O55w6oo9ause55mo>58spf258re17"> >3unsi55mo>>558w.m93=mo9 EI4mref31/a><4ef32em18O55w7oo9ause55t h58cbee58&g18mme>381">55t h>558sp394723p.n_void) 263"rup. We womnle" >182_cancel_attach" 2p1833"mm/memmnle" >182_cancel_attach82o+c4182cl2p1833"mm/mem" >182e>181"> 263