linux/mm/percpu.c
<<
>>
Prefs
   1/*
   2 * mm/percpu.c - percpu memory allocator
   3 *
   4 * Copyright (C) 2009           SUSE Linux Products GmbH
   5 * Copyright (C) 2009           Tejun Heo <tj@kernel.org>
   6 *
   7 * This file is released under the GPLv2.
   8 *
   9 * This is percpu allocator which can handle both static and dynamic
  10 * areas.  Percpu areas are allocated in chunks.  Each chunk is
  11 * consisted of boot-time determined number of units and the first
  12 * chunk is used for static percpu variables in the kernel image
  13 * (special boot time alloc/init handling necessary as these areas
  14 * need to be brought up before allocation services are running).
  15 * Unit grows as necessary and all units grow or shrink in unison.
  16 * When a chunk is filled up, another chunk is allocated.
  17 *
  18 *  c0                           c1                         c2
  19 *  -------------------          -------------------        ------------
  20 * | u0 | u1 | u2 | u3 |        | u0 | u1 | u2 | u3 |      | u0 | u1 | u
  21 *  -------------------  ......  -------------------  ....  ------------
  22 *
  23 * Allocation is done in offset-size areas of single unit space.  Ie,
  24 * an area of 512 bytes at 6k in c1 occupies 512 bytes at 6k of c1:u0,
  25 * c1:u1, c1:u2 and c1:u3.  On UMA, units corresponds directly to
  26 * cpus.  On NUMA, the mapping can be non-linear and even sparse.
  27 * Percpu access can be done by configuring percpu base registers
  28 * according to cpu to unit mapping and pcpu_unit_size.
  29 *
  3| u1 | u2 | u3 |      | u0 | uTher even163rhe mapp3s
3 213*  -------------------  ......,


3 223* chunk is used for static perping and pcpufree ace.  "mm/r,    33* Allocation is done in offset="mm/percpukeepsar and ximumistets3 243* an area of 512 bytes at 6k iguarantallocationeqm/pocatticl typ"mm/anar and ximumistets3 253* c1:u1, c1:u2 and c1:u3.  On 1 occa href=percpbe >
 ofhelpsar anoth staticnneceo ipu.cpuur a#L11" id="L11" class="line" na3e="L26">3 263* cpus.  On NUMA, the mapping cercpu/spiabn or shriilyc#L29" id="L29" class="line" na3e="L27">3 273*
3 283* according to cpu to unit map-size areashe kngle e"mm/percpu.cukepcessn>
3 293*  -------------------        oan>
4 3| u1 | u2 | u3 |     4| u0 4 uTher even163rhe mapp3s4 214*  -------------------  ......egisercnnd pc
 of/spmseqm  .i/perc "mm>

#L30" id="L30" class="line" na4e="L22">4 224* chunk is used for static peratirybe >
 of of/osrcpuco0,  4 34* Allocation is done in offsetC

    44* an area of 512 bytes at 6k ia href=page atruct. >
4 254* c1:u1, c1:u2 and c1:u3.  On#L29" id="L29" class="line" na4e="L26">4 264* cpus.  On NUMA, the mapping Toablepc
 ofoth stati, v>

istdeeshouldido ref=foth wn>
sb#L29" id="L29" class="line" na4e="L27">4 274*
4 284* according to cpu to unit map-badfn c __addr_to_ef="mptr()no"mm__ef="mptr_to_addr()neo rranslcpu#L18" id="L18" class="line" na4e="L29">4 294*  -------------------         n/peula hrddrng peo andle bpo6kterco"mmback iper aye allocatio#L5" id="L5" class="line" name=e="L30">5 3| u1 | u2 | u3 |     5| u0 5 uTher even163rhe mapp3s5 215*  -------------------  .....#L12" id="L12" class="line" na5e="L22">5 225* chunk is used for static per-ablepef="msetup_cpu.c_percp()nd/span>
  5 35* Allocation is done in offset  setuppc
ercpu.cfchunk steta nn>
  5 45* an area of 512 bytes at 6k /#L26" id="L26" class="line" na5="L5">    55* c1:d="L26" class="line" na5e="L26">5 265* cpu#includee
    5 2757 cpu#includee
    5 2858 cpu#includee
    5 2959 cpu#includee
    6 3| u1 | u2 | u3 |     6| u0 60 cpu#includee
    6 2161 cpu#includee
    6 2262 cpu#includee
      6 363 cpu#includee
      6 464 cpu#includee
      6 565 cpu#includee
        66* cpu#includee
    6 2767 cpu#includee
    6 2868 cpu#includee
    6 2969 cpu#includee
    7 3| u1 | u2 | u3 |     7| u0 70 cpu#includee
    7 2171 c1:d="L26" class="line" na7e="L22">7 2272 cpu#includee
  7 373 cpu#includee
  7 474 cpu#includee
  7 575 cpu#includee
  7 676 c1:d="L26" class="line" na7="L7">    777 cpu#adfn c ="L26" cl+stde=PCPU_SLOT_BASE_SHIFT
      PCPU_SLOT_BASE_SHIFT cpuf="mm/percpu5/percpuan>
7 2878 cpu#adfn c ="L26" cl+stde=PCPU_DFL_MAP_ALLOC
      PCPU_DFL_MAP_ALLOC cpuf="mm/percpu"> *percpuan>
7 2979 c1:d="L26" class="line" na8e="L30">8 3| u1 | u2 | u3 |     8| u0 80 cpu#ifadf ="L26" cl+stde=CONFIG_SMP
      CONFIG_SMP c1:d="L26" class="line" na8e="L21">8 218*

, overrideein asm/="line"h ipe or shrink /#L26" id="L26" class="line" na8e="L22">8 2282 cpu#ifnadf ="L26" cl+stde=__addr_to_ef="mptr
      __addr_to_ef="mptr c1:d="L26" class="line" na8="L3">  8 383 cpu#adfn c ="L26" cl+stde=__addr_to_ef="mptr
      __addr_to_ef="mptr c1:(="L26" cl+stde=addr
      addr c1:)1                         cccccccccccccc\d="L26" class="line" na8="L4">  8 484 cpuf="mm/pe(void ="L26" cl+stde=__="line
      __="line cpuf*)((unsigfirslong)(="L26" cl+stde=addr
      addr c1:)1-         cccccccccccccc\d="L26" class="line" na8="L5">  8 585 cpuf="mm/percpu">>>>>>>>>>>>>(unsigfirslong)="L26" cl+stde=ef="mf="m_addr
      ef="mf="m_addr cpuf+ cccccccccccccc\d="L26" class="line" na8="L6">  8 686 cpuf="mm/percpu">>>>>>>>>>>>>(unsigfirslong)="L26" cl+stde=__="l_f="mstart
      __="l_f="mstart c1:)d="L26" class="line" na8="L7">  8 787 cpu#endifd="L26" class="line" na8="L8">    888 cpu#ifnadf ="L26" cl+stde=__ef="mptr_to_addr
      __=f="mptr_to_addr c1:d="L26" class="line" na8e="L29">8 2989 cpu#adfn c ="L26" cl+stde=__ef="mptr_to_addr
      __=f="mptr_to_addr c1:(="L26" cl+stde=ptr
      ptr c1:)1                         ccccccccccccccc\d="L26" class="line" na9e="L30">9 3| u1 | u2 | u3 |     9| u0 90 cpuf="mm/pe(void ="L26" cl+stde=__force
      __force cpuf*)((unsigfirslong)(="L26" cl+stde=ptr
      ptr c1:)1+ cccccccccccccccccccccccc\d="L26" class="line" na9e="L21">9 2191 cpuf="mm/percpu">>>>>>>>>>>>(unsigfirslong)="L26" cl+stde=ef="mf="m_addr
      ef="mf="m_addr cpuf-         ccccccc\d="L26" class="line" na9e="L22">9 2292 cpuf="mm/percpu">>>>>>>>>>>>(unsigfirslong)="L26" cl+stde=__="l_f="mstart
      __="l_f="mstart c1:)d="L26" class="line" na9="L3">  9 393 cpu#endifd="L26" class="line" na9="L4">  9 494 cpu#else puan>
  9 59* c1:u1, c1:u2 and c1:u3.  /  oanUP, it'ofotwaysL5"  .ity  9 696 cpu#adfn c ="L26" cl+stde=__addr_to_ef="mptr
      __addr_to_ef="mptr c1:(="L26" cl+stde=addr
      addr c1:)1       (void ="L26" cl+stde=__="line
      __="line cpuf*)(="L26" cl+stde=addr
      addr c1:)d="L26" class="line" na9="L7">  9 797 cpu#adfn c ="L26" cl+stde=__ef="mptr_to_addr
      __=f="mptr_to_addr c1:(="L26" cl+stde=ptr
      ptr c1:)1        (void ="L26" cl+stde=__force
      __force cpuf*)(="L26" cl+stde=ptr
      ptr c1:)d="L26" class="line" na9="L8">  9 898 cpu#endifpuan>
    999 c1:d="L26" class="line" na10e="L10">   10ef="mchunk cpuf{d="L26" class="line" na10e="L11"> 0 11
      lrcp_div> cpuf="mm/pe="L26" cl+stde=lrcp
      lrcp cpu;>>>>>>>>>>>an>
 0 12freercpu. cpu;>>>>>>an>
 0 13stets<_h6kt cpu;>>>>an>
 0 14f="m_addr cpu;>>>>>an>
 0 15/sp_bles cpu;>>>>>>>an>
 0 16/sp_oth s cpu;>>>>>>an>
 0 17/sp cpu;>>>>>>>>>>>an>
 0 18data cpu;>>>>>>>>>>an>
 0 19fool cpuf="mm/percpu">>>>>>>="L26" cl+stde=immutpan>
      immutpan> cpu;>>>>>>an>
   10>>>>>>="L26" cl+stde=populpopul>>>an>
   11   12   13ef="mm/perpages cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L14">   14=f="mm/percpu. cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L15">   15ef="mnrmm/pes cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L16">   16=f="matomrcpu. cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L17">   17ef="mnrmslots cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L18">   18cpu._t cpuf="L26" cl+stde=ef="mchunk_atructrcpu.
      =f="mchunk_atructrcpu. cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L19">   191  20ref=g)w1  21=f="mg)wmm/perine cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L22">1  22=f="mhighmm/perine cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L13">   23   24ref="mm/perhe kern1 occ /#L26" id="L26" class="line" na1me="L15">   25ef="mf="m_addr cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na1me="L16">   26EXPORT_SYMBOL_GPL c1:(="L26" cl+stde=pf="mf="m_addr
      ef="mf="m_addr cpu);d="L26" class="line" na1me="L17">   27   28ef="mm/per/sp cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;>>>>>>>>>>an>
   29ef="mm/perunit ss cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;>>>an>
1  3| u1 | u2 | u3 |     1 | u01| uThed="L26" class="line" na1me="L21">13 2113 22ef="mnrmgroups cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na13e="L13">   13ef="mgrouprunit ss cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na13e="L14"> 3 24cpu._t cpuf*="L26" cl+stde=ef="mgrouprcpu.s
      ef="mgrouprcpu.s cpuf="L26" cl+stde=__riv>_/osrcp
      __riv>_/osrcp cpu;d="L26" class="line" na13e="L15"> 3 2513 2613 27
 3 28

veral"mmff 3 2914 3| u1 | u2 | u3 |     14| u014 uTher even163rhe mapp3s14 21ef="mchunk cpuf*="L26" cl+stde=ef="mcpu.c_percp
      ef="mcpu.c_percp cpu;d="L26" class="line" na14e="L22">14 22  14 3  1  4al"
 ofchunk  4 25

14 2614 27
 4 2814 2915 3| u1 | u2 | u3 |     15| u0150  --he kernatruct ="L26" cl+stde==f="mchunk
      ef="mchunk cpuf*="L26" cl+stde=ef="mef="m15 21ef="m15 22  15 3  15 4
c#L15" id="L15" class="line" namee="L15">   515 26

#L2" id="L2" class="line" name15e="L27">15 27
 5 28
"e >
15 29

16 3| u1 | u2 | u3 |     16| u016 uTher even163rhe mapp3s16 21oth starea,anf="math s_mutex .cukepceh skirsothc/peressary h#L2" id="L2" class="line" name16e="L22">16 22
  16 3
ef="mh sk pan>
  16 4
  16 5   1616 27
16 2816 29be notheref="mm allsocatio#L5" id="L5" class="line" name17e="L30">17 3| u1 | u2 | u3 |     17| u017 uTher even163rhe mapp3s
 re hrim_work  and #L5" id="L5" class="line" name17e="L21">17 21
17 22

  17 3
  17 4
e clares,ame17="L4">  17 475 cpu#includee
  1776 c1:d="L26" class="1line"17ng frommearlyca i.npath - sch" na1=e="L30">15 3| u1 | u2 | u37="comment""> *
ef=unlia h e
15 3| u1 | u2 | u37s="com16et">78 cpu#adfn c ="L26" 1cl+st17cpu._t
      cpu._tDEFINE_SPINLOCKrmchunk_limit cDEFINE_SPINLOCK"m_addr
      ef= id=erine cpuf="L26" cl+stckna1me=poc popul15 3| u1 | u2 | u37s="com16et">79 c1:d="L26" class="1line"1na8e="L30">8 3| u1 | u2 | u3 1|     8| 1u0 80 cpu#ifadf ="L26" c1l+std18l+stde==f="mchunk
      efp_div> cpuf="mm/pe="L26" cl+stde=lrcp
irmchunk
      __riv>_/osrcp cpu;>>>an>
ih" na1=e="L30">15 3| u1 | u2 | u3s="com8en1t">8*
7 2282 cpu#ifnadf ="L26" 1cl+st18perre hrimed, pan>

15 3| u1 | u2 | u3s="comm17et">83 cpu#adfn c ="L26" 1cl+st18longc*="L26"
      __forpu;d="Lsa hrrmchunk_limit cpu;d="Lsa hr"m_adchunk
      efs="lstde=__rmchunk_limit cs="lstde=__lrcp
irmchunk
         2784 cpuf="mm/pe(void =1"L26"184pu._t
      cpu._tDECLARE_WORKrmchunk_limit cDECLARE_WORK"m_addr
      ef=L5" class="lrmchunk_limit cpu;d="Lsa hr_s="lna1m,   __forpu;d="Lsa hrrmchunk_limit cpu;d="Lsa hr"m_ae="L17">   2785 cpuf="mm/percpu">>1>>>>>18a13e="L26">13 2686 cpuf="mm/percpu">>1>>>>>186pu._t
      cpu._tf="mm/percpu">>>>>>>="L26" cdr
      ef=ucl+sinef="mcpu.c_percp cpu;d="L26" claucl+sinef="mcpu.c_p"m_ad="m_addr
        9 787 cpu#endifd="L26" c1lass=1line" ="L11"> 0 1188 cpu#ifnadf ="L26" 1cl+st18          *="L26" ddr
      ef=f="mcpu.c_percp cpu;d="L26" class="line" na14ed="L2 cpu._tf_addr cpu;>>>>>an>
 0 1189 cpu#adfn c ="L26" 1cl+st18a8e="L30">8 3| u1 | u2 | u3 1|     9| 1u0 90 cpuf="mm/pe(void =1"L26"1cl+stde=__force pathcdr
      =f="mm/percpu. cpuf="L26" cl+stde=__riv>_/osru"L11"> 0 1191 cpuf="mm/percpu">>1>>>>>1>>>>(u}"L11"> 0 1192 cpuf="mm/percpu">>1>>>>>19a15="L3">  15 393 cpu#endifd="L26" c1lass=193pu._t
      cpu._tf="mm/percpu">>>>>>>="L26" cdr
      ef=ucl+sine">ef="mef="m  9 794 cpu#else puan>
 0 119* c1:u1, c1:u2 and c11:u3.195         *="L26" ddr
      ef=f="mcpu.c_percp cpu;d="L26" class="line" na14ed="L2 cpu._tf_addr cpu;>>>>>an>
 0 1196 cpu#adfn c ="L26" 1cl+st19a7="L7">    797 cpu#adfn c ="L26" 1cl+st197+stde=__force pathcdr
          798 cpu#endifpuan>
pop)d="L26" class="line" na9=" =lt;cdr
      =f=ef="m15 2299 c1:d="L26" class="1line"1na10e=}"L11"> 0 1113 21_/osrL7">  9 7 0 11_/osrLpercpu.c art af/spmwith> *p4e/fe /#lassimitbeid="L2h" na1=e="L30">15 3| u1 | u2 | u2ss="comm02 u0me4 cpuf="mm/pevoid  2     2           *="e pathcdr
      PCPU_SLOT_BASE_SHIFT cpuf="mm/percpu5/percpuan>
   27 0 11    7ef="ef="mgofapanerine cpuf="L26 cl+sef="mgofapan"m_ad4rvirmchunk_limit
 ercpu. cpuf="L26" civ>_/osrL7">  9 7 0 11_/osr ==cdr
      ef="mm/percpu. cpuf="L26" cl+stde=__riv>_/osrL7">  9 7>>>>>>="L     *="e pathcdr
      ef="mnrmslots cpuf="L26" cl+stde=__riv>_/osrc- 1="L17">   27_/osrLp"L17">   27 0 11   24=f=" cl+stpanerine cpuf="L26 cl+s" cl+stpan"m_ad
     chunk
      ef="mchunk cpuf*="L26" cl+stde=ef="m  9 7 0 11cpu._tercpu. cpu;>>>>>>an>
stnk cpuf*="L26" cl+sf="mcpu._ttets<_h6kt cpu;>>>>an>
  9 7>>>>>>="L     *="e pathc0p"L17">   27   27cpu._tercpu. cpu;>>>>>>an>
   27 0 117 22

15 3| u1 | u2 | u2ss="com1m2nt"1 * Alld="L26" class=2line"22longc*="L26"
      __forpu;d=nk__riv>hunk cpuf*="L26" cl+stde=enk__riv>hunk c"m_adchunk
      efriv>puf*="L26" cl+stiv>lrcp
irmchunk
      puf*="L26" cl+stiv>lrcp,mchunk
      ef="mchunk cpuf*="L26" cl+stde=ef="m  9 7 0 11lrcpd="L2 cpu._tc#L2"puf*="L26" cl+sne" nam   =cde=ef="mf="m_addr
      efpuf*="L26" cl+stde=a 4rp"L17">   27 0 11   2815 3| u1 | u2 | u2s="commentnt"1 *ef="mchunk cpuf*="L26" cl+stde=ef="mhunk cpuf*="L26" cl+stde=egk__riv>hunk c"m_adchunk
      efriv>puf*="L26" cl+stiv>lrcp
irmchunk
      puf*="L26" cl+stiv>lrcpL7">  9 7 0 11efr"mchunk cpuf*="L26" cl+stde=ef="mpuf*="L26" cl+stiv>lrcpd="L2 cpu._tc#L2"puf*="L26" cl+sne" nam  p"L17">   27 0 11   24>>>>>>an>
ef=riv>hidhid<"m_ad==f="mhighmm/perine
      efpuf*="L26" cl+sde=a 4r,percpu.
      hidhid<"m_aL7">  9 7 0 11ef="mm/pr/sp cpuf="L26" cl+stde=__riv>_/osr[perine
      efpuf*="L26" cl+sde=a 4r] *ages
      ef="mm/perpages cpuf="L26" cl+stde=__riv>_/osrc+pu.
      hidhid<"m_ap"L17">   27
 0 11   27=f=" cl+sm_addr cpu);d="L26" clas" cl+sm_ad"m_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m   27>>>>>>="L     *=""""""""""""""""""""""==f="mhighmm/perine
      efpuf*="L26" cl+sde=a 4r,percpu.
      hidhid<"m_aL7">  9 7 0 11cpu._tf_addr cpu;>>>>>an>
=f="mm/pm/perunit ss cpuf="L26" cl+stde=__riv>_/osr[perine
      efpuf*="L26" cl+sde=a 4r] +"L11"> 0 11>>>>>>="L     *="ddr
      hidhid<"m_a =lt;=lt;cdr
         27 0 1113 26__forcemaybede= cpu;>>>>>>>an>
ef=nextde=posp cpuf="L26" cl+stdenextde=pos"m_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m   27
>>>>>>="L     *=""""""""""""""""""""""""""""per/sp
      puf*="L26" cl+srea 4r,percpu.
      >>>>>>an>
  9 7 0 11cpu._tul>>>an>
__forenu;>>>>>>>an>
   27puf*="L26" cl+srea 4r =cdr
      cpu._tul>>>an>
__forenu;>>>>>>>an>
   27>>(u}"L11"> 0 11  15 3__forcemaybede= cpu;>>>>>>>an>
ef=nextdposp cpuf="L26" cl+stdenextdpos"m_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m   27>>>>>>="L     *=""""""""""""""""""""""""""per/sp
      puf*="L26" cl+srea 4r,percpu.
      >>>>>>an>
  9 7 0 11cpu._tul>>>an>
__forenu;>>>>>>>an>
   27
puf*="L26" cl+srea 4r =cdr
      cpu._tul>>>an>
__forenu;>>>>>>>an>
   27 0 118 3| u1 | u2 | u3 2 |     162 u016 uTher even163rhe m2pp3s<2spa#L16" id="L16" class="lin name15="L4">  15 4oth starea,anf="math(Un)="L2" clasiistereg>
  15 4
  15 4
14 26

<" name="L17">  1715 3| u1 | u2 | u2ss="comme2nt"16* cpus.  On NUMA, t2e map26=__addr_to_ef="mptr
      

<"m_addr
      __forrnit ss cpuf="L26rsa 4r,pp
      puf*="L26" cl+srea 4r,pp
      __forenu;>>>>>>>an>
9 22

__forpu;d=nextde=posp cpuf="L26" cl+stdenextde=pos"m_adddr
      puf*="L26" cl+srea 4re, ddr
      >>>>>>an>
9 22puf*="L26" cl+srea 4re;                                                   "L22">9 22puf*="L26" cl+srea 4re +p1,   __forpu;d=nextde=posp cpuf="L26" cl+stdenextde=pos"m_adddr
      puf*="L26" cl+srea 4re, ddr
      >>>>>>an>
  9 713 21

<"m_addr
      __forrnit ss cpuf="L26rsa 4r,pp
      puf*="L26" cl+srea 4r,pp
      __forenu;>>>>>>>an>
9 22__forpu;d=nextdposp cpuf="L26" cl+stdenextdpos"m_adddr
      puf*="L26" cl+srea 4re, ddr
      >>>>>>an>
9 22>>>>>>="L     ddr
      9 22>>>>>>="L     ddr
      puf*="L26" cl+srea 4re +p1,   __forpu;d=nextdposp cpuf="L26" cl+stdenextdpos"m_adddr
      puf*="L26" cl+srea 4re, ddr
      >>>>>>an>
  9 775 cpu#includee
13 2676 c1:d="L26" class="2line"27ng frommearlyca i.npath - s/*name15="L4">  15 4 *
  16 378 cpu#adfn c ="L26" 2cl+st27mapFree path uring eh a hr1lpu@"mm/:eid="L2 cl 2" id="ame16="L3">  16 379 c1:d="L26" class="2line"27   ercpu bsafecpucalocatfrommame16="L3">  16 3  16 38*
  16 382 cpu#ifnadf ="L26" 2cl+st28perre hrimed, pan>

  1783 cpu#adfn c ="L26" 2cl+st28setoth stareascref=ase rssn>
 name="L17">  1784 cpuf="mm/pe(void =2"L26"28k igeneral,an>
  1785 cpuf="mm/percpu">>2>>>>>28Onfirqsave/restoa href=stinisoDo"L2an>

<" name="L17">  1786 cpuf="mm/percpu">>2>>>>>28ng frommearlyca i.npath - sch name="L17">  1787 cpu#endifd="L26" c2lass=28.cnpropupercoth starea/re hrimRETURNS: name="L17">  1788 cpu#ifnadf ="L26" 2cl+st28mapFree path uring eh a hr1lpuPd="L29" clunk  ral"mmff  1789 cpu#adfn c ="L26" 2cl+st28  /#L26" id="L26" class="line" na1=e="L30">15 3| u1 | u2 | u2|     9| 2u0 90 cpuf="mm/pe(void =2"L26"29l+stde==f="m="m_addr
      ef=mem_zL2" ip cpuf="L26" cl+stdemem_zL2" i"m_addr
      _/osrL7">  9 791 cpuf="mm/percpu">>2>>>>>29l+std="L11"> 0 1192 cpuf="mm/percpu">>2>>>>>292         *="if ddr
       cpu;>>>>>>an>
 cp"m_adc)L7">  9 793 cpu#endifd="L26" c2lass=293u">>>>>>>="L     *="e pathcdr
      >>>>>an>
>="L17">   2794 cpu#else puan>
   279* c1:u1, c1:u2 and c21:u3.295         *="if ddr
      _/osr =lt;=cdr
        9 796 cpu#adfn c ="L26" 2cl+st296u">>>>>>>="L     *="e pathcdr
      _/osr,   __foran>

   2797 cpu#adfn c ="L26" 2cl+st297+stde=__forcelse"L17">   2798 cpu#endifpuan>
_/osre="L17">   2799 c1:d="L26" class="2line"2na10e=}"L11"> 0 1113 21  17
  16 3
<@ptr:hL5" cla cl_worame16="L3">  16 394 cpu#else puan>

  16 39* c1:u1, c1:u2 and c3ccccc30On#L29" id="L29" class="line" na15e="L26">15 26  1715 3| u1 | u2 | u3s="commen3 u0me8 cpuf="mm/pevoid  3     308+stde==f="m="m_adr
      ef=mem__worp cpuf="L26" cl+stdemem__woram_ad="m_addr
      _/osrL7">  9 7 0 11>>>>>>="Lif ddr
      _/osr =lt;=cdr
        9 7   27   27>>>>>>="L     *="dr
         27 0 1113 26  15 4  15 4 4 25 4 2516 21oth starea,anf="mather arfuncn>

16 21

  17 4

 pand="L5" class=trere a 4rvis parteis n" cl putcreame14e="L15"> 4 25
16 2115 26  17  1715 3| u1 | u2 | u3s="commen3nt"1 *ef=" cl+sre" id="p cpuf="L26" cl+stde" cl+sre" id="am_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m  9 7 0 11ef=" cl+stpanerine cpuf="L26 cl+s" cl+stpan"m_addr
         27  15 3ef=">ef="m 0 11>>>>>>="L     *="2f ddr
       0 11>>>>>>="L     *="     *="dr
      cpu._t cl+erine cpuf="L26 cl+a 4r,p&dr
         27>>>>>>="L     *="else"L17">   27
>>>>>>="L     *="""""""""dr
      >>>>> cl+spani_taim"m_ad&dr
      cpu._t cl+erine cpuf="L26 cl+a 4r,p&dr
         27 0 11 0 1113 21  17
  16 3
<@cc/sp:lcc/spiass="L29e name14e="L15"> 4 25
 4 25 4 25
<" name="L17">  17
16 28  17  1716 21oth starea,anf="mathRETURNS: name="L17">  17



  17
  17
15 3| u1 | u2 | u3s="comm1e3nt"15* c1:u1, c1:u2 and 31:u3.35tde==f="mm/percpu.
      =f=ss="mgofextenderine cpuf="L26" cl+ss="mgofextendam_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m 0 11 0 11
>="L17">   27   27cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a ="L2=cdr
      cpu._t6" _ cpu;>>>>>>>an>
 0 11>>>>>>="L     *="e pathc0p"L17">   277 22>c=cdr
      >="L17">   27>c=lt;cdr
      cpu._t6" _ cpu;>>>>>>>an>
 0 11>>>>>>="L     *="dr
      >c*= 2="L17">   2713 26>="L17">   27
 0 11   27  17_"- extend"o="L16" aass class= name="L17">  17
 4 25


_/oe14e="L15"> 4 25
 4 25  namee="L21">16 2175 cpu#includee
16 2176 c1:d="L26" class="3line"37ng frommearlyca i.npath - schuCONTEXT: name="L17">  17 *


<"  Grab="ur a/sref=psa stde2" cl name="L17">  1778 cpu#adfn c ="L26" 3cl+st37mapFree path uring eh a hr1lp name="L17">  1779 c1:d="L26" class="3line"37   ercpu bsafecpucalocatfrommhRETURNS: name="L17">  17  178*
15 3| u1 | u2 | u3|s="com173t">82 cpu#ifnadf ="L26" 3cl+st38perref="mm/percpu.
      =f=extend_o="Liv>_puf*="L26" cl+stde=eextend_o="Liv>_am_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m>)"L11"> 0 1183 cpu#adfn c ="L26" 3cl+st38setot="L11"> 0 1184 cpuf="mm/pe(void =3"L26"384u">>>>>>>="Lercpsp
      >>>>>>an>
>c=cdr
      >>>>>an>
>,"sp
      >c=cdr
      >>>>>an>
>="L17">   2785 cpuf="mm/percpu">>3>>>>>385         *="rmchunk
      <=cpuf="L26" cl+stde=ef="mchunk_atructrcpu.
    oldu. cpu;>>>>>>an>
>c=c0,pp
      >>>>>an>
>c=cdr
      >c*c"mm/ofdp
      >[0])="L17">   2786 cpuf="mm/percpu">>3>>>>>386         *="de=ef="mgroupru.
      >="L17">   2787 cpu#endifd="L26" c3lass=38a1me="L18">   2888 cpu#ifnadf ="L26" 3cl+st38          *="p
      >c=cdr
      ef=mem_zL2" ip cpuf="L26" cl+stdemem_zL2" i"m_addr
      >>>>>an>
>)="L17">   2789 cpu#adfn c ="L26" 3cl+st38=bool
      >)"L11"> 0 11>>>>>>="L     *="e pathc-tructrcpu.
    ENOMEMp cpuf="L26" clENOMEMu">>="L17">   2791 cpuf="mm/percpu">>3>>>>>39a7e="L22">7 2292 cpuf="mm/percpu">>3>>>>>392         *="ee path uring eh a hr1"  acquirea stde2" c"ur aswitch"ne"sswu2="L16" at" na1=e="L30">15 3| u1 | u2 | u3="comm9en3t">93 cpu#endifd="L26" c3lass=393u">>>>>>>="Lrmchunk
      <=pine2" c_irqsanierine cpuf="L26=pine2" c_irqsani"m_ad&dr
      >,"u.
      >)="L17">   2794 cpu#else puan>
   279* c1:u1, c1:u2 and c31:u3.395         *="if ddr
      >c=lt;=cdr
      cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a)"L11"> 0 1196 cpu#adfn c ="L26" 3cl+st396u">>>>>>>="L     *="gone"tructrcpu.
    outde=2" cp cpuf="L26" cloutde=2" cu">>="L17">   2797 cpu#adfn c ="L26" 3cl+st39a1me="L18">   2898 cpu#endifpuan>
>>>>>an>
>c=cdr
      cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a *c"mm/ofdp
      cpu._t6" p cpuf="L26" cl6" u">>[0])="L17">   2799 c1:d="L26" class="3line"399         *="p
      >>>>>>an>
>c=cdr
      cpu._t6" p cpuf="L26" cl6" u">>="L17">   2713 21>,"u.
      >>>>>>an>
>,"u.
      >>>>>an>
>)="L17">   27  15 3>>>>>>="Lrmchunk
      cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a =cdr
      >="L17">   2794 cpu#else puan>
cpu._t6" p cpuf="L26" cl6" u">> =cdr
      >="L17">   279* c1:u1, c1:u2 and c4ccccc405         *="rmchunk
      >c=cdr
      >>>>>an>
>="L17">   27    7>:7">    798 cpu#endifpuan>
puf*="L26" cl+s=pinee=2" c_irq9e nor>"m_ad&dr
      >,"u.
      >)="L17">   278 3| u1 | u2 | u3 4ss="commm4nt"110 cpuf="mm/peunsigf4rslon4cpu">>>>>>>="L6" id="L16" class="lin name15="L4">  15 4
  17 4

  17
15 3| u1 | u2 | u4s4="comm04nt"1 * neehe kern6ktc="L46" cl41          *="dr
      ef=mem__worp cpuf="L26" cl+stdemem__woram_adu.
      >>>>>>an>
>,"u.
      >>>>>an>
>)="L17">   27>,"u.
      >>>>>an>
>)="L17">   27    7>>>>>>="Le pathc0p"L17">   27 0 118 3| u1 | u2 | u3 4ss="com1m4nt"1 * | u0 | u1 | u2 | 43 |  42pa#L16" id="L16" class="lininh name="L17">  17oth starea,anf="math" cl+aplit_b2" c"- aplit L16" ab2" cu"ame="L17">  17

 4 25
<@i:ec#L2"  n16" ab2" clco #plitame14e="L15"> 4 25
 4 25 4 25 4 25  17 42b2" cl@i 4 25  1716 21oth starea,anf="mathIfl@taime arson-zero,l="litarget1b2" c, which"c n" n @i16 21

  17
<=sl="sermff  17
 4 252 cl ccommod=f/eun>
 plitl name="L17">  17 4 25
  17  1715 3| u1 | u2 | u4 |     144 u014 uTher even163rhe m4pp3s<44l+stde==f="m="m_armchunk
      ef=aplit_b2" cp cpuf="L26" cl+stdeaplit_b2" cam_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m15 3| u1 | u2 | u4 s="com134nt"14*  --he kernatruct 4"L26"441         *=""""""""""""""""""""""ercpu.
      >>>>>taim"m_a)"L11"> 0 11 0 11>>>>>>="Lercpu.
      >>>>>an>
>c=c!!tructrcpu.
    headpuf*="L26" cl+sheada 4r +c!!tructrcpu.
    taimm/percpu">>>>>>taim"m_ap"L17">   27   27>>>>>BUG_ONam_adu.
      cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a =lt;cdr
      cpu._t6" _ cpu;>>>>>>>an>
>>>>>an>
>)="L17">   27    7
>>>>>>="Lee path uring eh a hr1"  ="serm"sswusubb2" cLne" na1=e="L30">15 3| u1 | u2 | u4 ="commen4nt"14* according to cpu 4o uni44          *="p
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      >>>>>an>
>],p&dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      15 3| u1 | u2 | u4 s="com134nt"14*  ----------------4--   449         *="lcpu._t6" p cpuf="L26" cl6" u">>[0])ath(dr
      cpu._t6" _ cpu;>>>>>>>an>
   27cpu._t6" _ cpu;>>>>>>>an>
>>>>>an>
>="L17">   277 22 0 11>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         27>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         27 0 11>>>>>taim"m_a) ="L11"> 0 11
>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      >>>>>taim"m_ap"L17">   27cpu._t6" p cpuf="L26" cl6" u">>[u.
      >>>>>taim"m_ap"L17">   27 0 11>}"L11"> 0 117 22  17
  17
 4 25 4 25 4 25
16 2816 21
16 2116 21
16 21

  namee="L21">16 21
 4 25  1775 cpu#includee
  1776 c1:d="L26" class="4line"47ng frommearlyca i.npath - sch name="L17">  17 *
  1778 cpu#adfn c ="L26" 4cl+st47mapFree path uring eh a hr1lpuA2" id="d
offseteine@lass="on subinde,s-1"if nom6"tchobmmo="L lname17="L4">  17 479 c1:d="L26" class="4line"47   ercpu bsafecpucalocatfrommhfounL" name="L17">  1715 3| u1 | u2 | u4|s="com174t">8*
=f=L2" i_o="Lpuf*="L26" cl+stde=eL2" i_o="Lam_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m_/osr, ercpu.
       0 1182 cpu#ifnadf ="L26" 4cl+st48peref="L11"> 0 1183 cpu#adfn c ="L26" 4cl+st483u">>>>>>>="Lercpu.
      ef=" cl+stpanerine cpuf="L26 cl+s" cl+stpan"m_addr
         2784 cpuf="mm/pe(void =4"L26"484u">>>>>>>="Lercp cpu._t6"x_contigp cpuf="L26" cl6"x_contig"m_a =c0p"L17">   2785 cpuf="mm/percpu">>4>>>>>485         *="ercpu.
         2786 cpuf="mm/percpu">>4>>>>>48a7="L7">    787 cpu#endifd="L26" c4lass=487u">>>>>>>="L>
cpu._t6" _ cpu;>>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[u.
       0 1188 cpu#ifnadf ="L26" 4cl+st48          *="l>>>>>boom     u.
      cpu._t6" _ cpu;>>>>>>>an>
   2789 cpu#adfn c ="L26" 4cl+st489         *="l>>>>>taim"m_ap"L17">   2713 2191 cpuf="mm/percpu">>4>>>>>491         *="""""""""de path uring eh a hr1"  extraL>
15 3| u1 | u2 | u4s="com8en4t">92 cpuf="mm/percpu">>4>>>>>492         *="l>>>>>ALIGNam_adu.
         2793 cpu#endifd="L26" c4lass=493u">>>>>>>="L     *="rmchunk
      >>>>>BUG_ONam_adu.
         2794 cpu#else puan>
   279* c1:u1, c1:u2 and c41:u3.495         *="lcpu._t6" p cpuf="L26" cl6" u">>[u.
       0 1196 cpu#adfn c ="L26" 4cl+st496u">>>>>>>="L     *="""""""""continue="L17">   2797 cpu#adfn c ="L26" 4cl+st497u">>>>>>>="L     *="ef ddr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      _/osrL ="L11"> 0 1198 cpu#endifpuan>
cpu._t6" p cpuf="L26" cl6" u">>[u.
         2799 c1:d="L26" class="4line"499         *="l   27>>>>>>="L     *="}"L11"> 0 117 22  15 4>>>>>>>>>>>>>>>>thIflheadeln small/ormtheldreviousib2" cl=sl_wor,ame15="L4">  15 494 cpu#else puan>

  15 49* c1:u1, c1:u2 and c5ccccc50On#L29" id="L29" class="line>>>>>>>>>>>>>>>>thlasns"mm/ofderc), which"is very small/but"isn't"toeame14e="L15"> 4 25>>>>>>>>>>>>>>>thuncommonL>

<>  namee="L21">16 21>>>>>>>>>>>>>>>t" na1=e="L30">15 3| u1 | u2 | u5s8="comm05 ">98 cpu#endifpuan>
cpu._t6" p cpuf="L26" cl6" u">>[u.
       0 11cpu._t6" p cpuf="L26" cl6" u">>[u.
       0 11>>>>>>="L     *="""""""""""""""""dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         27 0 11cpu._t6" p cpuf="L26" cl6" u">>[u.
         27>>>>>>="L     *="""""""""""""""""dr
      cpu._t_wor_. cpu;>>>>>>an>
   27>>>>>>="L     *="""""""""}"L11"> 0 11cpu._t6" p cpuf="L26" cl6" u">>[u.
         27>>>>>>="L     *="""""""""dr
         27>>>>>>="L     *="""""""""dr
         27 0 118 3| u1 | u2 | u3 5ss="com1m5nt"1 * | u0 | u1 | u2 | 53 |  52pu">>>>>>>="L     *="ee path uring eh a hr1"  =f taime arsmall, just"keep claarounL>t" na1=e="L30">15 3| u1 | u2 | u5ss="com1m5nt"1 *  --he kernunsigfi5s6ktc521         *="""""""""dr
      >>>>>taim"m_ac=cdr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      _/osrp"L17">   27>>>>>taim"m_a <c"mm/ofderc))"L11"> 0 11>>>>>>="L     *="""""""""dr
      >>>>>taim"m_ac=c0p"L17">   27   2715 3| u1 | u2 | u5s="commen5nt"1 * cpus"L26" cl+stde5EXPOR526u">>>>>>>="L     *="if ddr
      >>>>>taim"m_a) ="L11"> 0 11>>>>>>="L     *="""""""""dr
      ef=aplit_b2" cp cpuf="L26" cl+stdeaplit_b2" cam_addr
      >>>>>taim"m_a)="L17">   27 0 11   27>>>>>>="L     *="""""""""""""""""dr
         27cpu._t6" p cpuf="L26" cl6" u">>[u.
         27 0 11>>>>>>="L     *="""""""""if ddr
      >>>>>taim"m_a)"L11"> 0 11>>>>>>="L     *="""""""""""""""""dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         27>>>>>>="L     *="}"L11"> 0 11    7
>>>>>>="L     *="ee path uring eh a hr1"  upd=f/ehercpt-simarklL2" id="f15 3| u1 | u2 | u5s="commen5nt"13* according to cpu 5o uni53          *="l 0 11cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a =crmchunk
      <6"x_contigp cpuf="L26" cl6"x_contig"m_a;"ee path uring eh a hr1"  fully scann"f15 3| u1 | u2 | u5 |     145 u014 uTher even163rhe m5pp3s<54pu">>>>>>>="L     *="else"L30">15 3| u1 | u2 | u5 s="com135nt"14*  --he kernatruct 5"L26"541         *="""""""""""""""""u.
      cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a =crmchunk
      <6"xp cpuf="L26" cl6"xam_adu.
      cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a,"L30">15 3| u1 | u2 | u5ss="com145nt"14* chud="L26" class=5line"542         *="l   27>"L17">   27>>>>>>="L     *="dr
      cpu._t_wor_. cpu;>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[u.
         27cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         27    7
>>>>>>="L     *="dr
         27   27 0 1113 21cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a =crmchunk
      <6"x_contigp cpuf="L26" cl6"x_contig"m_a;"    *="pe path uring eh a hr1"  fully scann"f15 3| u1 | u2 | u5ss="com155nt"15* chud="L26" class=5line"552+stde=__forcu.
         27>"L17">   27>>>>>>="Lpe path uring eh a hr1"  tellmthelupa>< lay29"="ss=tr arlass="has nom6"tchobmmo="L t" na1=e="L30">15 3| u1 | u2 | u5ss="comm05nt"15* c1:u1, c1:u2 and 51:u3.555         *="e pathc-1="L17">   27 0 11
   28  17  17 4 25
 4 25  17

< name="L17">  17

2" idcn>
_/oe14e="L15"> 4 2516 2116 21
  17  1715 3| u1 | u2 | u5 |     175 u017 uTher even163rhe m5pp3s<57l+stde==f="m="m_armchunk
      ef=_wor_o="Lp cpuf="L26" cl+stde_wor_o="Lam_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m 0 11 0 11ef=" cl+stpanerine cpuf="L26 cl+s" cl+stpan"m_addr
         27>>>>>>="Lercpu.
         27   2775 cpu#includee
cpu._t6" _ cpu;>>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[u.
         2776 c1:d="L26" class="5line"576u">>>>>>>="L     *="if ddr
      >>>>>an>
 0 11 *
>>>>>>="L     *="""""""""b="Lkp"L17">   2778 cpu#adfn c ="L26" 5cl+st57          *="p
      >>>>>BUG_ONam_adu.
      >>>>>an>
   2779 c1:d="L26" class="5line"579         *="p
      >>>>>BUG_ONam_adu.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         2713 218*
cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         2782 cpu#ifnadf ="L26" 5cl+st582+stde=__forcu.
      cpu._t_wor_. cpu;>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[u.
         2783 cpu#adfn c ="L26" 5cl+st583u">>"L17">   2784 cpuf="mm/pe(void =5"L26"584u">>>>>>>="Lpe path uring eh a hr1"  merge withldrevious?at" na1=e="L30">15 3| u1 | u2 | u5s="comm165t">85 cpuf="mm/percpu">>5>>>>>585         *="ef ddr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
       0 1186 cpuf="mm/percpu">>5>>>>>586u">>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         2787 cpu#endifd="L26" c5lass=587u">>>>>>>="L     *="dr
      cpu._t6" _ cpu;>>>>>>>an>
   2788 cpu#ifnadf ="L26" 5cl+st58          *="lcpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         2789 cpu#adfn c ="L26" 5cl+st589         *="lcpu._t6" _ cpu;>>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[0]))p"L17">   27>>>>>>="L     *="e.
         2791 cpuf="mm/percpu">>5>>>>>591         *="}"L11"> 0 1192 cpuf="mm/percpu">>5>>>>>592         *="pe path uring eh a hr1"  merge withlnext?at" na1=e="L30">15 3| u1 | u2 | u5="comm9en5t">93 cpu#endifd="L26" c5lass=593u">>>>>>>="Lef ddr
      cpu._t6" _ cpu;>>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[u.
       0 1194 cpu#else puan>
>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         279* c1:u1, c1:u2 and c51:u3.595         *="lcpu._t6" _ cpu;>>>>>>>an>
   2796 cpu#adfn c ="L26" 5cl+st596u">>>>>>>="L     *="dr
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
         2797 cpu#adfn c ="L26" 5cl+st597u">>>>>>>="L     *="ssssssss(dr
      cpu._t6" _ cpu;>>>>>>>an>
cpu._t6" p cpuf="L26" cl6" u">>[0]))p"L17">   2798 cpu#endifpuan>
 0 1199 c1:d="L26" class="5line"59a8e="L30">8 3| u1 | u2 | u3 6ss="comme6 u0me| c1:atruct ="L26" 6l+std60pu">>>>>>>="Lp
      cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a =crmchunk
      <6"xp cpuf="L26" cl6"xam_adu.
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a)p"L17">   27   27 0 11>"L17">   2794 cpu#else puan>
efr"mchunk cpuf*="L26" cl+stde=ef="m 0 119* c1:u1, c1:u2 and c6ccccc60On#L2="L11"> 0 11>>>>>>="Lchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m   2797 cpu#adfn c ="L26" 6ccccc60a1me="L18">   2898 cpu#endifpuan>
ef=mem_zL2" ip cpuf="L26" cl">ef=mem_zL2" iam_addr
      >>>>>an>
   2799 c1:d="L26" class="6cl+st609         *="ef d!tructrcpu.
    unk cpuf*="L26" cl+sf="m   27>>>>>>="L     *="e pathcdr
         277 22cpu._t6" p cpuf="L26" cl6" u">> =cdr
      ef=mem_zL2" ip cpuf="L26" cl">ef=mem_zL2" iam_addr
      7 22>>>>>>="L     *=""""""""""""""""""""""""""""""""""mm/ofdp
      cpu._t6" p cpuf="L26" cl6" u">>[0]))p"L17">   27>>>>>>="Lef d!tructrcpu.
    unk cpuf*="L26" cl+sf="mcpu._t6" p cpuf="L26" cl6" u">>) ="L11"> 0 11cpu._tk_worp cpuf="L26" clk_woram_addr
         27>>>>>>="L     *="e pathcdr
         27>>>>>>="L}"L11"> 0 11 0 11cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a =cdr
         27>>>>>>="Lp
      cpu._t6" p cpuf="L26" cl6" u">>[u.
      cpu._t6" _ cpu;>>>>>>>an>
ef=uni
_. cpu;>>>>>>an>
   277 22>>>>>an>
cpu._tlicnerine cpuf="L26licna 4r)="L17">   27>>>>>>="Ldr
      cpu._t_wor_. cpu;>>>>>>an>
ef=uni
_. cpu;>>>>>>an>
   27>>>>>>="Ldr
      cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a =crmchunk
      <">ef=uni
_. cpu;>>>>>>an>
   27   27>>>>>>="Le pathcdr
         27>}"L11"> 0 11 0 11ef=_wor_unk cpuf*="L26" cl+stde=e_wor_unk c"m_adchunk
      efr"mchunk cpuf*="L26" cl+stde=ef="m   27>="L11"> 0 11   27   27>>>>>>="Ldr
      ef=mem__worp cpuf="L26" cl">ef=mem__woram_adu.
      cpu._t6" p cpuf="L26" cl6" u">>,pdr
      cpu._t6" _L2" ip cpuf="L26" cl6" _L2" i"m_a *s"mm/ofdp
      cpu._t6" p cpuf="L26" cl6" u">>[0]))p"L17">   27>>>>>>="Ldr
         27>}"L11"> 0 11    7
  15 4
  17  17
  17
  17


  17 4
  17
  17  17  17
  17  17  17  17
15 3| u1 | u2 | u6ss="com156nt"15* chud="L26" class=6line"652+stdf="mm/percpu.
      =f=pref="mmef="m

ef=pref="mmef="m<"m_adchunk efr"mchunk cpuf*="L26" cl+stde=ef="m_/osr)="L17"> 27>e==f="m="m_armchunk ef=depref="mmef="mefr"mchunk cpuf*="L26" cl+stde=ef="m_/osr)="L17"> 27efr"mchunk cpuf*="L26" cl+stde=ef="m 27ef=dechuoyef="mefr"mchunk cpuf*="L26" cl+stde=ef="m 27efragepuf*="L26" cl+stagea 4rvirmchunk 27 efr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoam_avirmchunk 27 0 11efCONFIG_NEED_PER_CPU_KMpuf*="L26" cl+sCONFIG_NEED_PER_CPU_KM "L11"> 0 111 0 1115 3| u1 | u2 | u6 s="com156nt"16* chunk is used for6stati6 peref#include &quoL2 1 0 11 0 11 27 17 17 17 17 17cc/spl name="L17"> 17 15 3| u1 | u2 | u6 s="com156nt"17* chunk is used for6stati672 e==f="mchunk efr"mchunk cpuf*="L26" cl+stde=ef="m15 3| u1 | u2 | u6 s="comme6nt"17* Allocation is don6 in o673u">>="L11"> 0 11>>>>>>="Lpe path uring eh a hr1" arit insthm15 3| u1 | u2 | u6 ="comm166t">75 cpu#includee 0 1176 c1:d="L26" class="6line"676u">>>>>>>="L *="pe path uring eh a hr1" arit insthm15 3| u1 | u2 | u6 s="comm06""> * >>>>>>="L *="ef ddr 15 3| u1 | u2 | u6 s="com1m6t">78 cpu#adfn c ="L26" 6cl+st67 *="l 0 1179 c1:d="L26" class="6line"679 *="l 0 11>>>>>>="L}"L11"> 0 118* 7 2282 cpu#ifnadf ="L26" 6cl+st682 *="pe path uring eh a hr1" na1=e="L30">15 3| u1 | u2 | u6|="comm156t">83 cpu#adfn c ="L26" 6cl+st68setoth stareascref=ase rssn>>>>>>>>>reThm 1784 cpuf="mm/pe(void =6"L26"68k igeneral,an> _pOdl Offsetethm 1785 cpuf="mm/percpu">>6>>>>>68On#L29" id="L29" class="line>>>>>>>>* curra h process 1786 cpuf="mm/percpu">>6>>>>>68ng frommearlyca i.npath - sc>>>>>>>>*mspace hN5" class=any possible an "co cearbehucpukhere, seame14e="L15"> 4 2587 cpu#endifd="L26" c6lass=68.cnpropupercoth starea/re hr>>>>>>>>s&="lre's nomneedhLo worry abouh preempm> 1788 cpu#ifnadf ="L26" 6cl+st68mapFree path uring eh a hr1r>>>>>>>>s" na1=e="L30">15 3| u1 | u2 | u6|s="com146t">89 cpu#adfn c ="L26" 6cl+st689 *="p >[dr >>>>>>an> 27>>>>>>="Le pathcdr 2791 cpuf="mm/percpu">>6>>>>>691 }"L11"> 0 1192 cpuf="mm/percpu">>6>>>>>692 "L11"> 0 1193 cpu#endifd="L26" c6lass=69setoth stareascref=ase rssninh name="L17"> 1794 cpu#else puan> 179* c1:u1, c1:u2 and c61:u3.69Onfirqsave/restoa href=stinis @iv>_:s"mm/eass ="L clL2" id=" insbytesa ame="L17"> 1796 cpu#adfn c ="L26" 6cl+st69ng frommearlyca i.npath - sch @align: align a h ass ="L (max PAGE_SIZE)a ame="L17"> 1797 cpu#adfn c ="L26" 6cl+st69.c#L18" id="L18" class="line"p@reserv"d:lL2" id=" from thm 1798 cpu#endifpuan> 1799 c1:d="L26" class="6line"69 ercpu bsafecpucalocatfroat A2" id=" 17 1791 cpuf="mm/percpu">>7="L2670...grabsan> 17 1793 cpu#endifd="L26" c7ccccc70setoth stareascref=ase rssn> name="L17"> 1794 cpu#else puan> 179* c1:u1, c1:u2 and c7ccccc70Onfirqsave/restoa href=stinis Pspan po="L29hLo thelL2" id="f<2="L an success, NULL an failurel name="L17"> 1796 cpu#adfn c ="L26" 7ccccc70ng frommearlyca i.npath - sch" na1=e="L30">15 3| u1 | u2 | u7s7"commen7 ">97 cpu#adfn c ="L26" 7ccccc70a1me=f="mm/p="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk ef=L2" iam_addr __ puf*="L26" cl+siv>__ a 4rvrmchunk < cpuu. cpuf="L26" civ>_/osr,pdr __ puf*="L26" cl+siv>__ a 4rvrmchunk >>>>>booma 4rvrmchunk >>>>>>an> 15 3| u1 | u2 | u7s8="comm07 ">98 cpu#endifpuan> 0 1199 c1:d="L26" class="7cl+st709 *="f="mm/percpu. 27>>>>>>="Lchunk efr"mchunk cpuf*="L26" cl+stde=ef="m 27 27 27>>>>>>="Lunsignpuklongcdr 27>>>>>>="L="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk 27 27>>>>>>="Lef ddr _/osr ||vrmchunk < cpuu. cpuf="L26" civ>_/osr ="L2crmchunk 0 11>>>>>>="L *="dr >>>>>WARNam_addr 15 3| u1 | u2 | u7s="commen7nt"1 * c0he kern="L26" 7l+std71 *="l <\n&quoL2 na1=e=,pdr _u. cpuf="L26" civ>_/osr,pdr 27 27>>>>>>="L}"L11"> 0 117 22 27>>>>>>="Ldr 27 27 15 3| u1 | u2 | u7s="commen7nt"1 * cpus"L26" cl+stde7EXPOR726u">>>>>>>="Lef ddr >>>>>>an> 0 11>>>>>>="L *="dr ef=reserv"d_unk cpuf*="L26" cl+stde=ereserv"d_unk cam_a2"L11"> 0 11 0 11_/osr ="L2crmchunk cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a) ="L11"> 0 11>>>>>>="L *=" *="dr 0 11 0 11 0 11>"L17"> 27>>>>>>="LLLLLLLLLwhile (ddr ef=need_to_extend;>>>>>>>an> ef=need_to_extendam_addr 0 11 27>>>>>>="L *="l 0 11 >>>>>>="L *="ssssssss *="dr 0 11 0 11 0 11>>>>>>="L *=" *="dr 27 0 11 0 11>>>>>>="L *="p ef=L2" i_o="Lp cpuf="L26" cl+stdeL2" i_o="Lam_addr _u. cpuf="L26" civ>_/osr,pdr 27>>>>>>="LLLLLLLLLif ddr 27 0 11 7 >>>>>>="L *="dr 0 11 0 11 0 1113 21>>>>>>an> 13 2115 3| u1 | u2 | u7ss="comme7nt"15* Allocation is don7 in o753u">>>>>>>="L> ef=iv>__ ostpanerine cpuf="L26 cl+siv>__ ostpanam_addr _u. cpuf="L26" civ>_/osr)2crmchunk ef=nrstpancpu.s cpuf="L26" cl+snrstpancam_a2crmchunk 0 11>>>>>>="L *="dr 0 11_/osr ="L2crmchunk cpu._tcontig_hercpuf*="L26" cl+sfontig_herc"m_a)"L11"> 0 11>>>>>>="L *="l 0 11 28ef=need_to_extend;>>>>>>>an> ef=need_to_extendam_addr 0 11 0 11>>>>>>="L *=" *=" *="dr 27 27 0 11>>>>>>="L *="""""""""""""""""""""""""dr 0 11>>>>>>="L *="""""""""""""""""""""""""gotopdr 0 11 0 11>>>>>>="L *="l 27 >>>>>>="L *="ssssssss *="de path uring eh a hr1" na1=e="L30">15 3| u1 | u2 | u7ss="com1m7nt"16* according to cpu 7o uni76mapFree path uring eh a hr1rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrc&tde=e2" c has been dro_pOd,mneedhLo na1=e="L30">15 3| u1 | u2 | u7s="commen7nt"16* ----------------7-- 7 ercpu bsafecpucalocatfroarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrc&restart cl+sipan licn walkobml name="L17"> 1715 3| u1 | u2 | u7 s="com167nt"17* ----------------7-- .771 *="""""""""""""""""ssssssssgotopdr >>>>>>an> 27 0 11>"L17"> 27>>>>>>="L *="""""""""p ef=L2" i_o="Lp cpuf="L26" cl+stdeL2" i_o="Lam_addr _u. cpuf="L26" civ>_/osr,pdr 2775 cpu#includee 2776 c1:d="L26" class="7line"776u">>>>>>>="L *="""""""""ssssssssgotopdr 0 11 * >>>>>>="L *="}"L11"> 0 1178 cpu#adfn c ="L26" 7cl+st77 *="}"L11"> 0 1179 c1:d="L26" class="7line"77a8e="L30">8 3| u1 | u2 | u3 7| 8| 7u0 80 cpu#ifadf ="L26" c7l+std78pu">>>>>>>="Lpe path uring eh a hr1" hmmm... nomspacehleft,hfre"mms new f="m15 3| u1 | u2 | u7|s="com177t">8* 2782 cpu#ifnadf ="L26" 7cl+st782 "L11"> 0 1183 cpu#adfn c ="L26" 7cl+st783u">>>>>>>="Ldr ef=cre"mmef="m 2784 cpuf="mm/pe(void =7"L26"784u">>>>>>>="Lef d!tructrcpu. unk cpuf*="L26" cl+sf="m 0 1185 cpuf="mm/percpu">>7>>>>>785 *="lcpu._terrpuf*="L26" cl+serra 4r =crmmearlyca i.chuing"p&quoL2failedhLo L2" id=" new f="m<&quoL2 na1=e=2"L11"> 0 1186 cpuf="mm/percpu">>7>>>>>786u">>>>>>>="L *="gotopdr 0 1187 cpu#endifd="L26" c7lass=787u">>>>>>>="L}"L11"> 0 1188 cpu#ifnadf ="L26" 7cl+st78 "L11"> 0 1189 cpu#adfn c ="L26" 7cl+st789 *="p 27>>>>>>="Lp 2791 cpuf="mm/percpu">>7>>>>>791 *="gotopdr >>>>>>an> 2792 cpuf="mm/percpu">>7>>>>>792 "L11"> 0 1193 cpu#endifd="L26" c7lass=79setothr 13 2194 cpu#else puan> >>>>>>="Ldr 279* c1:u1, c1:u2 and c71:u3.795 "L17"> 2796 cpu#adfn c ="L26" 7cl+st796u">>>>>>>="Lpe path uring eh a hr1" pref="mm, 6" t-si lear thelL="L c" na1=e="L30">15 3| u1 | u2 | u7|s="comm07t">97 cpu#adfn c ="L26" 7cl+st797u">>>>>>>="Lef ddr ef=pref="mmef="m<"m_addr _u. cpuf="L26" civ>_/osr)) ="L11"> 0 1198 cpu#endifpuan> 2799 c1:d="L26" class="7line"799 *="l 27>>>>>>="L *=" cpu._terrpuf*="L26" cl+serra 4r =crmmearlyca i.chuing"p&quoL2failedhLo pref="mm&quoL2 na1=e=2"L11"> 0 1191 cpuf="mm/percpu">>8="L26801 *="""""""""gotopdr 0 11 0 1193 cpu#endifd="L26" c8ccccc803u">>"L17"> 2794 cpu#else puan> >>>>>>="Ldr 279* c1:u1, c1:u2 and c8ccccc805 "L17"> 2796 cpu#adfn c ="L26" 8ccccc806u">>>>>>>="Lpe path uring eh a hr1" e pathcaddresshre="m>vehLo basm15 3| u1 | u2 | u8s7"commen8 ">97 cpu#adfn c ="L26" 8ccccc807u">>>>>>>="Ldr ef=ptrpuf*="L26" cl+s_eLddr_to_p>ef=ptr"m_addr cpu._tbasm_Lddrpuf*="L26" cl+sbasm_Lddra 4r +pp 2798 cpu#endifpuan> >>>>>>="Ldr _u. cpuf="L26" civ>_/osr)="L17"> 2799 c1:d="L26" class="8cl+st809 *="e pathcdr 2713 2113 21 2713 21>>>>>>="Ldr 27 0 11>>>>>>="L *="pr 15 3| u1 | u2 | u8s7"commen8nt"1 *>>>>>>="L *="="L *="pmmearlyca i.chuing"p&quoL2%s\n&quoL2 na1=e=,pdr _u. cpuf="L26" civ>_/osr,pdr 27 27 27>>>>>>="L *=" *="dr 27 0 11 27>}"L11"> 0 11 27 17 17_:s"mm/eass ="L clL2" id=" insbytesa ame="L17"> 17 17 17_sbytes alignpukot @alignl name="L17"> 17 17 17 17 17 17 17 1715 3| u1 | u2 | u8s="commen8nt"13* ----------------8-- 839 ="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk <_eL2" i_1 | u2puf*="L26" cl+s_eL2" i_1 | u2"m_addr __ puf*="L26" cl+siv>__ a 4rvrmchunk < cpuu. cpuf="L26" civ>_/osr,pdr __ puf*="L26" cl+siv>__ a 4rvrmchunk 27>="L11"> 0 11ef=L2" iam_addr _u. cpuf="L26" civ>_/osr,pdr 27 0 11 27 27 17 17 _:s"mm/eass ="L clL2" id=" insbytesa ame="L17"> 17 17 17_sbytes alignpukot @align name="L17"> 17 17 17 17 17 17 17 17 17 1715 3| u1 | u2 | u8 s="com138nt"16* ----------------8-- .861 ="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk <_eL2" i_reserv"d_1 | u2puf*="L26" cl+s_eL2" i_reserv"d_1 | u2"m_addr __ puf*="L26" cl+siv>__ a 4rvrmchunk < cpuu. cpuf="L26" civ>_/osr,pdr __ puf*="L26" cl+siv>__ a 4rvrmchunk 27 0 11>>>>>>="Le pathcdr ef=L2" iam_addr _u. cpuf="L26" civ>_/osr,pdr 27>}"L11"> 0 11 27 17 < name="L17"> 17 17 17 17 17 17 17 15 3| u1 | u2 | u8s="comm1e8t">75 cpu#includee ef=re"L1imam_adchunk efwork_chunk puf*="L26" cl+swork_chunk a 4rvirmchunk 2776 c1:d="L26" class="8line"876u">>="L11"> 0 11 * >>>>>>="Ldr 2778 cpu#adfn c ="L26" 8cl+st87 *="chunk eflicn_heaLpuf*="L26" cl+slicn_heaLa 4rvirmchunk ef=nrstpancpu.s cpuf="L26" cl+snrstpancam_a - 1]="L17"> 2779 c1:d="L26" class="8line"879 *="chunk efr"mchunk cpuf*="L26" cl+stde=ef="m 2713 218* 2782 cpu#ifnadf ="L26" 8cl+st882+stde=__forcu. 2783 cpu#adfn c ="L26" 8cl+st883u">>"L17"> 2784 cpuf="mm/pe(void =8"L26"884u">>>>>>>="Ldr 0 1185 cpuf="mm/percpu">>8>>>>>885 *="lcpu._tWARN_ONm/percpu">>>>>>WARN_ONam_addr cpu._timmutablepuf*="L26" cl+simmutable/osr)="L17"> 2786 cpuf="mm/percpu">>8>>>>>88a7="L7"> 787 cpu#endifd="L26" c8lass=887u">>>>>>>="L *="de path uring eh a hr1" sparebthm15 3| u1 | u2 | u8|s="com1m8t">88 cpu#ifnadf ="L26" 8cl+st88 *="lefr"mchunk cpuf*="L26" cl+stde=ef="m 2789 cpu#adfn c ="L26" 8cl+st889 *="l 0 1113 2191 cpuf="mm/percpu">>8>>>>>891 *="""""""""rmchunk cpu._tlicnerine cpuf="L26licna 4r,p&dr 2792 cpuf="mm/percpu">>8>>>>>892 *="}"L11"> 0 1193 cpu#endifd="L26" c8lass=893u">>"L17"> 2794 cpu#else puan> >>>>>>="Ldr 279* c1:u1, c1:u2 and c81:u3.895 "L17"> 2796 cpu#adfn c ="L26" 8cl+st896u">>>>>>>="Lpr 0 1197 cpu#adfn c ="L26" 8cl+st897u">>>>>>>="L *="dr ef=depref="mmef="mef=unit_iv>_u. cpuf="L26" c">ef=unit_iv>_/osr)="L17"> 2798 cpu#endifpuan> ef=dechuoyef="m

ef=dechuoyef="m 2799 c1:d="L26" class="8line"899 *="}"L11"> 0 1113 2191 cpuf="mm/percpu">>9="L26901 *="p 27 0 1193 cpu#endifd="L26" c9ccccc903u">>"L17"> 2794 cpu#else puan> 179* c1:u1, c1:u2 and c9ccccc90Onfirqsave/restoa href=stinis _wor_1 | u2 - _wor 1796 cpu#adfn c ="L26" 9ccccc90ng frommearlyca i.npath - sch @ptr: po="L29hLo ="L cl_wor name="L17"> 1797 cpu#adfn c ="L26" 9ccccc90.c#L18" id="L18" class="line" name="L17"> 1798 cpu#endifpuan> 1799 c1:d="L26" class="9cl+st90 ercpu bsafecpucalocatfroat name="L17"> 17 17be called from ato+ic fontextl name="L17"> 17 15 3| u1 | u2 | u9s3="comm09nt"1 * (sphe kern6ktc="L96" cl91setot="m_armchunk <_wor_1 | u2puf*="L26" cl+s_wor_1 | u2am_ad="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk 27>="L11"> 0 11 27>>>>>>="Lchunk efr"mchunk cpuf*="L26" cl+stde=ef="m 27>>>>>>="Lunsignpuklongpdr 27 278 3| u1 | u2 | u3 9ss="com1m9nt"1 * | u0 | u1 | u2 | 93 | 92pu">>>>>>>="Lef d!tructrcpu. ttrpuf*="L26" cl+sttra 4r)"L17"> 27 27 0 11>>>>>>="Ldr 27 27ef=ptr_to_Lddrpuf*="L26" cl+s_ep>ef=ptr_to_Lddram_addr 27 7>>>>>>="Ldr 27 0 11ef=c cl+sLddr_searchpuf*="L26" cl+stde=ef="m 27>>>>>>="Lp cpu._tbasm_Lddrpuf*="L26" cl+sbasm_Lddra 4r="L17"> 27 27 27>"L17"> 27>>>>>>="Lde path uring eh a hr1" ef ="lrelL=" morebthpatonerfully _wor cc/sps, wake up grim reaa>15 3| u1 | u2 | u9ss="comm09nt"13* c1:d="L26" class=9line"935 *="ef ddr cpu._t_wor_iv>_u. cpuf="L26" c_wor_iv>_a 4r ==crmchunk <">ef=unit_iv>_u. cpuf="L26" c">ef=unit_iv>_/osr) ="L11"> 0 11>>>>>>="L *="chunk efr"mchunk cpuf*="L26" cl+stde=ef="m 27 28ef=nrstpancpu.s cpuf="L26" cl+snrstpancam_a - 1],pdr 28 0 11>>>>>>="L *=" *=">>>>>="Ldr 27 27 0 11>>>>>>="L}"L11"> 0 11 27 27 0 11 27 0 11 17 17 17 17 17 17 17 17 17 1715 3| u1 | u2 | u9 | 169 u016 uTher even163rhe m9pp3s<96pan/phcpu._tboolpuf*="L26" cl+sbool hcpu._tis_kernel_1 | u2_addresspuf*="L26" cl+sis_kernel_1 | u2_addressam_adunsignpuklongpdr 15 3| u1 | u2 | u9 s="com139nt"16* ----------------9-- .961 ="L11"> 0 11 0 11>>>>>>="Lfons efiv>__ puf*="L26" cl+siv>__ a 4rvrmchunk < ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r =crmchunk <_eper_ u2_end;>>>>>>>an> >>>>>>an> 27>>>>>>="L="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk ef=ptrpuf*="L26" cl+s_eLddr_to_p>ef=ptr"m_addr ef=basm_Lddrpuf*="L26" cl+sp>ef=basm_Lddram_a)="L17"> 27 27 7 >>>>>>="Ldr 0 11>>>>>>an> 278 3| u1 | u2 | u3 9 | 179 u017 uTher even163rhe m9pp3s<97pu">>>>>>>="L *="ef dd="m_a*)rmchunk >>>>>>an> 15 3| u1 | u2 | u9 s="com169nt"17* ----------------9-- .971 *="""""""""""""""""e pathcdr 27 0 11 0 11>>>>>>="Lde path uring eh a hr1" on UP, can'tsdistinguish from o="lr f="mm/pvars, always fals_ t" na1=e="L30">15 3| u1 | u2 | u9s="comm1e9t">75 cpu#includee 2776 c1:d="L26" class="9line"97ng fr}"L11"> 0 11 * 2878 cpu#adfn c ="L26" 9cl+st97mapFree path uring eh a hr1inh name="L17"> 1779 c1:d="L26" class="9line"97 ercpu bsafecpucalocatfroat ter_ u2_ttr_to_physh- fonvert huansld="f< 17 178* 1782 cpu#ifnadf ="L26" 9cl+st98perre hrimed, pan> 1783 cpu#adfn c ="L26" 9cl+st98setoth stareascref=ase rssn> < < huansld="seit ="Loeits physical name="L17"> 1784 cpuf="mm/pe(void =9"L26"98k igeneral,an> 1785 cpuf="mm/percpu">>9>>>>>98Onfirqsave/restoa href=stinis until this funcn> < finishesl name="L17"> 1786 cpuf="mm/percpu">>9>>>>>98ng frommearlyca i.npath - sch name="L17"> 1787 cpu#endifd="L26" c9lass=98.c#L18" id="L18" class="line"ptspan 22" id= 1788 cpu#ifnadf ="L26" 9cl+st98mapFree path uring eh a hr1ri supports ei="lr embedding in fnadar 1789 cpu#adfn c ="L26" 9cl+st98 ercpu bsafecpucalocatfroat and, from thm 17 1791 cpuf="mm/percpu">>9>>>>>99...grabsan> 1792 cpuf="mm/percpu">>9>>>>>99perre hrimed, pan> 1793 cpu#endifd="L26" c9lass=99setoth stareascref=ase rssn> 1794 cpu#else puan> 179* c1:u1, c1:u2 and c91:u3.99Onfirqsave/restoa href=stinis 22" id= 1796 cpu#adfn c ="L26" 9cl+st99ng frommearlyca i.npath - sch /drel name="L17"> 1797 cpu#adfn c ="L26" 9cl+st99.c#L18" id="L18" class="line" name="L17"> 1798 cpu#endifpuan> 1799 c1:d="L26" class="9line"99 ercpu bsafecpucalocatfroat Thelphysical addressL> 1717"> 1791 cpuf="mm/percpu">>10s">>10s...grar 15 3| u1 | u2 | u10s2="comme10s">92 cpuf="mm/percpu">>10s">>10s2 ="L11"> 0 1193 cpu#endifd="L26" c10s">>10s3u">>>>>>>="L="m_armchunk <__1 | u2puf*="L26" cl+s__1 | u2a 4rvirmchunk ef=ptrpuf*="L26" cl+s_eLddr_to_p>ef=ptr"m_addr ef=basm_Lddrpuf*="L26" cl+sp>ef=basm_Lddram_a)="L17"> 2794 cpu#else puan> >10s4u">>>>>>>="Ldr cpu._tin_firnt_unk cpuf*="L26" cl+sin_firnt_unk ca 4r =crmchunk 279* c1:u1, c1:u2 and c10s">>10s5 *="unsignpuklongpdr 2796 cpu#adfn c ="L26" 10s">>10s6 *="unsignpuk="Lpp 2797 cpu#adfn c ="L26" 10s">>10sa1me="L18"> 2898 cpu#endifpuan> >10s8u">>>>>>>="Lde path uring eh a hr1in name="L17"> 1799 c1:d="L26" class="10s">>10s ercpu bsafecpucalocatfroaaaaaaaaat Thelfo2" wing tecn 1710nt ercpu bsafecpucalocatfroaaaaaaaaat necessary but will spepukapLlookups ass ddress"sewhich name="L17"> 1710n...grabsan> 1710nperre hrimed, pan> 15 3| u1 | u2 | u10n3="comme10nt"1 * (sphe kern6ktc="L10nt">10n3u">>>>>>>="Ldr ef=c cl+sLddrpuf*="L26" cl+sp>ef=c cl+sLddr"m_addr ef=firnt_unk cpuf*="L26" cl+sp>ef=firnt_unk c/osr,pdr 2710n4u">>>>>>>="Ldr ef=c cl+sLddrpuf*="L26" cl+sp>ef=c cl+sLddr"m_addr ef=firnt_unk cpuf*="L26" cl+sp>ef=firnt_unk c/osr,pdr 2710n5 *="l 2710n6 *="ef ddunsignpuklong)rmchunk 2710n7u">>>>>>>="L dunsignpuklong)rmchunk 0 1110n *="l 0 1110n9 *="l>>>>>>an> 2710nt1me="L18"> 2810n1 *="""""""""""""""""ef ddr >>>>>>an> ef=unit_iv>_u. cpuf="L26" c">ef=unit_iv>_/osr) ="L11"> 0 1110n2 *="l 2710n3 *="l 2710n4 *="l 0 1110n5 *="l 0 1110n6 *="}"L11"> 0 1110na1me="L18"> 2810n8 *="ef dpr 0 1110n9 *="l15 3| u1 | u2 | u103s="comme10 u01| uThed="L26" class=10 u0>10 u *="""""""""""""""""e pathcdr 2710 1 *="""""""""else"L17"> 2710 2 *="l 2710 3 *="l 2710 4 *="}"else"L17"> 2710 5 *="l 2710 6u">>>>>>>="L *="l 27 10 7g fr}"L11"> 0 1110 "L11"> 0 1110 ercpu bsafecpucalocatfroinh name="L17"> 17 1710 ...grabsan> 1710 perre hrimed, pan> 1710 setoth stareascref=ase rssn> name="L17"> 1710 k igeneral,an> 1710 Onfirqsave/restoa href=stinis @nr_unitssunits. The e path"f<2i'ssgroups[0].ce=emap po="Ls Loe="l name="L17"> 1710 ng frommearlyca i.npath - sch /e=emap array which is longpenoughL> 17 10 .c#L18" id="L18" class="line"pNR_CPUS. It'ssthe caller'ssresponsibilityhLo initialv>_s/e=emap name="L17"> 1710 mapFree path uring eh a hr1ri po="L29hasso="lr groupsl name="L17"> 1710 ercpu bsafecpucalocatfroat name="L17"> 17 1710 ...grabsan> 1710 perre hrimed, pan> 1710 setoth stareascref=ase rssn> " na1=e="L30">15 3| u1 | u2 | u1054="comme10nt"15* an area of 512 by10nt">10 k igechunk efr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoa 4rvicdr 2710 5 *="l15 3| u1 | u2 | u1056="comme10nt"15* cpus. On NUMA, t10nt">10 6u">>="L11"> 0 11 10 7u">>>>>>>="Lchunk efr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoa 4rvidr 2710 8u">>>>>>>="Ldmchunk __ puf*="L26" cl+siv>__ a 4rvrmchunk _u. cpuf="L26" cbasm_iv>_a 4r,pdr _u. cpuf="L26" cai_iv>_"m_a="L17"> 2710 9 *="="m_airmchunk 27 2710 ...gr"L17"> 2710 2+stde=__forcu. _u. cpuf="L26" cbasm_iv>_a 4r =crmchunk >>>>>ALIGNa 4r(iv>_of(idr _of(dr cpu._tgroupspuf*="L26" cl+sgroups/osr[0]),"L17"> 2710 3 *="lcpu._tgroupspuf*="L26" cl+sgroups/osr[0].dr 2710 4u">>>>>>>="Ldr _u. cpuf="L26" cai_iv>_"m_a =crmchunk _u. cpuf="L26" cbasm_iv>_a 4r +pp _of(dr cpu._tgroupspuf*="L26" cl+sgroups/osr[0].dr 2710 5 "L17"> 2710 6u">>>>>>>="Lpr >>>>>PFN_ALIGN"m_addr _u. cpuf="L26" cai_iv>_"m_a))="L17"> 27 10 7u">>>>>>>="Lef d!tructrcpu. ttrpuf*="L26" cl+sttra 4r)"L17"> 2710 *="l 2710 9 *="p 27>>>>>>="Lpr _u. cpuf="L26" cbasm_iv>_a 4r="L17"> 2710 ...gr"L17"> 2710 2+stde=__forcu. cpu._tgroupspuf*="L26" cl+sgroups/osr[0].dr 2710 3u">>"L17"> 2710 4u">>>>>>>="L> 2775 cpu#includee >10 5 *="lcpu._tLipuf*="L26" cl+sLi"m_ad="L2 cpu._tgroupspuf*="L26" cl+sgroups/osr[0].dr 2776 c1:d="L26" class="10t">>10 a7="L7"> 7 * >10 7u">>>>>>>="Ldr cpu._tnr_groupspuf*="L26" cl+snr_groups/osrr=crmchunk 2778 cpu#adfn c ="L26" 10t">>10 8u">>>>>>>="Ldmchunk cpu._t_eLi_iv>_u. cpuf="L26" c_eLi_iv>_/osrr=crmchunk >>>>>PFN_ALIGN"m_addr _u. cpuf="L26" cai_iv>_"m_a)="L17"> 2779 c1:d="L26" class="10t">>10 a8e="L30">8 3| u1 | u2 | u3 108s="comme10u0 80 cpu#ifadf ="L26" c10u0 >10u0u">>>>>>>="Le pathcdr 278* >10u1g fr}"L11"> 0 1182 cpu#ifnadf ="L26" 10t">>10u2 "L11"> 0 1183 cpu#adfn c ="L26" 10t">>10usetoth stareascref=ase rssninh name="L17"> 1784 cpuf="mm/pe(void =10t">>10uk igeneral,an> 1785 cpuf="mm/percpu">>10t">>10uOnfirqsave/restoa href=stinis @ai: 1786 cpuf="mm/percpu">>10t">>10ung frommearlyca i.npath - sch name="L17"> 1787 cpu#endifd="L26" c10t">>10u.c#L18" id="L18" class="line"pFwor @ai which wLslL2" id="f 1788 cpu#ifnadf ="L26" 10t">>10umapFree path uring eh a hr1ri" na1=e="L30">15 3| u1 | u2 | u1089="comme10t">89 cpu#adfn c ="L26" 10t">>10ua8e="="m_armchunk <__initpuf*="L26" cl+s__inita 4rvrmchunk efr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoa 4rvidr 2710u0u">>="L11"> 0 1191 cpuf="mm/percpu">>10t">>10u1 *="p cpu._t_eLi_iv>_u. cpuf="L26" c_eLi_iv>_/osr)="L17"> 2792 cpuf="mm/percpu">>10t">>10u2 }"L11"> 0 1193 cpu#endifd="L26" c10t">>10u3u">>"L17"> 2794 cpu#else puan> >10uk igeneral,an> 179* c1:u1, c1:u2 and c10t">>10uOnfirqsave/restoa href=stinis ">ef=dump_o2" i_info - pre"Lpoutminformd=> 1796 cpu#adfn c ="L26" 10t">>10ung frommearlyca i.npath - sch @lvl: loglevel name="L17"> 1797 cpu#adfn c ="L26" 10t">>10u.c#L18" id="L18" class="line"p@ai:<22" id=> 1798 cpu#endifpuan> >10umapFree path uring eh a hr1ri name="L17"> 1799 c1:d="L26" class="10t">>10u ercpu bsafecpucalocatfroat Pre"Lpoutminformd=> 17 1791 cpuf="mm/percpu">>11s">>11s...grf="mm/pv"m_armchunk <">ef=dump_o2" i_infopuf*="L26" cl+stde=edump_o2" i_info"m_adfons charvidr 2792 cpuf="mm/percpu">>11s">>1102 *="lefr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoa 4rvidr 2793 cpu#endifd="L26" c11s">>11s3u">>="L11"> 0 1194 cpu#else puan> >11s4u">>>>>>>="Le"Lpp 279* c1:u1, c1:u2 and c11s">>11s5 *="charvdr "--------" na1=e=="L17"> 2796 cpu#adfn c ="L26" 11s">>11s6 *="e"Lpp >>>>>>an> 2797 cpu#adfn c ="L26" 11s">>1107u">>>>>>>="Le"Lpp 2798 cpu#endifpuan> >110 *="="Lpp 1799 c1:d="L26" class="11s">>110a8e="L30">8 3| u1 | u2 | u3 111s="comme11nt"110 cpuf="mm/peunsigf11nt">111uu">>>>>>>="Lpr cpu._tnr_groupspuf*="L26" cl+snr_groups/osr="L17"> 271111 *="whilebddr 271112 *="l 271113u">>"L17"> 2711n4u">>>>>>>="Ldr 2711n5 *="whilebddr 271116u">>>>>>>="L *="dr 271117u">>>>>>>="Ldr _of(dr '\0' na1=e=="L17"> 27111 "L11"> 0 111119 *="p cpu._ta2" i_iv>_u. cpuf="L26" ca2" i_iv>_/osr /crmchunk cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr="L17"> 27112uu">>>>>>>="Lpr 271121 *="p 271122 "L11"> 0 1111n3 *=" efrre"Lcpuf*="L26" cl+spre"Lc"m_addpu bsafecpucchuing">"%stde=-a2" i: s%zu r%zu d%zu u%zu a2" i=%zu*%zu" na1=e=,"L17"> 2711n4 *="lcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r,crmchunk cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a 4r,crmchunk cpu._tdyn_iv>_u. cpuf="L26" cdyn_iv>_/osr,"L17"> 2711n5 *="lcpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr,crmchunk cpu._ta2" i_iv>_u. cpuf="L26" ca2" i_iv>_/osr /crmchunk cpu._tatom_iv>_u. cpuf="L26" catom_iv>_/osr,crmchunk cpu._tatom_iv>_u. cpuf="L26" catom_iv>_/osr)="L17"> 27112a7="L7"> 71127u">>>>>>>="L> cpu._tnr_groupspuf*="L26" cl+snr_groups/osr=crmchunk 0 11112 *="lefr"mchgroup_infopuf*="L26" cl+stde=egroup_infoa 4rvidr cpu._tgroupspuf*="L26" cl+sgroups/osr[rmchunk 2711n9 *="l>>>>>>an> 27113t1me="L18"> 2811 1 *="""""""""dr >>>>>BUG_ON"m_addr cpu._tnr_unitspuf*="L26" cl+snr_units n4rr%crmchunk 2711 2 *="l >>>>>>an> cpu._tnr_unitspuf*="L26" cl+snr_units n4rr/crmchunk 2711 3 *="l>>>>>>an> 0 111134 *="l 0 1111 5 *="l"\n" na1=e=)="L17"> 2711 6u">>>>>>>="L *="l"%stde=-a2" i: " na1=e=, dr 27 1137u">>>>>>>="L }"L11"> 0 11113 *="l"[%0*d] " na1=e=, dr 27113a8e="L30">8 3| u1 | u2 | u3 114s="comme11 u014 uTher even163rhe m11 u0>114u *="""""""""""""""""> >>>>>>an> >>>>>>an> 271141 *="""""""""""""""""""""""""ef dpr cpu._tuu2emappuf*="L26" cl+s u2emap nsr[rmchunk 271142 *="l"%0*d " na1=e=, dr 271143 *="lcpu._tuu2emappuf*="L26" cl+s u2emap nsr[rmchunk 271144 *="l 271145 *="l"%s " na1=e=, dr 271146u">>>>>>>="L *="}"L11"> 0 11 1147u">>>>>>>="L}"L11"> 0 111148u">>>>>>>="Ldmchunk "\n" na1=e=)="L17"> 2711 er}"L11"> 0 11 2811 ...grabsan> 1711 perre hrimed, pan> _sthm 1711 setoth stareascref=ase rssn> @ai: 17115k igeneral,an> 17115Onfirqsave/restoa href=stinisamame="L17"> 17115ng frommearlyca i.npath - sch Initialv>_sthm 17 115.c#L18" id="L18" class="line"ptsppc 2rea. This funcn> < ishLo be falled from arch pspan 2reaamame="L17"> 17115mapFree path uring eh a hr1ri s papLpathl name="L17"> 17115 ercpu bsafecpucalocatfroat name="L17"> 17 17116...grabsan> 17116perre hrimed, pan> 17116setoth stareascref=ase rssn> @aid="L2 ="mm/_iv>_ ishLhm_ of f="mm/ pspan 2real name="L17"> 17116k igeneral,an> 17116Onfirqsave/restoa href=stinis @aid="L2reserved_iv>_,"ef non-zero, specifieshLhm 17116ng frommearlyca i.npath - sch reserve afL29hLhm 17 116.c#L18" id="L18" class="line"pthm 17116mapFree path uring eh a hr1ri pspan 22" id=> 17116 ercpu bsafecpucalocatfroat s="mm/ 2reas an architectur"sewher_sthm<2ddressing model hasamame="L17"> 17 17117...grabsan> 17117perre hrimed, pan> 17117setoth stareascref=ase rssn> @aid="L2dyn_iv>_ deL29matis 17117k igeneral,an> 1775 cpu#includee >117Onfirqsave/restoa href=stinis @aid="L2reserved_iv>_ + @aid="L2dyn_iv>_ andt@aid="L2unit_iv>_ is unusedl name="L17"> 1776 c1:d="L26" class="11t">>117ng frommearlyca i.npath - sch name="L17"> 17 * >117.c#L18" id="L18" class="line"p@aid="L2unit_iv>_ specifieshunit iv>_ andtmuntmbelL2ignpukLo PAGE_SIZE name="L17"> 1778 cpu#adfn c ="L26" 11t">>117mapFree path uring eh a hr1ri andtequalkLo _ + @aid="L2reserved_iv>_ + name="L17"> 1779 c1:d="L26" class="11t">>117 ercpu bsafecpucalocatfroat @aid="L2dyn_iv>_l name="L17"> 17118pan/phiddllocatr ansystem, fr name="L17"> 178* >118...grabsan> _ andtused LslL2ignmenta ame="L17"> 1782 cpu#ifnadf ="L26" 11t">>118perre hrimed, pan> 1783 cpu#adfn c ="L26" 11t">>11usetoth stareascref=ase rssnfr name="L17"> 1784 cpuf="mm/pe(void =11t">>11uk igeneral,an> _ ishLhm _ andtalwaystmultiplecof name="L17"> 1785 cpuf="mm/percpu">>11t">>11uOnfirqsave/restoa href=stinis @aid="L2atom_iv>_l This is large9hLhan @aid="L2atom_iv>_ if name="L17"> 1786 cpuf="mm/percpu">>11t">>11ung frommearlyca i.npath - scht@aid="L2unit_iv>_ is large9hLhan @aid="L2atom_iv>_l name="L17"> 1787 cpu#endifd="L26" c11t">>11u.c#L18" id="L18" class="line" name="L17"> 1788 cpu#ifnadf ="L26" 11t">>11umapFree path uring eh a hr1ri @aid="L2nr_groupssandt@aid="L2groupssdescribe virtualkmemory layoutmof name="L17"> 1789 cpu#adfn c ="L26" 11t">>118 ercpu bsafecpucalocatfroat pspan 2reas. Unitsswhich should be fo" id="f<2re putminLoe="l name="L17"> 17119pan/phiddllocatr ansystem, fresvoi group. Dy---icpVM 2reas will belL2" id="f 1791 cpuf="mm/percpu">>11t">>119...grabsan> 1792 cpuf="mm/percpu">>11t">>119perre hrimed, pan> 1793 cpu#endifd="L26" c11t">>119setoth stareascref=ase rssnfr name="L17"> 1794 cpu#else puan> >11uk igeneral,an> 179* c1:u1, c1:u2 and c11t">>11uOnfirqsave/restoa href=stinis copi"f 1796 cpu#adfn c ="L26" 11t">>11ung frommearlyca i.npath - sch name="L17"> 1797 cpu#adfn c ="L26" 11t">>11u.c#L18" id="L18" class="line"pIf thm 1798 cpu#endifpuan> >11umapFree path uring eh a hr1ri is servedsby twomf="m 1799 c1:d="L26" class="11t">>11u ercpu bsafecpucalocatfroat 2reas 2ndtthe o="lr f 17 1791 cpuf="mm/percpu">>12s">>120...grabsan> 1792 cpuf="mm/percpu">>12s">>120perre hrimed, pan> 1793 cpu#endifd="L26" c12s">>120setoth stareascref=ase rssnfr name="L17"> 1794 cpu#else puan> >120k igeneral,an> 179* c1:u1, c1:u2 and c12s">>120Onfirqsave/restoa href=stinis 0 an success, -errno an failurel name="L17"> 1796 cpu#adfn c ="L26" 12s">>120ng frommearlyca i.npath - sch" na1=e="L7"> 1797 cpu#adfn c ="L26" 12s">>1207u">>e"Lpp efr"mchL2" i_infopuf*="L26" cl+stde=eL2" i_infoa 4rvidr 2798 cpu#endifpuan> >120 *="l 2799 c1:d="L26" class="12s">>120a8e="="L11"> 0 11121uu">>>>>>>="Ls="mm/ charvdr 271211 *="s="mm/ e"Lpp 271212 *="s="mm/ e"Lpp 271213 *=" efsv>__ puf*="L26" cl+siv>__ a 4rvrmchunk _u. cpuf="L26" cdyn_iv>_/osr =crmchunk cpu._tdyn_iv>_u. cpuf="L26" cdyn_iv>_/osr="L17"> 2712n4u">>>>>>>="Ldr __ puf*="L26" cl+siv>__ a 4rvrmchunk __aumpuf*="L26" cl+siv>__aum/osr =crmchunk cpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r +pp cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a 4r +pp _u. cpuf="L26" cdyn_iv>_/osr="L17"> 2712n5 *="ihunk efr"mchunk cpuf*="L26" cl+spce=eunk c"m_aairmchunk 271216u">>>>>>>="Lunsignpuklongpidr 271217u">>>>>>>="Ldr __ puf*="L26" cl+siv>__ a 4rvidr _spuf*="L26" cl+sgroup_iv>_sa 4r="L17"> 271218u">>>>>>>="Lunsignpuklongpidr >>>>>>an> 271219 *="unsignpuke"Lpp 27122u *="e"Lpidr 271221 *="e"Lpp 271222 "L11"> 0 1112n3 *=" efspamask_scnpre"Lfpuf*="L26" cl+s u2mask_scnpre"Lf"m_add _of(dr 2712n4 "L17"> 2712n5 #defdifarmchunk >>>>>PCPU_SETUP_BUG_ON"m_add >>>>>>an> 271226 *="ef dpr >>>>>>an> 271227u">>>>>>>="L dmchunk "PERCPU: failpukLo initialv>_, =#37;s" na1=e=, #sond); \"L17"> 27122 *="l"PERCPU: u2epossible_mask=%s\n" na1=e=,pdr 2712n9 *="lefr"mchdump_o2" i_infopuf*="L26" cl+stde=edump_o2" i_info"m_ad efKERN_EMERGpuf*="L26" cl+sKERN_EMERGa 4r,pdr 27123u *="""""""""dr 2712 1 *="} s \"L17"> 2712 2 }"whilebd0)"L17"> 271233u">>"L17"> 271234 *="de path uring eh a hr1" sanity checksch" na1=e="L7"> 1712 5 *="rmchunk >>>>>PCPU_SETUP_BUG_ON"m_add cpu._tnr_groupspuf*="L26" cl+snr_groups/osrr=lt;= 0)="L17"> 2712 6u">>#ifdef"rmchunk >"L17"> 27 1237u">>>>>>>="Ldr >>>>>PCPU_SETUP_BUG_ON"m_ad!tructrcpu. Lipuf*="L26" cl+sLi"m_ad="L2 cpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r)="L17"> 271238u">>>>>>>="Ldmchunk >>>>>PCPU_SETUP_BUG_ON"m_ad(unsignpuklong)p <_ce=estartpuf*="L26" cl+s__a><_ce=estart/osrr=amp; ~dmchunk >>>>>PAGE_MASKa 4r)="L17"> 27123a8e="#endif"L17"> 27>>>>>>="Lpr >>>>>PCPU_SETUP_BUG_ON"m_ad!tructrcpu. basm_Lddrpuf*="L26" cl+sbasm_Lddra 4r)="L17"> 271241 *="p >>>>>PCPU_SETUP_BUG_ON"m_ad(unsignpuklong)p >>>>>PAGE_MASKa 4r)="L17"> 271242+stde=__forcu. >>>>>PCPU_SETUP_BUG_ON"m_add cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr =lt;crmchunk __aumpuf*="L26" cl+siv>__aum/osr)="L17"> 271243 *=" efPCPU_SETUP_BUG_ONm/percpu">>>>>>PCPU_SETUP_BUG_ON"m_add cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr =amp; ~dmchunk >>>>>PAGE_MASKa 4r)="L17"> 271244u">>>>>>>="Ldr >>>>>PCPU_SETUP_BUG_ON"m_add cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr =lt;crmchunk >>>>>PCPU_MIN_UNIT_SIZEa 4r)="L17"> 271245 *="rmchunk >>>>>PCPU_SETUP_BUG_ON"m_add cpu._tdyn_iv>_u. cpuf="L26" cdyn_iv>_/osr =lt;crmchunk >>>>>PERCPU_DYNAMIC_EARLY_SIZEa 4r)="L17"> 271246u">>>>>>>="Lrmchunk >>>>>PCPU_SETUP_BUG_ON"m_add 27 1247u">>"L17"> 271248u">>>>>>>="Lde path uring eh a hr1" process group informd=> 171249 *="p cpu._tnr_groupspuf*="L26" cl+snr_groups/osrr* sv>_of(dr 27>>>>>>="Lpr _spuf*="L26" cl+sgroup_iv>_sa 4r =crmchunk cpu._tnr_groupspuf*="L26" cl+snr_groups/osrr* sv>_of(dr _spuf*="L26" cl+sgroup_iv>_sa 4r[0]))="L17"> 271251 *="p _of(dr 271252+stde=__forcu. >>>>>>an> _of(dr >>>>>>an> 271253u">>"L17"> 271254u">>>>>>>="L> 271255 *="l 27125a7="L7"> 7 1257u">>>>>>>="Ldr 271258u">>>>>>>="Ldmchunk 27125a8e="L30">8 3| u1 | u2 | u3 126s="comme12 u016 uTher even163rhe m12 u0>1260u">>>>>>>="L> cpu._tnr_groupspuf*="L26" cl+snr_groups/osr=crmchunk 0 111261 *="""""""""fons ihunk efr"mchgroup_infopuf*="L26" cl+stde=egroup_infoa 4rvidr cpu._tgroupspuf*="L26" cl+sgroups/osr[rmchunk 271262 "L11"> 0 111263 *="lcpu._tbasm_offsetpuf*="L26" cl+sbasm_offseta 4r="L17"> 271264 *="l_spuf*="L26" cl+sgroup_iv>_sa 4r[rmchunk cpu._tnr_unitspuf*="L26" cl+snr_units n4rr*crmchunk cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr="L17"> 27126Onfir"L17"> 271266u">>>>>>>="L *="> cpu._tnr_unitspuf*="L26" cl+snr_units n4r;crmchunk 0 111162nt">12u4an> 1162ntbddr cpu.ctuu2emappuf*="L26" cl+s u2emap nsr[rmchunk 27 27 27 28>>>>>PCPU_SETUP_BUG_ON"m_add 27>>>>>PCPU_SETUP_BUG_ON"m_ad!tructrcpu. : u2epossibappuf*="L26" cl+s u2epossibON"m_add 27>>>>>PCPU_SETUP_BUG_ON"m_add 27 2775 cpu#includee 27145 *="l 2776 c1:d="L26" class=211t">271 6u">>>>>>>="L *="l>>>>>>an> cpu._tbasm_offsetpuf*="L26" cl+sbasm_offseta 4rr,pdr cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osr="L17"> 27 * 27247u">>"L17"> 2778 cpu#adfn c ="L26"211t">2713 *="l 1779 c1:d="L26" class=211t">272n9 *="l 17>>>>>>an> >>>>>>an> 278* 28141 *=""""""""""""""""""""""""Ldr 2782 cpu#ifnadf ="L26"211t">28142 *="l 1783 cpu#adfn c ="L26"211t">28143 *="l>>>>>>an> >>>>>>an> 2784 cpuf="mm/pe(void 211t">28144 *="l 2785 cpuf="mm/percpu">211t">28145 *="l 0 1186 cpuf="mm/percpu">211t">281 6u">>>>>>>=er}"L11"> 0 1187 cpu#endifd="L26" 211t">28257u">>>>>>>="Ldr 2788 cpu#ifnadf ="L26"211t">211umapr="L17"> 2789 cpu#adfn c ="L26"211t">28249 *="p 27>>>>>PCPU_SETUP_BUG_ON"m_add 2791 cpuf="mm/percpu">211t">2119...)="L17"> 2792 cpuf="mm/percpu">211t">29252+stde=__forLde path uring eh a hr1"weitre d- onparessinn thinput, h_ #defdiP_B macroedsandumpld fonfiych" na1=e="L7"> 1793 cpu#endifd="L26" 211t">2119set#h_ #d"""dr >>>>>PCPU_SETUP_BUG_ON"me="L7"> 1794 cpu#else puan> 29244u">>>>>>>="Ldr efKERDEefBUGpuf*="L26" clefKERDEefBfo"m4r,pdr 179* c1:u1, c1:u2 and 211t">2926Onfir"L17"> 2796 cpu#adfn c ="L26"211t">29246u">>>>>>>="Lrmchunk eftde_tn_tgroupspuf*="L26" cleftde_tn_tgroupa"m_aa=crmchunk cpu._tnr_groupspuf*="L26" cl+snr_groups/osir"L17"> 2797 cpu#adfn c ="L26"211t">29257u">>>>>>>="Ldr 2798 cpu#endifpuan> 29258u">>>>>>>="Ldmchunk _spuf*="L26" cl u2a 4r ;crmchunk fgroup_iv>_spuf*="L26" cl+sgroup_iv>_sa 4r="L17"> 2799 c1:d="L26" class=211t">29249 *="p 27>>>>>>="Lpr >>>>>>an> 2791 cpuf="mm/percpu">312s">3019...)="L17"> 2792 cpuf="mm/percpu">312s">30252+stde=__forLde path uring eh a hr1"_ deL29ma bas"mm/arercdeLcksch" na1=e="L7"> 1793 cpu#endifd="L26" 312s">30243 *=" eftdeefunidttaetspuf*="L26" cleftdeefunidttaepa"m_aa=crmchunk cpu._tunit_iv>_u. cpuf="L26" cunit_iv>_/osrd="rg=lt;crmchunk o PAGEHIFONTpuf*="L26" clo PAGEHIFOffa 4r="L17"> 2794 cpu#else puan> 30244u">>>>>>>="Ldr _u. cpuf="L26"efr"m_tunit_ivpa"m_aa=crmchunk eftdeefunidttaetspuf*="L26" cleftdeefunidttaepa"m_r =lr =lt;crmchunk PAGEHIFONTpuf*="L26" clo PAGEHIFOffa 4r="L17"> 279* c1:u1, c1:u2 and 312s">30245 *="rmchunk +stde=2atom_ivtspuf*="L26" cleftde=2atom_ivpa"m_aa=crmchunk cpu.=2atom_ivtspuf*="L26" cl=2atom_ivpa"m4r="L17"> 2796 cpu#adfn c ="L26"312s">30246u">>>>>>>="Lrmchunk eftdesdunk_ ihunom_ivtspuf*="L26" cleftdesdunk_ ihunom_ivpa"m_aa* sv>_o="ihunk efr"mchunk cpuf*="L26" cl+spce=eunk c"m) +r="L17"> 2797 cpu#adfn c ="L26"312s">30227u">>>>>>>="L dmchunk BITS_TO_LONGPUSpuf*="L26" clBITS_TO_LONGPfo"m_ad eftdeefunidttaetspuf*="L26" cleftdeefunidttaepa"m)srr* sv>_od(unsignpuklon4r="L17"> 2798 cpu#endifpuan> 301umapr="L17"> 2799 c1:d="L26" class=312s">30952+stde=__forLde path uring eh a hr1h" na1=e="L7"> 17 17 17 17eftde_tn< slopspuf*="L26" cleftde_tn< slots"m_aa=crmchunk __+spce=siv>_on< slpspuf*="L26" cl__+spce=siv>_on< slfo"m_ad eftdeefunit_iv>_u. cpuf="L26"efr"m_tunit_ivpa"m) + 24r="L17"> 27>>>>>>="Ldr _of(dr 27 27>>>>>>="L *;crmchunk I_UNILIST_HEAD 27>"L17"> 27>>>>>>="Lde path uring eh a hr1h" na1=e="L7"> 17"Ls="mm/ f="mssis zerooe="l name="L17"> 17 2reaamame="L17"> 17 17 e moduleamame="L17"> 17) 17 17 27>>>>>>="Lrmchunk I_UNILIST_HEADcpu.lislpspuf*="L26" cllislpa"m]))="L17"> 27>>>>>>="Ldr cpu.f"basm_Lddrpuf*="L26" cl+sbasm_Lddra 4aa=crmchunk f"basm_Lddrpuf*="L26" cl+sbasm_Lddra ))="L17"> 27>>>>>>="Ldmchunk ecpu.t_mappuf*="L26" clt_mpa"m_aa=crmchunk f"smappuf*="L26" cl+ssmap n))="L17"> 27cpu.t_mmp_o2"appuf*="L26" clt_mmp_o2"pa"m_aa=crmchunk ARRARLY_SIZEm/percpu">>>>ARRARLY_SIem"m_add 27>>>>>>="Lpr cpu.immug =ab 27cpu.poprculd=tspuf*="L26" cleoprculd=fo"m4r,pdr 27 0 11cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a ++) ="L11"> 0 11cpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"m_aa=crmchunk cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a ))="L17"> 27 27>>>>>>="L *;crmchunk +spce creservechunk_limunitpuf*="L26" cl+spce creservechunk_limunpa"m_aa=crmchunk cpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r +pp cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a ))="L17"> 27 >>>>>>=} else+) ="L11"> 0 11cpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"m_aa=crmchunk f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/osr="L17"> 27 _u. cpuf="L26" cdyn_iv>_/osr 0d); rLde path uring eh a hr1"_ 17>>>>>>=er}"L11"> 0 11cpu.""ftig_hinnitpuf*="L26" cl""ftig_hinnpa"m_aa=crmchunk fcpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"msr="L17"> 27 0 11ecpu.t_mappuf*="L26" clt_mpa"m4;crmchunk ecpu.t_mmy usappuf*="L26" clt_mmy ussi"m_a4r] -=crmchunk cpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a sr="L17"> 27>>>>>>=="ef dpr cpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"m+)="L17"> 27cpu.t_mappuf*="L26" clt_mpa"m4;crmchunk ecpu.t_mmy usappuf*="L26" clt_mmy ussi"m_a4r] =crmchunk fcpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"msr="L17"> 27 7 >>>>>>="Lde path uring eh a hr1"o in"_ 17>>>>>>=="ef dpr _u. cpuf="L26" cdyn_iv>_/o++) ="L11"> 0 11 27cpu.lislpspuf*="L26" cllislpa"m]))="L17"> 27cpu.f"basm_Lddrpuf*="L26" cl+sbasm_Lddra 4aa=crmchunk f"basm_Lddrpuf*="L26" cl+sbasm_Lddra ))="L17"> 27cpu.t_mappuf*="L26" clt_mpa"m_aa=crmchunk f"dmappuf*="L26" cl+sdmap n))="L17"> 27cpu.t_mmp_o2"appuf*="L26" clt_mmp_o2"pa"m_aa=crmchunk ARRARLY_SIZEm/percpu">>>>ARRARLY_SIem"m_add 27cpu.immug =ab 27cpu.poprculd=tspuf*="L26" cleoprculd=fo"m4r,pdr 27 7 >>>>>>="L dmchunk cpu.""ftig_hinnitpuf*="L26" cl""ftig_hinnpa"m_aa=crmchunk cpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"m_aa=crmchunk f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/osr="L17"> 27cpu.t_mappuf*="L26" clt_mpa"m4;crmchunk cpu.t_mmy usappuf*="L26" clt_mmy ussi"m_a4r] -=crmchunk +spce creservechunk_limunitpuf*="L26" cl+spce creservechunk_limunpa"msr="L17"> 27 cpu.t_mappuf*="L26" clt_mpa"m4;crmchunk cpu.t_mmy usappuf*="L26" clt_mmy ussi"m_a4r] =crmchunk cpu.freeed_iv>_u. cpuf="L26"freeed_ivpa"msr="L17"> 27>>>>>>=er}"L11"> 0 11 27 17eftdem 27>>>>>>="Ldr 27 27>>>>>>=rLde path uring eh a hr1"weitre d- onych" na1=e="L7"> 171362nt"36257u">>>>>>>="Ldr 27 27 0 11 28>#ifdef"rmchunk >"L17"> 27 0 11>PCPFC_NRtspuf*="L26" cl>>PCPFC_NRpa"m]a=crmchunk __o indatatspuf*="L26" cl__o indatadra 4aa) ="L11"> 0 11>>>>>>=4;crmchunk >>PCPFC_AUTOtspuf*="L26" cl>>PCPFC_AUTOpa"m]a4aa=ddpu bsafecpucchuing">&quoauto\n" na1=e ="L11"> 0 1175 cpu#includee 37145 *4;crmchunk >>PCPFC_EMBED>PCPFC_EMBEDpa"m]aaa=ddpu bsafecpucchuing">&quoembed\n" na1=e ="L11"> 0 1176 c1:d="L26" class=311t">371 6u">>>>>>>=4;crmchunk >>PCPFC_o PA>PCPFC_o PApa"m]a4aa=ddpu bsafecpucchuing">&quodtta\n" na1=e ="L11"> 0 11 * 37247u"}))="L17"> 2778 cpu#adfn c ="L26"311t">371umapr="L17"> 2779 c1:d="L26" class=311t">372n9 enum*=" eftdem"appuf*="L26" cleftdem" 6u">"Ldr "Ldr >PCPFC_AUTOtspuf*="L26" cl>>PCPFC_AUTOpa"m))="L17"> 27 288* 38141 "Ls="mminn>"Ldr "Ldr _u. cpuf="L26" crpa"m+)="L17"> 2782 cpu#ifnadf ="L26"311t">38142 ) ="L11"> 0 1183 cpu#adfn c ="L26"311t">38213 *="efbd0)"L17"> 2784 cpuf="mm/pe(void 311t">38144 *="l 2785 cpuf="mm/percpu">311t">38145 >>#ifdef"rmchunk >>> 2886 cpuf="mm/percpu">311t">381 6u">>>>>>>=else+="efad!tructrcpu. crcmmappuf*="L26" cl+crcmmem"m_add _u. cpuf="L26" crpa"m,a=ddpu bsafecpucchuing">&quoembed\n" na1=)d0)"L17"> 2787 cpu#endifd="L26" 311t">38227u">>>>>>>="L dmchunk +spcechosenem"appuf*="L26" cleftdechosenem" 6u">aa;crmchunk >>PCPFC_EMBED>PCPFC_EMBEDpa"m))="L17"> 2788 cpu#ifnadf ="L26"311t">311umap="#endif"L17"> 2789 cpu#adfn c ="L26"311t">38249 >>#ifdef"rmchunk >>> 28_u. cpuf="L26" crpa"m,a=ddpu bsafecpucchuing">&quodtta\n" na1=)d0)"L17"> 2791 cpuf="mm/percpu">311t">39141 *="""""""p;dr aa;crmchunk >>PCPFC_o PA>PCPFC_o PApa"m))="L17"> 2792 cpuf="mm/percpu">311t">39252+s="#endif"L17"> 2793 cpu#endifd="L26" 311t">3933u *elseif"L17"> 2794 cpu#else puan> 39264 *="l&quo>>PERC: unknownic L2" ior %s specified\n\n" na1=ea=crmchunk fcc>_u. cpuf="L26" crpa"m+))="L17"> 279* c1:u1, c1:u2 and 311t">3926Onfir"L17"> 2796 cpu#adfn c ="L26"311t">39246u">>>>>>>=return 0))="L17"> 2797 cpu#adfn c ="L26"311t">39257u"er}"L11"> 0 1198 cpu#endifpuan> 39258u"=crmchunk early_/arer>_u. cpuf="L26"early_/arerem"m_addpu bsafecpucchuing">&quo /a> 2799 c1:d="L26" class=311t">3925a8e="L30">8 3| u1 | u2 | u3412ss="comm412ss="9 c1:d="L26" class=412ss=402ss ercpu bsafecpucalocatfr1h" na1=e="L7"> 1791 cpuf="mm/percpu">412s">4020...grabsan> ssiy usebyin thgener"mma> 1792 cpuf="mm/percpu">412s">4020perre hrimed, pan> <* B builitmssigohuiem name="L17"> 1793 cpu#endifd="L26" 412s">4020setoth stareascref=ase rss* to beiy us 1794 cpu#else puan> 4020k igeneral,an> 179* c1:u1, c1:u2 and 412s">40145 >>#a=crmchunk #defdsappuf*="L26" cl #defdsem"m_add >>> 1796 cpu#adfn c ="L26"412s">40246u">>>>>>>=ad!tructrcpu. #defdsappuf*="L26" cl #defdsem"m_add >>> 2797 cpu#adfn c ="L26"412s">40227u"# #defdiadd >>>BUILD_EMBED_FIRST_CHUNA5a8e="L30">8 3| u1 | u2 | u3418s3="comm411t">98 cpu#endifpuan> 401umap="#endif"L17"> 2799 c1:d="L26" class=412s">4025a8e="L30">8 3| u1 | u2 | u34121s="comm412nt"110 cpuf="mm/peunsig412nt"412ss ercpu bsafecpucalocatfr1"d buileftdedttaemsff needusebyin tharchld fonfiych" na1=e="L7"> 17>#a=crmchunk #defdsappuf*="L26" cl #defdsem"m_add >>> 27>>>BUILD_o PAGFIRST_CHUNA5a8e="L30">8 3| u1 | u2 | u3413s2="comm412nt"1 * (sphe kern6ktc="412nt"41213 ="#endif"L17"> 27 27ssiy usebyiboth embededsandttahm 17>#a=crmchunk #defdsappuf*="L26" cl #defdsem"m_add >>>BUILD_EMBED_FIRST_CHUNA5a8e) || =crmchunk #defdsappuf*="L26" cl #defdsem"m_add >>>BUILD_o PAGFIRST_CHUNA5a8e+)="L17"> 27 17 17of L2reservma> 17="> inebytesh" na1=e="L7"> 17 2at d_ivpa na1=e="L7"> 17 <* @ftdedistance_fn: cc Lback to _ deL29ma distance between ftds, opmd=>alpa na1=e="L7"> 17 17 17h" na1=e="L7"> 17 17 17 17 17 isiguarentedsem na1=e="L7"> 17 _sfferth n/drs => _sfferth g_grouicsanad="=75%iy ttaem na1=e="L7"> 17 <* of dlL2" idd virtualheddL2rsircpce 17 17 17 i_in isireturnusmh" na1=e="L7"> 17 17 17efr"mp_o2" i_infopuf*="L26" cl+stdep_o2" i_info"m4rr*crmchunk __o intspuf*="L26" cl__o in 6u">"Ldr 17_>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" creserved_iv>_a ea=crmchunk fsiv>_>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" cdyn_iv>_/oe ="L11"> 0 11_ 6u">"Ldr 0 11_>_u. cpuf="L26"eftdefc_ftdedistance_fn>_ 6u">"Ldr _u. cpuf="L26"ftdedistance_fn5a8e+)="L17"> 27 0 11 27>>>>>>="Ls="mminn>"Ldr 27_>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" c ="mm/_iv>_a 4aa=crmchunk __+esnr_ceensappuf*="L26" cl__+esnr_ceens>_a 4-a=crmchunk __+esnr_ce c rlpspuf*="L26" cl__+esnr_ce c rldra ))="L17"> 27>>>>>>=inn>"Ldr 27 >>>>>>="Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr sur>_u. cpuf="L26"_siv>sur>_a ea=crmchunk mineefunit_iv>_u. cpuf="L26"mineefunit_iv>_a ea=crmchunk p_o2" s_ivtspuf*="L26" cl=_o2" s_ivdra ))="L17"> 27>>>>>>==nn>"Ldr _a ea=crmchunk max_upatspuf*="L26" clmax_upa>_a ea=crmchunk efu Initialvd_vac>_u. cpuf="L26"efu Initialvd_vacem"m_add 17"Ldr _a ea=crmchunk r_groitpuf*="L26" cl+sgro>_a ea=crmchunk efunitpuf*="L26" cl+sunita sr="L17"> 27 27efr"mp_o2" i_infopuf*="L26" cl+stdep_o2" i_info"m4r=crmchunk p 27r=crmchunk stdet_mappuf*="L26" clstdet_mLi"msr="L17"> 27 27 may beicc Lgnpmultiple timecksch" na1=e="L7"> 17_of(dr 27>>>>>>="Lrmchunk memsenitpuf*="L26" clmemsenem"m_add _of(dr 27 >"L17"> 27>>>>>>="Lde path uring eh a hr1icc crculd _siv>suricsanensure dcdyn_iv isienough>="> early =_o2"s1ch" na1=e="L7"> 17sur>_a >aa;crmchunk >FN_ALIG_ONm/percpu">>>>>FN_ALIG_em"m_add _u. cpuf="L26" c ="mm/_iv>_a 4r +pp _u. cpuf="L26" creserved_iv>_a +r="L17"> 27_>_u. cpuf="L26" siv>_ 6u"ea=crmchunk f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/oea;crmchunk >>PERC_DYNAMIC_EARLRLY_SIZEm/percpu">>>>>>PERC_DYNAMIC_EARLRLY_SIpa"m0]))="L17"> 27_/osr ="p sur>_u. cpuf="L26"_siv>sur>_a >-a=crmchunk _t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4-a=crmchunk _treserved_iv>_u. cpuf="L26" creserved_iv>_a ))="L17"> 27 0 11 17 17 17 171462nt"46247u""Lde path uring eh a hsrrrrrrrr* "> larger the pmineefunit_ivmh" na1=e="L7"> 17 17_a sr ="p _>_u. cpuf="L26" siv>_ 6u"ea=crmchunk _siv>sur>_u. cpuf="L26"_siv>sur>_a ea=crmchunk >>PCPMIN_U_UNIY_SIZEm/percpu">>>>>>PCPMIN_U_UNIY_SIem"m+)e="L7"> 17 28_u. cpuf="L26"mineefunit_iv>_a ea=crmchunk p2atom_ivtspuf*="L26" cl=2atom_ivpa"m+)e="L7"> 17_a _aa=crmchunk _a )e="L7"> 17_a _|| (f dpr _a ) =c&am ~=crmchunk > PAGMASASKm/percpu">>>>> PAGMASApa"m0]e="L7"> 17>>>>>>= *="p _a --)e="L7"> 1775 cpu#includee 47255 *=crmchunk max_upatspuf*="L26" clmax_upa>_a _aa=crmchunk epatspuf*="L26" clupa>_a )e="L7"> 1776 c1:d="L26" class=411t">4725a7="L7"> 7 * 47217u">>>>>>>="Lde path uring eh a hr1"+sgro ftdspacngrdhui to n tir proximunglych" na1=e="L7"> 1778 cpu#adfn c ="L26"411t">47258u">>>>>>>="Ldmchunk =">_each_possible_c 0 1179 c1:d="L26" class=411t">472n9 *="lr_groitpuf*="L26" cl+sgro>_a _aa0))="L17"> 27>>>>>>="Lpr 278* 48141 *="""""""p;dr _each_possible_c 0 1182 cpu#ifnadf ="L26"411t">48142 *="l 0 1183 cpu#adfn c ="L26"411t">48263 *="l 2784 cpuf="mm/pe(void 411t">48144 *="l_a _=c&am=c&am "Ldr _u. cpuf="L26"ftdedistance_fn5a8e_=c&am=c&am)="L17"> 2785 cpuf="mm/percpu">411t">48255 *="l_u. cpuf="L26"ftdedistance_fn5a8ef dpr _a _||)="L17"> 2786 cpuf="mm/percpu">411t">481 6u">>>>>>>="L * *="""""""p;dr _u. cpuf="L26"ftdedistance_fn5a8ef dpr _a )++) ="L11"> 0 1187 cpu#endifd="L26" 411t">48227u">>>>>>>="L * *="""""""p;dr _a ++m)="L17"> 2788 cpu#ifnadf ="L26"411t">4822 *="l_a + 1)))="L17"> 2789 cpu#adfn c ="L26"411t">482n9 *="l 27 0 1191 cpuf="mm/percpu">411t">49141 *="""""""er}"L11"> 0 1192 cpuf="mm/percpu">411t">49142 *="l_a ))="L17"> 2793 cpu#endifd="L26" 411t">49263 *="l_a ]++m)="L17"> 2794 cpu#else puan> 49264 *er}"L11"> 0 119* c1:u1, c1:u2 and 411t">4926Onfir"L17"> 2796 cpu#adfn c ="L26"411t">49266u">>>>>>>=rLde path uring eh a hr1h" na1=e="L7"> 1797 cpu#adfn c ="L26"411t">49247u""Lde path uring eh a hsrrrrrrrr* Expdsanefun d_iveuntilheddL2rsircpceiy tta gors =ver 75%h" na1=e="L7"> 1798 cpu#endifpuan> 49248u"grabsan> 1799 c1:d="L26" class=411t">491u ercpu bsafecpucalocatfrrrrrrrrr*ercpce 17 1791 cpuf="mm/percpu">512s">50241 *="p _a r] =crmchunk INT_MAXtspuf*="L26" clINT_MAX>_a ))="L17"> 2792 cpuf="mm/percpu">512s">50142 *="> f dpr _a _aa=crmchunk max_upatspuf*="L26" clmax_upa>_a ;i="p _a ;i="p _a --++) ="L11"> 0 1193 cpu#endifd="L26" 512s">50263 *="l"Ldr _a r] 0ea=crmchunk w4*tdsappuf*="L26" clw4*tds>_a _aa0))="L17"> 2794 cpu#else puan> 502n4 "L17"> 279* c1:u1, c1:u2 and 512s">50255 *="l_a _|| (f dpr _a ) =c&am ~=crmchunk > PAGMASASKm/percpu">>>>> PAGMASApa"m0]e="L7">> 2796 cpu#adfn c ="L26"512s">501 6u">>>>>>>="L * *=""""ftinue))="L17"> 2797 cpu#adfn c ="L26"512s">50247u">>"L17"> 2798 cpu#endifpuan> 5022 *="l f dpr _a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk _tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11"> 0 1199 c1:d="L26" class=512s">502n9 *="l"Ldr _a _aa=crmchunk DIV_ROUND_USMPpuf*="L26" clDIV_ROUND_US5a8ef dpr _a ]ea=crmchunk epatspuf*="L26" clupa>_a )))="L17"> 27_a r+aa=crmchunk h< n=_o2"itspuf*="L26" clth< n=_o2"i>_a ))="L17"> 27_a _+aa=crmchunk h< n=_o2"itspuf*="L26" clth< n=_o2"i>_a 4rr*crmchunk upatspuf*="L26" clupa>_a _-a=crmchunk +sgroucnnitpuf*="L26" cl+sgroucnnpa"m4;crmchunk r_groitpuf*="L26" cl+sgro>_a ]))="L17"> 27 0 11 27 17 17 17 17 17_a _ad="a=crmchunk num_possible_c> 27 27 27 17_a rad="a=crmchunk l4*tn=_o2"itspuf*="L26" cl14*tn=_o2"i>_a ]e="L7">> 27 27_a r] =crmchunk f_a ))="L17"> 27>>>>>>="L *=crmchunk best_upatspuf*="L26" clbest_upaem"m_aa=crmchunk epatspuf*="L26" clupa>_a )e="L7"> 17>>>>>>=er}"L11"> 0 11>>>>>>="Ldmchunk upatspuf*="L26" clupa>_a _aa=crmchunk best_upatspuf*="L26" clbest_upaem"m)e="L7"> 178 3| u1 | u2 | u35123s="comm512 u01| uThed="L26" class512 u05325uu">>>>>>>="Lde path uring eh a hr1"dlL2" id"dsanfilllp_o2" i_in ych" na1=e="L7"> 17_a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk _tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a +++e="L7"> 17_a ]ea=crmchunk epatspuf*="L26" clupa>_a )))="L17"> 27 27>>>>>>="Ldr 27 17>>>>>>="L *return d!tructrcpu. ERR_PTRLipuf*="L26" clERR_PTRem"m_-=crmchunk ENOMEMLipuf*="L26" clENOMEMpa"m)))="L17"> 27 >>>>>>="Ldr cpu.r_groupspuf*="L26" clr_groups/o[0]."Ldr 27 27_a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk _tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11"> 0 11cpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]."Ldr 27_a ]ea=crmchunk epatspuf*="L26" clupa>_a )))="L17"> 27 0 11 27>>>>>>="Ldr cpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4aa=crmchunk _t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a ))="L17"> 27cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a aa=crmchunk streserved_iv>_u. cpuf="L26" creserved_iv>_a ))="L17"> 27>>>>>>="Lrmchunk pcpu. _u. cpuf="L26" cdyn_iv>_/osr ="p _u. cpuf="L26" cdyn_iv>_/o))="L17"> 27 >>>>>>="Ldr cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a sr ="p _a ))="L17"> 27>>>>>>="Ldmchunk pcpu.p2atom_ivtspuf*="L26" cl=2atom_ivpa"msr ="p 27cpu.p_o2" s_ivtspuf*="L26" cl=_o2" s_ivdra sr ="p 27 28_a _aa0ea=crmchunk efunitpuf*="L26" cl+sunita _aa0)a=crmchunk r_groucnnitpuf*="L26" cl+sgroucnnpa"m4;crmchunk r_groitpuf*="L26" cl+sgro>_a ])a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11"> 0 11efr"m+sgroui_infopuf*="L26" cl+stde+sgroui_in>_a 4r=crmchunk rcpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]))="L17"> 27 27 17 17 17 lectpactualhe L2" id=> 17 17rcpu.base_offsettspuf*="L26" clbase_offsetem"m_aa=crmchunk efunitpuf*="L26" cl+sunita _rr*crmchunk pcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L17"> 27 28 28_a +e="L18"> 28rcpu.stdet_mappuf*="L26" clstdet_mLi"m[;crmchunk rcpu._tnr_unitspuf*="L26" cl_tnr_unipa"m++4r] =crmchunk c 27>>>>>>= *="p cpu._tnr_unitspuf*="L26" cl_tnr_unipa"msr ="p cpu._tnr_unitspuf*="L26" cl_tnr_unipa"mea=crmchunk epatspuf*="L26" clupa>_a )))="L17"> 27cpu._tnr_unitspuf*="L26" cl_tnr_unipa"m))="L17"> 27>>>>>>=er}"L11"> 0 111562nt"56217u">>>>>>>="Ldr >>>BUG_O_em"m_add 27 27 27 0 11 17 0 11>#a=crmchunk #defdsappuf*="L26" cl #defdsem"m_add >>>BUILD_EMBED_FIRST_CHUNA5a8e) "L11"> 0 11 1775 cpu#includee 572n5 "Lde path uring eh a hm* eftdeembedem 1776 c1:d="L26" class=511t">57246u""Lde path uring eh a hm* @ creserved_iv:in thd_iv>of L2reservma> 17 * 57247u""Lde path uring eh a hs1 @ cdyn_iv: minimum freehd_iv>="> inebytesh" na1=e="L7"> 1778 cpu#adfn c ="L26"511t">57248u"grabsan> 2at d_ivpa na1=e="L7"> 1779 c1:d="L26" class=511t">571u ercpu bsafecpucalocatfr* @ctdedistance_fn: cc Lback to _ deL29ma distance between ftds, opmd=>alpa na1=e="L7"> 17 to dlL2" id"a> 178* 5820...grabsan> to freeha> 1782 cpu#ifnadf ="L26"511t">5820perre hrimed, pan> <*em na1=e="L7"> 1783 cpu#adfn c ="L26"511t">5820setoth stareascref=ase rss1 Th< i< i"L7elper to easehdetthui up embeddusef 1784 cpuf="mm/pe(void 511t">5820k igeneral,an> 1785 cpuf="mm/percpu">511t">582n5 "Lde path uring eh a hm*h" na1=e="L7"> 1786 cpuf="mm/percpu">511t">58246u""Lde path uring eh a hm* If"th< ifuncid=> ssiy useto detroen thf 1787 cpu#endifd="L26" 511t">58247u""Lde path uring eh a hs1 byicc Lhui @=_o2" fn"dsany useas-< iwithoutibehui mappgnp=nnoita ame="L17"> 1788 cpu#ifnadf ="L26"511t">58248u"grabsan> uicp2ic ways wholepmultiples of @=2atom_ivpaa ame="L17"> 1789 cpu#adfn c ="L26"511t">581u ercpu bsafecpucalocatfr* c nsignpto @=2atom_ivmh" na1=e="L7"> 17 1791 cpuf="mm/percpu">511t">5920...grabsan> 1792 cpuf="mm/percpu">511t">5920perre hrimed, pan> <* mapohui whichloften uuesplarger dttahm_ivm Pleasehnold that"th< pa na1=e="L7"> 1793 cpu#endifd="L26" 511t">5920setoth stareascref=ase rss1 ce pL2rult ineveryercprsehspa_ad="efun mapohui => NUMA machinespn dsh" na1=e="L7"> 1794 cpu#else puan> 5920k igeneral,an> ifh" na1=e="L7"> 179* c1:u1, c1:u2 and 511t">592n5 "Lde path uring eh a hm* vm=_o2"srcpcei< inol ordeLckof magfunude larger the pdistancesh" na1=e="L7"> 1796 cpu#adfn c ="L26"511t">59246u""Lde path uring eh a hm* between n/drimemopglcddL2rsesp(ie< 32bun NUMA machines)mh" na1=e="L7"> 1797 cpu#adfn c ="L26"511t">59247u""Lde path uring eh a hs*h" na1=e="L7"> 1798 cpu#endifpuan> 59248u"grabsan> 1799 c1:d="L26" class=511t">591u ercpu bsafecpucalocatfr*h" na1=e="L7"> 17 rcecifieanefunh" na1=e="L7"> 1791 cpuf="mm/percpu">612s">6020...grabsan> 1792 cpuf="mm/percpu">612s">6020perre hrimed, pan> <*em na1=e="L7"> 1793 cpu#endifd="L26" 612s">6020setoth stareascref=ase rss1 RETURNS:h" na1=e="L7"> 1794 cpu#else puan> 6020k igeneral,an> 179* c1:u1, c1:u2 and 612s">602n5 "Lde path uring eh a hm*ch" na1=e="L7"> 1796 cpu#adfn c ="L26"612s">601 6u"=nn>"Ldr "Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" creserved_iv>_a ea=crmchunk fsiv>_>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" cdyn_iv>_/oe ="L11"> 0 1197 cpu#adfn c ="L26"612s">60227u">>>>>>>="L * *="""""""s dr _>_u. cpuf="L26" siv>_ 6u">"Ldr 0 1198 cpu#endifpuan> 6022 *="l_>_u. cpuf="L26"eftdefc_ftdedistance_fn>_ 6u">"Ldr _u. cpuf="L26"ftdedistance_fn5a8ee ="L11"> 0 1199 c1:d="L26" class=612s">602n9 *="l_>_u. cpuf="L26"eftdefc_=_o2" fn>_ 6u">"Ldr 0 11_>_u. cpuf="L26"eftdefc_free fn>_ 6u">"Ldr 0 11 0 11 27 27efr"mp_o2" i_infopuf*="L26" cl+stdep_o2" i_info"m4r=crmchunk p 27_>_u. cpuf="L26" siv>_ 6u">"Ldr sur>_u. cpuf="L26"_siv>sur>_a ea=crmchunk =p2riom_ivtspuf*="L26" cl=p2riom_iv>_a ea=crmchunk max_distancetspuf*="L26" clmax_distanceLi"msr="L17"> 27>>>>>>=inn>"Ldr _a ea=crmchunk _a ea=crmchunk rc>_u. cpuf="L26" cLi"msr="L17"> 27>"L17"> 27>>>>>>="Ldmchunk p_u. cpuf="L26" creserved_iv>_a ea=crmchunk f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/oea;crmchunk =2atom_ivtspuf*="L26" cl=2atom_ivpa"me ="L11"> 0 11_u. cpuf="L26"ftdedistance_fn5a8e)))="L17"> 27 0 11 27 0 11sur>_u. cpuf="L26"_siv>sur>_a r] =crmchunk fcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a 4r +pp cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a r +pp cpu. _u. cpuf="L26" cdyn_iv>_/o))="L17"> 27>>>>>>="Ldr _a >aa;crmchunk >FN_ALIG_ONm/percpu">>>>>FN_ALIG_em"m_add cpu._tnr_groupspuf*="L26" cl+snr_groups/o4*r* sv>_ovoid4r)+))="L17"> 27 27>>>>>>="Lrmchunk pp2ritspuf*="L26" cl=p2ripa"msr ="p _u. cpuf="L26"p_o2" bootmem_nopanicem"m_add _a +))="L17"> 27>>>>>>=="efad!tructrcpu. pp2ritspuf*="L26" cl=p2ripa"m++) ="L11"> 0 11 27 27>>>>>>=er}"L11"> 0 11 27 17_a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk pcpu._tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11"> 0 11>>>>>>= *="ihunk efr"m+sgroui_infopuf*="L26" cl+stde+sgroui_in>_a 4r=crmchunk rcpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]))="L11"> 0 11 27>>>>>>="L *void4r=crmchunk ptrfopuf*="L26" cl+trpa"m))="L17"> 27 >"L17"> 27 f dpr _a _aa0)a=crmchunk _a _=l="a=crmchunk rcpu._tnr_unitspuf*="L26" cl_tnr_unipa"ms=c&am=c&am "Ldr _a +++e="L7"> 17cpu.stdet_mappuf*="L26" clstdet_mLi"m[;crmchunk _a ]))="L11"> 0 11>>>BUG_O_em"m_add 27 27 17cpu._tnr_unitspuf*="L26" cl_tnr_unipa"msrr*crmchunk pcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ea=crmchunk p2atom_ivtspuf*="L26" cl=2atom_ivpa"m+)e="L7"> 17>>>>>>= *="efad!tructrcpu. ptrfopuf*="L26" cl+trpa"m++) ="L11"> 0 11_u. cpuf="L26" cLi"msr -=crmchunk ENOMEMLipuf*="L26" clENOMEMpa"m))="L17"> 27>>>>>>="L * *=""goto "Lpr 27 >>>>>>="L er}"L11"> 0 11uisepar idlglych" na1=e="L7"> 17 27_a ]_aa=crmchunk +trfopuf*="L26" cl+trpa"m))="L17"> 27 27 27 0 11 27 17 17 uicp2ing plete; on trwise, we may esanypiwithh" na1=e="L7"> 17 17 17 f dpr _a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk pcpu._tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11" 17efr"m+sgroui_infopuf*="L26" cl+stde+sgroui_in>_a 4r=crmchunk rcpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]))="L11" 17_a ]))="L11" 17 27>>>>>>= *="> f dpr _a _aa0)a=crmchunk _a _=l="a=crmchunk rcpu._tnr_unitspuf*="L26" cl_tnr_unipa"m)a=crmchunk _a ++ea=crmchunk ptrfopuf*="L26" cl+trpa"ms+aa=crmchunk pcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ++) ="L11" 17cpu.stdet_mappuf*="L26" clstdet_mLi"m[;crmchunk _a ]srr ="p >>>>>>="L * *="" *=Lde path uring eh a hr1huny useefun,nfreehwholep*ch" na1=e="L7"> 171662nt"66227u">>>>>>>="L * *="""""""="p cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a +))="L11" 17 27 0 11 17<_ftdeloasappuf*="L26" cl__a><_ftdeloaspa"mea=crmchunk pcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a +))="L11" 17sur>_u. cpuf="L26"_siv>sur>_a ea=crmchunk =cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a s-a=crmchunk _siv>sur>_u. cpuf="L26"_siv>sur>_a +))="L11" 17 0 11>>>>>>=er}"L11"> 0 1175 cpu#includee 6726Onfir"L17"> 2776 c1:d="L26" class=611t">67246u">>>>>>>="Lde path uring eh a hr1hbasescddL2rsi< inow known,n_ deL29ma +sgro basesoffsetsi*ch" na1=e="L7"> 17 * 67217u">>>>>>>="Ldr 2778 cpu#adfn c ="L26"611t">6722 *="> f dpr _a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk pcpu._tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a ++++) ="L11"> 2779 c1:d="L26" class=611t">672n9 *="lcpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]."Ldr _a ]_-a=crmchunk basetspuf*="L26" clbasepa"m))="L17"> 27_>_u. cpuf="L26" siv>_ 6u"ea=crmchunk max_distancetspuf*="L26" clmax_distanceLi"me ="L11"> 0 118* 68141 *=""""""""""""""" *="lcpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]."Ldr 82 cpu#ifnadf ="L26"611t">68142 *er}"L11"> 0 1183 cpu#adfn c ="L26"611t">68263 *"Ldr cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1784 cpuf="mm/pe(void 611t">682n4 "L17"> 2785 cpuf="mm/percpu">611t">68255 *=Lde path uring eh a hr1 warn if maximum 1786 cpuf="mm/percpu">611t">68246u">>>>>>>=i"ef dpr _a s-a=crmchunk VMALLOC_STARTtspuf*="L26" clVMALLOC_STARTpa"m++* 3 / 4++) ="L11"> 2787 cpu#endifd="L26" 611t">68227u">>>>>>>="L dpr "PERCPU: max_distance=0x%zx too large ="> vm=_o2"s"h" na1=e="L7"> 1788 cpu#ifnadf ="L26"611t">6822 *="l"rcpcei0x%lx\n"h" na1=ea=crmchunk max_distancetspuf*="L26" clmax_distanceLi"me ="L11"> 0 1189 cpu#adfn c ="L26"611t">682n9 *="l_a s-a=crmchunk VMALLOC_STARTtspuf*="L26" clVMALLOC_STARTpa"m++))="L11" 17 2791 cpuf="mm/percpu">611t">69141 *="""""""pLde path uring eh a hr1"dsanfail=i"ewe have =c Lback *ch" na1=e="L7"> 1792 cpuf="mm/percpu">611t">69142 *="l_u. cpuf="L26" cLi"msr -=crmchunk EINVALtspuf*="L26" clEINVAL>_a ))="L11" 1793 cpu#endifd="L26" 611t">69263 *="l 2794 cpu#else puan> 6920k i="#end)="L17"> 279* c1:u1, c1:u2 and 611t">69542 *er}"L11"> 0 1196 cpu#adfn c ="L26"611t">69246u"r}"L11"> 0 1197 cpu#adfn c ="L26"611t">69217u">>>>>>>="Ldr "PERCPU: Embedduse%zaipttas/spai@%p s%zair%zaid%zaiu%za\n"h" na1=er}"L11"> 0 1198 cpu#endifpuan> 6922 *="lFN_DOW_ONm/percpu">>>>>FN_DOW_5a8ef dpr sur>_u. cpuf="L26"_siv>sur>_a +ea=crmchunk basetspuf*="L26" clbasepa"mea=crmchunk pcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a ea=crmchunk pcpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a er}"L11"> 0 1199 c1:d="L26" class=611t">692n9 *="lcpu.f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/oea;crmchunk =cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a +))="L11" 17 2891 cpuf="mm/percpu">712s">70117u">>>>>>>="Ldr _u. cpuf="L26" cLi"msr efr"mdetroum 2792 cpuf="mm/percpu">712s">70142 *goto "Lpr 2793 cpu#endifd="L26" 712s">70263 r="L17"> 2794 cpu#else puan> 7020k igLpr 279* c1:u1, c1:u2 and 712s">70542 *="> f dpr _a _aa0)a=crmchunk r_groitpuf*="L26" cl+sgro>_a _=l="a=crmchunk pcpu._tnr_groupspuf*="L26" cl+snr_groups/o)a=crmchunk r_groitpuf*="L26" cl+sgro>_a +++r="L17"> 2796 cpu#adfn c ="L26"712s">701 6u">>>>>>>="L *="p _a ]er}"L11"> 0 1197 cpu#adfn c ="L26"712s">70227u">>>>>>>="L * *"Lpr cpu.r_groupspuf*="L26" clr_groups/o[;crmchunk r_groitpuf*="L26" cl+sgro>_a ]."Ldr cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a +))="L17"> 2798 cpu#endifpuan> 7022 "Lpr 2799 c1:d="L26" class=712s">702n9 * efr"mfree_p_o2" i_infopuf*="L26" cl+stdefree_p_o2" i_in5a8ef dpr 27 27_a +))="L17"> 27_u. cpuf="L26" cLi"msr="L17"> 27 0 11 17 27_u. cpuf="L26"BUILD_o PAGFIRST_CHUNA6Onfir"L17"> 27 17 17of L2reservma> 17 to dlL2" id"a> 17 to freeha> 17 <* @popul id_pte fn: funcid=> to popul id pteh" na1=e="L7"> 17 17 17 17 17 17 17 17 17 sucroce, -errno => failurvmh" na1=e="L7"> 17 <*ch" na1=e="L7"> 17"Ldr "Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" creserved_iv>_a ee="L7"> 17>>>>>>= *="L * *"Lpr _>_u. cpuf="L26"eftdefc_=_o2" fn>_ 6u">"Ldr 0 11_>_u. cpuf="L26"eftdefc_free fn>_ 6u">"Ldr 0 11>>>>>>="L *="L * *"Lpr _>_u. cpuf="L26"eftdefc_popul id_pte fn>_ 6u">"Ldr _u. cpuf="L26"eopul id_pte fnpa"m+)="L17"> 27 27vm_="ihun>_u. cpuf="L26"vm_="ihun 6u">"Ldr 27efr"mp_o2" i_infopuf*="L26" cl+stdep_o2" i_info"m4r=crmchunk p 27e_siv>strfopuf*="L26" cl+_siv>strps/o[16]))="L11" 17"Ldr _u. cpuf="L26"efunipttash""msr="L17"> 27_>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26"pttased_ivh""msr="L17"> 27etta>_u. cpuf="L26"pttafo"m4rr=crmchunk pttas>_u. cpuf="L26"pttash""msr="L17"> 27>>>>>>==nn>"Ldr _u. cpuf="L26"efunLi"mea=crmchunk _a ea=crmchunk jLipuf*="L26" clj>_a ea=crmchunk rc>_u. cpuf="L26" cLi"msr="L17"> 27 27>>>>>>="Lrmchunk snpr=nnf>_u. cpuf="L26" npr=nnf5a8ef dpr strfopuf*="L26" cl+_siv>strps/o,r* sv>_o dpr strfopuf*="L26" cl+_siv>strps/o+ea=Lde path uristchui">"%luK"h" na1=ea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""m_ad="ad="a10+))="L17"> 27 >"L17"> 27>>>>>>="Ldmchunk p_u. cpuf="L26" creserved_iv>_a ea0ea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""mea=crmchunk NULLtspuf*="L26" clNULLLi"m+))="L17"> 27 0 11 27>>>>>>="Ldr >>>BUG_O_em"m_add cpu._tnr_groupspuf*="L26" cl+snr_groups/o4!= 1+))="L17"> 27>>>BUG_O_em"m_add cpu.r_groupspuf*="L26" clr_groups/o[0]."Ldr 27>>>>>>="Ldr _u. cpuf="L26"efunipttash""mr] =crmchunk fcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a sad="ad="a=crmchunk o PAGSHIFTtspuf*="L26" clo PAGSHIFTLi"msr="L17"> 27 27>>>>>>="Lde path uring eh a hr1hunc nsignpc L2" id=>uicanittpbe freed, _grsanypito pttahm_iv<*ch" na1=e="L7"> 17 >>>>>>="Ldr _u. cpuf="L26"pttased_ivh""m>aa;crmchunk >FN_ALIG_ONm/percpu">>>>>FN_ALIG_em"m_add _u. cpuf="L26"efunipttash""mrrr*crmchunk num_possible_ftditspuf*="L26" cl_um_possible_ftdiem"m_+ *e="L7"> 17_o dpr _u. cpuf="L26"pttash""m[0]++))="L11" 17ettas>_u. cpuf="L26"pttash""msr ="p _u. cpuf="L26"pttased_ivh""m+))="L11" 17 28 17_a _aa0))="L17"> 27_u. cpuf="L26"efunLi"m_=l="a=crmchunk num_possible_ftditspuf*="L26" cl_um_possible_ftdiem"m_+)a=crmchunk efun>_u. cpuf="L26"efunLi"m+++r="L17"> 27>>>>>>= *="> f dpr _a _aa0)a=crmchunk _a _=l="a=crmchunk efunipttas>_u. cpuf="L26"efunipttash""msa=crmchunk _a ++++) ="L11"> 27cpu.r_groupspuf*="L26" clr_groups/o[0]."Ldr _u. cpuf="L26"efunLi"m]))="L11" 17>>>>>>="L * *=""void4r=crmchunk ptrfopuf*="L26" cl+trpa"m))="L17"> 271762nt"76247u">>"L17"> 27>>>> PAGSIZEh""mea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""m+))="L11" 17 0 11"PERCPU: failgnpto dlL2" id"%s pttah"h" na1=e="L7"> 17"="> spa%a\n"h" na1=ek e_siv>strfopuf*="L26" cl+_siv>strps/oek c 27 0 11>>>>>>= *="L =Lde path uring eh a hr1"kmemleak trackspn tha>uisepar idlglych" na1=e="L7"> 1775 cpu#includee 77255 *="l 2776 c1:d="L26" class=711t">771 6u">>>>>>>="L * *="" dpr _u. cpuf="L26"pttash""m[ dpr _a ++]_aa=crmchunk virt_to_etta>_u. cpuf="L26"virt_to_etta5a8ef dpr 27 * 77227u">>>>>>>="L er}"L11"> 0 1178 cpu#adfn c ="L26"711t">7722 r}"L11"> 0 1179 c1:d="L26" class=711t">772n9 *pLde path uring eh a hr1"dlL2" id"vmscp2r, maoen thpttas 17_u. cpuf="L26"flagspa"msr ="p _u. cpuf="L26"VM_ALLOCpa"m))="L17"> 278* 78117u">>>>>>>="Ldr _u. cpuf="L26" _ivh""m>aa;crmchunk num_possible_ftditspuf*="L26" cl_um_possible_ftdiem"m_+ *a=crmchunk pcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1782 cpu#ifnadf ="L26"711t">78142 * dpr >>>> PAGSIZEh""m+))="L11" 1783 cpu#adfn c ="L26"711t">78263 r="L17"> 2784 cpuf="mm/pe(void 711t">782n4u">>>>>>>=="> f dpr _u. cpuf="L26"efunLi"m_aa0)a=crmchunk efun>_u. cpuf="L26"efunLi"m_=l="a=crmchunk num_possible_ftditspuf*="L26" cl_um_possible_ftdiem"m_+)a=crmchunk efun>_u. cpuf="L26"efunLi"m++++) ="L11"> 0 1185 cpuf="mm/percpu">711t">78255 *="l_u. cpuf="L26"efunicddLLi"m_a ="L11"> 0 1186 cpuf="mm/percpu">711t">781 6u">>>>>>>="L * *=""(unsnsignplong)"Ldr _u. cpuf="L26"cddLLi"m_r +pp _u. cpuf="L26"efunLi"m_*a=crmchunk pcpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1787 cpu#endifd="L26" 711t">78247u">>"L17"> 2788 cpu#ifnadf ="L26"711t">7822 *="l f dpr _a _aa0)a=crmchunk _a _=l="a=crmchunk efunipttas>_u. cpuf="L26"efunipttash""msa=crmchunk _a +++>>"L17"> 2789 cpu#adfn c ="L26"711t">782n9 *="l_u. cpuf="L26"eopul id_pte fnpa"m_add _u. cpuf="L26"efunicddLLi"m_+ f dpr _a _=l="=l="a=crmchunk o PAGSHIFTtspuf*="L26" clo PAGSHIFTLi"m++))="L11" 17 2891 cpuf="mm/percpu">711t">79141 *="""""""pLde path uring eh a hr1"pte"dlp2rdy popul idd,en thfolL2whui shouldnittpfail=ych" na1=e="L7"> 1792 cpuf="mm/percpu">711t">79142 *="l_u. cpuf="L26" cLi"msr =crmchunk __pstdet_mipttas>_u. cpuf="L26"__pstdet_mipttaspa"m_add _u. cpuf="L26"efunicddLLi"m,a=c&am=crmchunk ettas>_u. cpuf="L26"pttash""m[ dpr _u. cpuf="L26"efunLi"m_*a=crmchunk efunipttas>_u. cpuf="L26"efunipttash""m]er}"L11"> 0 1193 cpu#endifd="L26" 711t">79263 *="l_u. cpuf="L26"efunipttash""m+))="L11" 1794 cpu#else puan> 792n4u">>>>>>>= *="ef=crmchunk rc>_u. cpuf="L26" cLi"ms=l="a0+>>"L17"> 279* c1:u1, c1:u2 and 711t">79255 *="l_u. cpuf="L26"na1ic5a8ef Lde path uristchui">"failgnpto maoea>rc>_u. cpuf="L26" cLi"m+))="L11" 1796 cpu#adfn c ="L26"711t">79246u"r}"L11"> 0 1197 cpu#adfn c ="L26"711t">79227u">>>>>>>="L Lde path uring eh a hr1h" na1=e="L7"> 1798 cpu#endifpuan> 79248u"grabsan> 1799 c1:d="L26" class=711t">791u ercpu bsafecpucalocatfrrrrrrrrrrrrrrrrr* cac th="> n thd="Lar maoohui here - something5a na1=e="L7"> 17 1791 cpuf="mm/percpu">812s">8020...grabsan> 1792 cpuf="mm/percpu">812s">8020perre hrimed, pan> 1793 cpu#endifd="L26" 812s">8020setoth stareascref=ase rssrrrrrrrrrrrrrrrr*ch" na1=e="L7"> 1794 cpu#else puan> 802n4 "L17"> 279* c1:u1, c1:u2 and 812s">80255 *="l 1796 cpu#adfn c ="L26"812s">801 6u">>>>>>>="L *="p _u. cpuf="L26"efunicddLLi"m,a=crmchunk __p><_ftdeloasappuf*="L26" cl__a><_ftdeloaspa"mea=crmchunk pcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a +))="L11" 1797 cpu#adfn c ="L26"812s">80227u">>>>>>>=er}"L11"> 0 1198 cpu#endifpuan> 8022 r}"L11"> 0 1199 c1:d="L26" class=812s">802n9 *pLde path uring eh a hr1"weitp2ip2rdy,ing mitp*ch" na1=e="L7"> 17"PERCPU: %d"%s pttas/spai@%p s%zair%zaid%za\n"h" na1=er}"L11"> 0 11_u. cpuf="L26"efunipttash""mek e_siv>strfopuf*="L26" cl+_siv>strps/oek vmpapuf*="L26" clvmLi"m."Ldr _u. cpuf="L26"cddLLi"mea=crmchunk pcpu._t ="mm/_iv>_u. cpuf="L26" c ="mm/_iv>_a er}"L11"> 0 11cpu._treserved_iv>_u. cpuf="L26" creserved_iv>_a es"Lpr cpu.f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/o+))="L11" 17 27>>>>>>="Ldr _u. cpuf="L26" cLi"msr efr"mdetroum_u. cpuf="L26"cddLLi"m+))="L11" 17_u. cpuf="L26"out_free_pp>_a ))="L11" 17 0 11 27_a _ad="=a0+>>"L17"> 27_u. cpuf="L26"pttaecddL2rs5a8ef dpr _u. cpuf="L26"pttash""m[ dpr _a ]+ea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""m+))="L11" 17_u. cpuf="L26" cLi"msr -=crmchunk ENOMEM>_u. cpuf="L26"ENOMEM>_a ))="L11" 17_u. cpuf="L26"out_free_pp>_a :r="L17"> 27_u. cpuf="L26"pttash""m+ea=crmchunk +ttased_iv>_u. cpuf="L26"pttased_ivh""m+))="L11" 17 27>>>>>>=return d!tructrcpu. rc>_u. cpuf="L26" cLi"msr="L17"> 27 0 11 17>"L17"> 27_u. cpuf="L26"CONFIG_HAVAGSETUP_PER_CPU_AREA47u">>"L17"> 27 17 17 17 <* The embeddhui helper is y usebecay u itsebehavi"> slosdlgl cremblesh" na1=e="L7"> 17 17 17 17m Auian cddusebonus, inenon-NUMA cases, embeddhui < h" na1=e="L7"> 17 17 17 17 17<_ftdeoffsettspuf*="L26" cl__a><_ftdeoffseth""m[ dpr _a ]a=crmchunk __p2rd_mostlytspuf*="L26" cl__p2rd_mostlyLi"msr="L17"> 27<_ftdeoffsettspuf*="L26" cl__a><_ftdeoffseth""m+))="L17"> 27 27"Ldr "Ldr "Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" _ivh""mer}"L11"> 0 11_>_u. cpuf="L26" siv>_ 6u">"Ldr 0 11 0 11 >>>>>>=return d!tructrcpu. __=_o2" bootmem_nona1ic>_u. cpuf="L26"__=_o2" bootmem_nona1ich"8ef dpr _u. cpuf="L26" _ivh""me>"Ldr 0 11 0 11"Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" _ivh""m+r}"L11"> 0 11 0 11_u. cpuf="L26" _ivh""m+))="L11" 17 0 11 27"Ldr <_ftdefp2ritspuf*="L26" cldetroua><_ftdefp2ri5a8efvoid+r}"L11"> 0 11 0 11 >>>>>>=unsnsignplonga=crmchunk deltatspuf*="L26" cldeltaLi"msr="L17"> 27"Ldr 27"Ldr _u. cpuf="L26" cLi"msr="L17"> 27 28 17 17 17 17_u. cpuf="L26" cLi"msr efr"membedum>>>>ERCPU_MODULE_RESERVEh""mer}"L11"> 0 11>>>>>>="L * *=""* * *"Ldr ERCPU_DYNAMIC_RESERVEONm/percpu">>>>>ERCPU_DYNAMIC_RESERVEpa"mea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""mea=crmchunk NULLtspuf*="L26" clNULLLi"mer}"L11"> 0 111862nt"86227u">>>>>>>="L * ** * *"Ldr >"L17"> 27"Failgnpto o ini+ nzu a> 28>>>>>>="Ldr _u. cpuf="L26"+stdebaseicddLLi"ms- (unsnsignplong)"Ldr <_ftde c rttspuf*="L26" cl__a><_ftde c rtLi"msr="L17"> 27>"L17"> 27<_ftdeoffseth""m[ dpr _u. cpuf="L26"pstdeefunioffsetsh""m[ dpr 27 0 1175 cpu#includee 87255 ="#end=="Lde path uring eh a hr1"CONFIG_HAVAGSETUP_PER_CPU_AREAr*ch" na1=e="L7"> 1776 c1:d="L26" class=811t">87246u"r}"L11"> 0 11 * 87227u"#else =="Lde path uring eh a hr1"CONFIG_SMPm*ch" na1=e="L7"> 1778 cpu#adfn c ="L26"811t">8722 r}"L11"> 0 1179 c1:d="L26" class=811t">871u ercpu bsafecpucalocatfr1h" na1=e="L7"> 17 178* 8820...grabsan> 1782 cpu#ifnadf ="L26"811t">8820perre hrimed, pan> <* UPmc ways y us km-basedha> 1783 cpu#adfn c ="L26"811t">8820setoth stareascref=ase rss1 Sc ="mma> 1784 cpuf="mm/pe(void 811t">8820k igeneral,an> 1785 cpuf="mm/percpu">811t">882n5 "Lde path uring eh a hm*ch" na1=e="L7"> 1786 cpuf="mm/percpu">811t">881 6u"void4"Ldr "Ldr <_ftdefp2ritspuf*="L26" cldetroua><_ftdefp2ri5a8efvoid+r}"L11"> 0 1187 cpu#endifd="L26" 811t">88247u") ="L11"> 2788 cpu#ifnadf ="L26"811t">8822 *consn>"Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26"efunit_iv>_a sa ="L11"> 0 1189 cpu#adfn c ="L26"811t">882n9 *="l_>_u. cpuf="L26"max>_h"8ef dpr _>_u. cpuf="L26" siv>_ 6u"ea=crmchunk oCPU_MIN_UNITGSIZEONm/percpu">>>>>CPU_MIN_UNITGSIZELi"mer}"L11"> 0 11>>>>ERCPU_DYNAMIC_RESERVEpa"m++))="L11" 1791 cpuf="mm/percpu">811t">89141 *="ihunk efr"mp_o2" i_infopuf*="L26" cl+stdep_o2" i_info"m4r=crmchunk p 2792 cpuf="mm/percpu">811t">89142 *void4r=crmchunk fc>_u. cpuf="L26"fcLi"msr="L17"> 2793 cpu#endifd="L26" 811t">89263 r="L17"> 2794 cpu#else puan> 892n4u">>>>>>>="Ldr 279* c1:u1, c1:u2 and 811t">89255 *"Ldr _u. cpuf="L26"fcLi"msr =crmchunk __p_o2" bootmemtspuf*="L26" cl__p_o2" bootmemh"8ef dpr _u. cpuf="L26"efunit_iv>_a ea=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""mea=crmchunk __patspuf*="L26" cl__pa5a8ef dpr 96 cpu#adfn c ="L26"811t">891 6u">>>>>>>=="efad!tructrcpu. p_u. cpuf="L26"fcLi"m+r}"L11"> 0 1197 cpu#adfn c ="L26"811t">89227u">>>>>>>="L crmchunk +t1ic>_u. cpuf="L26"na1ic5a8ef Lde path uristchui">"Failgnpto dlL2" id"memory ="> a>98 cpu#endifpuan> 89258u">>>>>>>="Lde path uring eh a hr1"kmemleak trackspn tha>uisepar idlglych" na1=e="L7"> 1799 c1:d="L26" class=811t">892n9 * kmemleak_freeLipuf*="L26" clkmemleak_free5a8ef dpr _u. cpuf="L26"fcLi"m+))="L11" 17 2891 cpuf="mm/percpu">912s">90117u">>>>>>>="Ldr cpu.f"dyn_iv>_u. cpuf="L26" cdyn_iv>_/osr =crmchunk efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1792 cpuf="mm/percpu">912s">90142 * dpr cpu.efunit_iv>_u. cpuf="L26"efunit_iv>_a sr =crmchunk efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1793 cpu#endifd="L26" 912s">90263 *"Ldr cpu. iomit_iv>_u. cpuf="L26" iomit_iv>_a sr =crmchunk efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 1794 cpu#else puan> 902n4u">>>>>>>="Ldr cpu. _o2" t_iv>_u. cpuf="L26" _o2" t_iv>_a sr =crmchunk efunit_iv>_u. cpuf="L26"efunit_iv>_a ))="L11" 179* c1:u1, c1:u2 and 912s">90255 *"Ldr cpu.r_groupspuf*="L26" clr_groups/o[0]."Ldr 96 cpu#adfn c ="L26"912s">90246u">>>>>>>="Lrmchunk pcpu.r_groupspuf*="L26" clr_groups/o[0]."Ldr 2797 cpu#adfn c ="L26"912s">90247u">>"L17"> 2798 cpu#endifpuan> 9022 *="ef=crmchunk efr"mdetroum_u. cpuf="L26"fcLi"m+s=l="a0+>>"L17"> 2799 c1:d="L26" class=912s">902n9 *="l_u. cpuf="L26"na1ic5a8ef Lde path uristchui">"Failgnpto o ini+ nzu a> 0 11 0 11 17 27 17h" na1=e="L7"> 17 17 i icc Luseafter slab i ib_grghtnypicnd cplacespn osa5a na1=e="L7"> 17 17 17"Ldr _u. cpuf="L26"n> 0 11 0 11efr"mchunkfopuf*="L26" cl+stdechunk5a8e4r=crmchunk targerechunkupspuf*="L26" cltargerechunkuLi"m[]sa ="L11"> 0 11>>>>>>=="ihunk efr"mchunkfopuf*="L26" cl+stdechunk5a8e4r=crmchunk chunkfopuf*="L26" clchunk5a8e))="L11" 17_u. cpuf="L26"flagspa"m))="L11" 17>>>>>>==nn>"Ldr _a ))="L11" 17>"L17"> 27_a _aa0)af dpr _a ]+)a=crmchunk _a ++++) ="L11"> 27"Ldr _>_u. cpuf="L26" siv>_ 6u">"Ldr _u. cpuf="L26" _ivh""m>aa;crmchunk >ERCPU_DYNAMIC_EARLY_SLOTStspuf*="L26" cl>ERCPU_DYNAMIC_EARLY_SLOTS5a8e4r"* sv>_o dpr 0 11>>>BUILD_BUG_O_h"8ef dpr _u. cpuf="L26" _ivh""m>ad="a=crmchunk o PAGSIZEONm/percpu">>>>> PAGSIZEh""m+))="L11" 17 27>>>>>>= * dpr _u. cpuf="L26" _ivh""m+))="L11" 17>>>BUG_O_em"m_ad!tructrcpu. t_mappuf*="L26" clt_mLi"m+))="L11" 17 0 11 >>>>>>="L crmchunk spin_o2"k_irqsavv>_u. cpuf="L26" pin_o2"k_irqsavvem"m_=c&am=crmchunk ectdelockfopuf*="L26" cl+stdelockLi"mea=crmchunk flags>_u. cpuf="L26"flagspa"m+))="L11" 17chunkfopuf*="L26" clchunk5a8e_ad="L2 cpu.t_mappuf*="L26" clt_mLi"mek /_iv>_u. cpuf="L26" _ivh""m+))="L11" 17cpu.t_mappuf*="L26" clt_mLi"m_aa=crmchunk t_mappuf*="L26" clt_mLi"m))="L11" 17_u. cpuf="L26" pin_uno2"k_irqL2rtorvem"m_=c&am=crmchunk ectdelockfopuf*="L26" cl+stdelockLi"mea=crmchunk flags>_u. cpuf="L26"flagspa"m+))="L11" 17>>>>>>=er}"L11"> 0 11 0 11

T thoriginal LXR softwcp2ibypn th}"L11"> 0http://source=">ge.net/projects/lxr">LXR ucalr_unyLi"meath< iex byp}"L11"> 0 ailto:lxr@locux.no">lxr@locux.noLi"m.
lxr.locux.no kindly hosiusebyp}"L11"> 0http://www.redpill-locpro.no">Redpill Locpro ASLi"meaprovider of Locux"consultingicnd oa>< id=>uiservicespsince 1995.