linux/mm/balloon_compaction.c
<<
opti 2/spa 2/form 2a opti href="../linux+v2316.3/mm/balloon_compac24" .c">opti 2img src="../.static/gfx/right.png" alt=">>">op2/spa op2spa class="lxr_search">optiopti 2input typopthidden" namoptnavtarget" 12opti 2input typopttext" namoptsearch" idptsearch">opti 2butt24.typoptsubmit">Searchopti Prefs 2/a>op2/spa ti 2/div ti 2form ac24" ="ajax+*" method="post" onsubmit="return false;">op2input typopthidden" namoptajax_lookup" idptajax_lookup" 12oti 2/form oti 2div class="headingbott2m">
2div idptfile_contents"
ss=1postompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L2"231luL2"24"
.c"opie1"2    2dL2">ss=2postompac24"
.c"o	  m4dd03 * pti  Prefs 	  2/a>op2/sonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L3"231luL3"24"
.c"opie1"2    2dL3">ss=3postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L4"231luL4"24"
.c"opie1"2    2dL4">ss=4postompac24"
.c"o	  m4dd03 * C  massi	 trface     makcla   Prefs pages movable by 	  2/a>op2/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L5"231luL5"24"
.c"opie1"2    2dL5">ss=5postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L6"231luL6"24"
.c"opie1"2    2dL6">ss=6postompac24"
.c"o	  m4dd03 * C pych">o (C) 2012, Red Hat, Inc.  Rafael Aquini <aquini@redhat.	  ="+sonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L7"231luL7"24"
.c"opie1"2    2dL7">ss=7postompac24"
.c"o	  m4dd03 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L8"231luL8"24"
.c"opie1"2    2dL8">ss=8post#i  2ude </eturn aji  2udetic/gfpng.h"24"
.c"ofrn ">ic/gfpng.hpost="+st/eturn ajpti  Prefs 	  2/a>op2/s#L9"231luL9"24"
.c"opie1"2    2dL9">ss=9post#i  2ude </eturn aji  2udetic/gfpslab.h"24"
.c"ofrn ">ic/gfpslab.hpost="+st/eturn ajpti  Prefs 	  2/a>op2/s#L10"231luL10"24"
.c"opie1"2    2dL10">ss814"st#i  2ude </eturn aji  2udetic/gfpexport.h"24"
.c"ofrn ">ic/gfpexport.hpost="+st/eturn ajpti  Prefs 	  2/a>op2/s#L11"231luL11"24"
.c"opie1"2    2dL11">ss114"st#i  2ude </eturn aji  2udetic/gfp  Prefs 	  2/a>op2/h"24"
.c"ofrn ">ic/gfp  Prefs 	  2/a>op2/hpost="+st/eturn ajpti  Prefs 	  2/a>op2/s#L12"231luL12"24"
.c"opie1"2    2dL12">ss12postt/eturn ajpti  Prefs 	  2/a>op2/s#L13"231luL13"24"
.c"opie1"2    2dL13">ss13postompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L14"231luL14"24"
.c"opie1"2    2dL14">ss14postompac24"
.c"o	  m4dd03 *   Prefs devinfo_ Prec -  Precates a   Prefs device informa 2/spdescriptor/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L15"231luL15"24"
.c"opie1"2    2dL15">ss15postompac24"
.c"o	  m4dd03 * @  Prefs dev_descriptor: poi	 tr to rn erence the   Prefs device whia hrsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L16"231luL16"24"
.c"opie1"2    2dL16">ss16postompac24"
.c"o	  m4dd03 *                          ti   struct   Prefs dev_info will be serviccla/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L17"231luL17"24"
.c"opie1"2    2dL17">ss17postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L18"231luL18"24"
.c"opie1"2    2dL18">ss18postompac24"
.c"o	  m4dd03 * Drivtr must c Pr it to properly  Precate and initialize an ins="nce ofonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L19"231luL19"24"
.c"opie1"2    2dL19">ss19postompac24"
.c"o	  m4dd03 * struct   Prefs dev_info whia  will be used to rn erence a   Prefs deviceonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L20"231luL20"24"
.c"opie1"2    2dL20">ss20postompac24"
.c"o	  m4dd03 * as well as to keep track of the   Prefs device page list/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L21"231luL21"24"
.c"opie1"2    2dL21">ss21postompac24"
.c"o	  m4dd03 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L22"231luL22"24"
.c"opie1"2    2dL22">ss22poststruct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  Prefs devinfo_ Prec2div idptfrn ">  Prefs devinfo_ Precpost(void *oeturn ajacode=  Prefs dev_descriptor2div idptfrn ">  Prefs dev_descriptorpost)t/eturn ajpti  Prefs 	  2/a>op2/s#L23"231luL23"24"
.c"opie1"2    2dL23">ss23post{t/eturn ajpti  Prefs 	  2/a>op2/s#L24"231luL24"24"
.c"opie1"2    2dL24">ss24post        struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopostst/eturn ajpti  Prefs 	  2/a>op2/s#L25"231luL25"24"
.c"opie1"2    2dL25">ss25post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost = oeturn ajacode=km Prec2div idptfrn ">km Precpost(sizeof(*oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost), oeturn ajacode=GFP_KERNEL2div idptfrn ">GFP_KERNELpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L26"231luL26"24"
.c"opie1"2    2dL26">ss26post        if (!oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost)t/eturn ajpti  Prefs 	  2/a>op2/s#L27"231luL27"24"
.c"opie1"2    2dL27">ss27post                ax_lookoeturn ajacode=ERR_PTR2div idptfrn ">ERR_PTRpost(-oeturn ajacode=ENOMEM2div idptfrn ">ENOMEMpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L28"231luL28"24"
.c"opie1"2    2dL28">ss28postt/eturn ajpti  Prefs 	  2/a>op2/s#L29"231luL29"24"
.c"opie1"2    2dL29">ss29post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=  Prefs device2div idptfrn ">  Prefs deviceonst = oeturn ajacode=  Prefs dev_descriptor2div idptfrn ">  Prefs dev_descriptorpostst/eturn ajpti  Prefs 	  2/a>op2/s#L30"231luL30"24"
.c"opie1"2    2dL30">ss30post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=mappiimappiiNULLpostst/eturn ajpti  Prefs 	  2/a>op2/s#L31"231luL31"24"
.c"opie1"2    2dL31">ss31post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=isolated_pages2div idptfrn ">isolated_pagesonst = 0st/eturn ajpti  Prefs 	  2/a>op2/s#L32"231luL32"24"
.c"opie1"2    2dL32">ss32post        oeturn ajacode=spii_reck_init2div idptfrn ">spii_reck_initpost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L33"231luL33"24"
.c"opie1"2    2dL33">ss33post        oeturn ajacode=INIT_LIST_HEAD2div idptfrn ">INIT_LIST_HEADpost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages2div idptfrn ">pagespost)st/eturn ajpti  Prefs 	  2/a>op2/s#L34"231luL34"24"
.c"opie1"2    2dL34">ss34postt/eturn ajpti  Prefs 	  2/a>op2/s#L35"231luL35"24"
.c"opie1"2    2dL35">ss35post        ax_lookoeturn ajacode=  dev_info2div idptfrn ">  dev_infopostst/eturn ajpti  Prefs 	  2/a>op2/s#L36"231luL36"24"
.c"opie1"2    2dL36">ss36post}t/eturn ajpti  Prefs 	  2/a>op2/s#L37"231luL37"24"
.c"opie1"2    2dL37">ss37postoeturn ajacode=EXPORT_SYMBOL_GPL2div idptfrn ">EXPORT_SYMBOL_GPLpost(oeturn ajacode=  Prefs devinfo_ Prec2div idptfrn ">  Prefs devinfo_ Precpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L38"231luL38"24"
.c"opie1"2    2dL38">ss38postt/eturn ajpti  Prefs 	  2/a>op2/s#L39"231luL39"24"
.c"opie1"2    2dL39">ss39postompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L40"231luL40"24"
.c"opie1"2    2dL40">ss40postompac24"
.c"o	  m4dd03 *   Prefs page_enqueue -  Precates a new page and inserts it into the   Prefsonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L41"231luL41"24"
.c"opie1"2    2dL41">ss41postompac24"
.c"o	  m4dd03 *                        page list/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L42"231luL42"24"
.c"opie1"2    2dL42">ss42postompac24"
.c"o	  m4dd03 * @  dev_info:   Prefs device decriptor where we will insert a new page toonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L43"231luL43"24"
.c"opie1"2    2dL43">ss43postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L44"231luL44"24"
.c"opie1"2    2dL44">ss44postompac24"
.c"o	  m4dd03 * Drivtr must c Pr it to properly  Precate a new enlisted   Prefs pageonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L45"231luL45"24"
.c"opie1"2    2dL45">ss45postompac24"
.c"o	  m4dd03 * before defie1tivtly removcla it from the guest system/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L46"231luL46"24"
.c"opie1"2    2dL46">ss46postompac24"
.c"o	  m4dd03 * Ti   funa>op2 ax_loos the page address     the rec4ddly enqueued page orposubmit/eturn ajpti  Prefs 	  2/a>op2/s#L47"231luL47"24"
.c"opie1"2    2dL47">ss47postompac24"
.c"o	  m4dd03 * NULL in the case we fail to  Precate a new page ti   _loo/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L48"231luL48"24"
.c"opie1"2    2dL48">ss48postompac24"
.c"o	  m4dd03 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L49"231luL49"24"
.c"opie1"2    2dL49">ss49poststruct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=  Prefs page_enqueue2div idptfrn ">  Prefs page_enqueuepost(struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost)t/eturn ajpti  Prefs 	  2/a>op2/s#L50"231luL50"24"
.c"opie1"2    2dL50">ss50post{t/eturn ajpti  Prefs 	  2/a>op2/s#L51"231luL51"24"
.c"opie1"2    2dL51">ss51post        unsigned lola oeturn ajacode=flags2div idptfrn ">flagspostst/eturn ajpti  Prefs 	  2/a>op2/s#L52"231luL52"24"
.c"opie1"2    2dL52">ss52post        struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost = oeturn ajacode= Prec_page2div idptfrn "> Prec_pagepost(oeturn ajacode=  Prefs mappii<_gfp mask2div idptfrn ">  Prefs mappii<_gfp maskpost() |t/eturn ajpti  Prefs 	  2/a>op2/s#L53"231luL53"24"
.c"opie1"2    2dL53">ss53post                                        oeturn ajacode=__GFP_NOMEMALLOC2div idptfrn ">__GFP_NOMEMALLOCpost | oeturn ajacode=__GFP_NORETRY2div idptfrn ">__GFP_NORETRYpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L54"231luL54"24"
.c"opie1"2    2dL54">ss54post        if (!oeturn ajacode=page2div idptfrn ">pagepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L55"231luL55"24"
.c"opie1"2    2dL55">ss55post                ax_lookoeturn ajacode=NULL2div idptfrn ">NULLpostst/eturn ajpti  Prefs 	  2/a>op2/s#L56"231luL56"24"
.c"opie1"2    2dL56">ss56postt/eturn ajpti  Prefs 	  2/a>op2/s#L57"231luL57"24"
.c"opie1"2    2dL57">ss57post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L58"231luL58"24"
.c"opie1"2    2dL58">ss58postompac24"
.c"o	  m4dd03         * Breck others from accesscla the 'page' when we get around toonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L59"231luL59"24"
.c"opie1"2    2dL59">ss59postompac24"
.c"o	  m4dd03         * establishcla addi>op2al rn erences. We should be the only oneonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L60"231luL60"24"
.c"opie1"2    2dL60">ss60postompac24"
.c"o	  m4dd03         * holdcla a rn erence to the 'page' at ti   poi	 /onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L61"231luL61"24"
.c"opie1"2    2dL61">ss61postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L62"231luL62"24"
.c"opie1"2    2dL62">ss62post        oeturn ajacode=BUG_ON2div idptfrn ">BUG_ONpost(!oeturn ajacode=tryreck_page2div idptfrn ">tryreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost))st/eturn ajpti  Prefs 	  2/a>op2/s#L63"231luL63"24"
.c"opie1"2    2dL63">ss63post        oeturn ajacode=spii_reck_irqsave2div idptfrn ">spii_reck_irqsavepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L64"231luL64"24"
.c"opie1"2    2dL64">ss64post        oeturn ajacode=  Prefs page_insert2div idptfrn ">  Prefs page_insertpost(oeturn ajacode=page2div idptfrn ">pagepost, oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=mappiimappii  dev_infopost-="+soeturn ajacode=pages2div idptfrn ">pagespost)st/eturn ajpti  Prefs 	  2/a>op2/s#L65"231luL65"24"
.c"opie1"2    2dL65">ss65post        oeturn ajacode=spii_unreck_irqrestore2div idptfrn ">spii_unreck_irqrestorepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L66"231luL66"24"
.c"opie1"2    2dL66">ss66post        oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L67"231luL67"24"
.c"opie1"2    2dL67">ss67post        ax_lookoeturn ajacode=page2div idptfrn ">pagepostst/eturn ajpti  Prefs 	  2/a>op2/s#L68"231luL68"24"
.c"opie1"2    2dL68">ss68post}t/eturn ajpti  Prefs 	  2/a>op2/s#L69"231luL69"24"
.c"opie1"2    2dL69">ss69postoeturn ajacode=EXPORT_SYMBOL_GPL2div idptfrn ">EXPORT_SYMBOL_GPLpost(oeturn ajacode=  Prefs page_enqueue2div idptfrn ">  Prefs page_enqueuepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L70"231luL70"24"
.c"opie1"2    2dL70">ss70postt/eturn ajpti  Prefs 	  2/a>op2/s#L71"231luL71"24"
.c"opie1"2    2dL71">ss71postompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L72"231luL72"24"
.c"opie1"2    2dL72">ss72postompac24"
.c"o	  m4dd03 *   Prefs page_dequeue - removes a page from   Prefs's page list and ax_loosonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L73"231luL73"24"
.c"opie1"2    2dL73">ss73postompac24"
.c"o	  m4dd03 *                        the its address to  Prew the drivtr release the page/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L74"231luL74"24"
.c"opie1"2    2dL74">ss74postompac24"
.c"o	  m4dd03 * @  dev_info:   Prefs device decriptor where we will grab a page from/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L75"231luL75"24"
.c"opie1"2    2dL75">ss75postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L76"231luL76"24"
.c"opie1"2    2dL76">ss76postompac24"
.c"o	  m4dd03 * Drivtr must c Pr it to properly de- Precate a previous enlisted   Prefs pageonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L77"231luL77"24"
.c"opie1"2    2dL77">ss77postompac24"
.c"o	  m4dd03 * before defie1tivtly releascla it back to the guest system/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L78"231luL78"24"
.c"opie1"2    2dL78">ss78postompac24"
.c"o	  m4dd03 * Ti   funa>op2 ax_loos the page address     the rec4ddly dequeued page orposubmit/eturn ajpti  Prefs 	  2/a>op2/s#L79"231luL79"24"
.c"opie1"2    2dL79">ss79postompac24"
.c"o	  m4dd03 * NULL in the case we find   Prefs's page list temporarily empty due toonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L80"231luL80"24"
.c"opie1"2    2dL80">ss80postompac24"
.c"o	  m4dd03 * 	  2/a>op2 isolated pages/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L81"231luL81"24"
.c"opie1"2    2dL81">ss81postompac24"
.c"o	  m4dd03 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L82"231luL82"24"
.c"opie1"2    2dL82">ss82poststruct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=  Prefs page_dequeue2div idptfrn ">  Prefs page_dequeuepost(struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost)t/eturn ajpti  Prefs 	  2/a>op2/s#L83"231luL83"24"
.c"opie1"2    2dL83">ss83post{t/eturn ajpti  Prefs 	  2/a>op2/s#L84"231luL84"24"
.c"opie1"2    2dL84">ss84post        struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost, *oeturn ajacode=tmp2div idptfrn ">tmppostst/eturn ajpti  Prefs 	  2/a>op2/s#L85"231luL85"24"
.c"opie1"2    2dL85">ss85post        unsigned lola oeturn ajacode=flags2div idptfrn ">flagspostst/eturn ajpti  Prefs 	  2/a>op2/s#L86"231luL86"24"
.c"opie1"2    2dL86">ss86post        oeturn ajacode=bool2div idptfrn "> oolpost oeturn ajacode=dequeued_page2div idptfrn ">dequeued_pagepostst/eturn ajpti  Prefs 	  2/a>op2/s#L87"231luL87"24"
.c"opie1"2    2dL87">ss87postt/eturn ajpti  Prefs 	  2/a>op2/s#L88"231luL88"24"
.c"opie1"2    2dL88">ss88post        oeturn ajacode=dequeued_page2div idptfrn ">dequeued_pagepost = oeturn ajacode=up" 12div idptfrn ">fp" 1postst/eturn ajpti  Prefs 	  2/a>op2/s#L89"231luL89"24"
.c"opie1"2    2dL89">ss89post        oeturn ajacode=list_   _each_entry_saf12div idptfrn ">list_   _each_entry_saf1post(oeturn ajacode=page2div idptfrn ">pagepost, oeturn ajacode=tmp2div idptfrn ">tmppost, &soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages2div idptfrn ">pagespost, oeturn ajacode=lru2div idptfrn ">lrupost) {t/eturn ajpti  Prefs 	  2/a>op2/s#L90"231luL90"24"
.c"opie1"2    2dL90">ss90post                ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L91"231luL91"24"
.c"opie1"2    2dL91">ss91postompac24"
.c"o	  m4dd03                 * Breck others from accesscla the 'page' while we get aroundonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L92"231luL92"24"
.c"opie1"2    2dL92">ss92postompac24"
.c"o	  m4dd03                 * establishcla addi>op2al rn erences and preparila the 'page'onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L93"231luL93"24"
.c"opie1"2    2dL93">ss93postompac24"
.c"o	  m4dd03                 * to be released by the   Prefs drivtr/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L94"231luL94"24"
.c"opie1"2    2dL94">ss94postompac24"
.c"o	  m4dd03                 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L95"231luL95"24"
.c"opie1"2    2dL95">ss95post                if (oeturn ajacode=tryreck_page2div idptfrn ">tryreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)) {t/eturn ajpti  Prefs 	  2/a>op2/s#L96"231luL96"24"
.c"opie1"2    2dL96">ss96post                        oeturn ajacode=spii_reck_irqsave2div idptfrn ">spii_reck_irqsavepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L97"231luL97"24"
.c"opie1"2    2dL97">ss97post                        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L98"231luL98"24"
.c"opie1"2    2dL98">ss98postompac24"
.c"o	  m4dd03                         * Raise the page rn count here to prev4dd any wroiop2/s#L99"231luL99"24"
.c"opie1"2    2dL99">ss99postompac24"
.c"o	  m4dd03                         * attempt to isolate ti   page, in case of 	 lidiiop2/s#L100"231luL100"24"
.c"opie1"2    2dL100">s100postompac24"
.c"o	  m4dd03                         * with   Prefs page_isolate() just af tr we releaseonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L101"231luL101"24"
.c"opie1"2    2dL101">s101postompac24"
.c"o	  m4dd03                         * the page reck/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L102"231luL102"24"
.c"opie1"2    2dL102">s102postompac24"
.c"o	  m4dd03                         *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L103"231luL103"24"
.c"opie1"2    2dL103">s103postompac24"
.c"o	  m4dd03                         *   Prefs page_free() will take care of droppiiop2/s#L104"231luL104"24"
.c"opie1"2    2dL104">s104postompac24"
.c"o	  m4dd03                         * th   extra rn count later/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L105"231luL105"24"
.c"opie1"2    2dL105">s105postompac24"
.c"o	  m4dd03                         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L106"231luL106"24"
.c"opie1"2    2dL106">s106post                        oeturn ajacode=get_page2div idptfrn ">get_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L107"231luL107"24"
.c"opie1"2    2dL107">s107post                        oeturn ajacode=  Prefs page_delete2div idptfrn ">  Prefs page_deletepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L108"231luL108"24"
.c"opie1"2    2dL108">s108post                        oeturn ajacode=spii_unreck_irqrestore2div idptfrn ">spii_unreck_irqrestorepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L109"231luL109"24"
.c"opie1"2    2dL109">s109post                        oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L110"231luL110"24"
.c"opie1"2    2dL110">s110post                        oeturn ajacode=dequeued_page2div idptfrn ">dequeued_pagepost = oeturn ajacode=true2div idptfrn ">truepostst/eturn ajpti  Prefs 	  2/a>op2/s#L111"231luL111"24"
.c"opie1"2    2dL111">s111post                        breakst/eturn ajpti  Prefs 	  2/a>op2/s#L112"231luL112"24"
.c"opie1"2    2dL112">s112post                }t/eturn ajpti  Prefs 	  2/a>op2/s#L113"231luL113"24"
.c"opie1"2    2dL113">s113post        }t/eturn ajpti  Prefs 	  2/a>op2/s#L114"231luL114"24"
.c"opie1"2    2dL114">s114postt/eturn ajpti  Prefs 	  2/a>op2/s#L115"231luL115"24"
.c"opie1"2    2dL115">s115post        if (!oeturn ajacode=dequeued_page2div idptfrn ">dequeued_pagepost) {t/eturn ajpti  Prefs 	  2/a>op2/s#L116"231luL116"24"
.c"opie1"2    2dL116">s116post                ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L117"231luL117"24"
.c"opie1"2    2dL117">s117postompac24"
.c"o	  m4dd03                 * If we are unable to dequeue a   Prefs page because the pageonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L118"231luL118"24"
.c"opie1"2    2dL118">s118postompac24"
.c"o	  m4dd03                 * list    empty and there    no isolated pages, then soamopiiop2/s#L119"231luL119"24"
.c"opie1"2    2dL119">s119postompac24"
.c"o	  m4dd03                 * w4dd out of track and soam   Prefs pages are lost/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L120"231luL120"24"
.c"opie1"2    2dL120">s120postompac24"
.c"o	  m4dd03                 * BUG() here, otherwise the   Prefs drivtr may get stuck intoonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L121"231luL121"24"
.c"opie1"2    2dL121">s121postompac24"
.c"o	  m4dd03                 * an infinite loop while attemptila to release  Pr its pages/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L122"231luL122"24"
.c"opie1"2    2dL122">s122postompac24"
.c"o	  m4dd03                 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L123"231luL123"24"
.c"opie1"2    2dL123">s123post                oeturn ajacode=spii_reck_irqsave2div idptfrn ">spii_reck_irqsavepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L124"231luL124"24"
.c"opie1"2    2dL124">s124post                if (oeturn ajacode=unrikely2div idptfrn ">unrikelypost(oeturn ajacode=list_empty2div idptfrn ">list_emptypost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages2div idptfrn ">pagespost) &s&st/eturn ajpti  Prefs 	  2/a>op2/s#L125"231luL125"24"
.c"opie1"2    2dL125">s125post                             !oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=isolated_pages2div idptfrn ">isolated_pagesonst))t/eturn ajpti  Prefs 	  2/a>op2/s#L126"231luL126"24"
.c"opie1"2    2dL126">s126post                        oeturn ajacode=BUG2div idptfrn ">BUGpost()st/eturn ajpti  Prefs 	  2/a>op2/s#L127"231luL127"24"
.c"opie1"2    2dL127">s127post                oeturn ajacode=spii_unreck_irqrestore2div idptfrn ">spii_unreck_irqrestorepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L128"231luL128"24"
.c"opie1"2    2dL128">s128post                return ajacode=page2div idptfrn ">pagepost = oeturn ajacode=NULL2div idptfrn ">NULLpostst/eturn ajpti  Prefs 	  2/a>op2/s#L129"231luL129"24"
.c"opie1"2    2dL129">s129post        }t/eturn ajpti  Prefs 	  2/a>op2/s#L130"231luL130"24"
.c"opie1"2    2dL130">s130post        ax_lookoeturn ajacode=page2div idptfrn ">pagepostst/eturn ajpti  Prefs 	  2/a>op2/s#L131"231luL131"24"
.c"opie1"2    2dL131">s131post}t/eturn ajpti  Prefs 	  2/a>op2/s#L132"231luL132"24"
.c"opie1"2    2dL132">s132postoeturn ajacode=EXPORT_SYMBOL_GPL2div idptfrn ">EXPORT_SYMBOL_GPLpost(oeturn ajacode=  Prefs page_dequeue2div idptfrn ">  Prefs page_dequeuepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L133"231luL133"24"
.c"opie1"2    2dL133">s133postt/eturn ajpti  Prefs 	  2/a>op2/s#L134"231luL134"24"
.c"opie1"2    2dL134">s134post#ifdefkoeturn ajacode=CONFIG_BALLOON_COMPACTION2div idptfrn ">CONFIG_BALLOON_COMPACTIONpostt/eturn ajpti  Prefs 	  2/a>op2/s#L135"231luL135"24"
.c"opie1"2    2dL135">s135postompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L136"231luL136"24"
.c"opie1"2    2dL136">s136postompac24"
.c"o	  m4dd03 *   Prefs mappii<_ Prec -  Precates a special -="+smappii<       Prefsed pages/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L137"231luL137"24"
.c"opie1"2    2dL137">s137postompac24"
.c"o	  m4dd03 * @  dev_info: holds the   Prefs device informa 2/spdescriptor/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L138"231luL138"24"
.c"opie1"2    2dL138">s138postompac24"
.c"o	  m4dd03 * @a_ops:   Prefs mappii< address_mpace_opera 2/sspdescriptor/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L139"231luL139"24"
.c"opie1"2    2dL139">s139postompac24"
.c"o	  m4dd03 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L140"231luL140"24"
.c"opie1"2    2dL140">s140postompac24"
.c"o	  m4dd03 * Drivtr must c Pr it to properly  Precate and initialize an ins="nce ofonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L141"231luL141"24"
.c"opie1"2    2dL141">s141postompac24"
.c"o	  m4dd03 * struct address_mpace whia  will be used as the special page-="+smappii<    onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L142"231luL142"24"
.c"opie1"2    2dL142">s142postompac24"
.c"o	  m4dd03 *   Prefs device enlisted page ins="nces/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L143"231luL143"24"
.c"opie1"2    2dL143">s143postompac24"
.c"o	  m4dd03 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L144"231luL144"24"
.c"opie1"2    2dL144">s144poststruct return ajacode=address_mpace2div idptfrn ">address_mpacepost *oeturn ajacode=  Prefs mappii<_ Prec2div idptfrn ">  Prefs mappii<_ Precpost(struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost,t/eturn ajpti  Prefs 	  2/a>op2/s#L145"231luL145"24"
.c"opie1"2    2dL145">s145post                                c/sst struct return ajacode=address_mpace_opera 2/ss2div idptfrn ">address_mpace_opera 2/sspost *oeturn ajacode=a_ops2div idptfrn ">a_opspost)t/eturn ajpti  Prefs 	  2/a>op2/s#L146"231luL146"24"
.c"opie1"2    2dL146">s146post{t/eturn ajpti  Prefs 	  2/a>op2/s#L147"231luL147"24"
.c"opie1"2    2dL147">s147post        struct return ajacode=address_mpace2div idptfrn ">address_mpacepost *oeturn ajacode=mappiimappiiop2/s#L148"231luL148"24"
.c"opie1"2    2dL148">s148postt/eturn ajpti  Prefs 	  2/a>op2/s#L149"231luL149"24"
.c"opie1"2    2dL149">s149post        oeturn ajacode=mappiimappiikm Precpost(sizeof(*oeturn ajacode=mappiimappiiGFP_KERNELpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L150"231luL150"24"
.c"opie1"2    2dL150">s150post        if (!oeturn ajacode=mappiimappiiop2/s#L151"231luL151"24"
.c"opie1"2    2dL151">s151post                ax_lookoeturn ajacode=ERR_PTR2div idptfrn ">ERR_PTRpost(-oeturn ajacode=ENOMEM2div idptfrn ">ENOMEMpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L152"231luL152"24"
.c"opie1"2    2dL152">s152postt/eturn ajpti  Prefs 	  2/a>op2/s#L153"231luL153"24"
.c"opie1"2    2dL153">s153post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L154"231luL154"24"
.c"opie1"2    2dL154">s154postompac24"
.c"o	  m4dd03         * Givt a cleac2'zeroed' s="lus to  Pr elem4dds of th   specialonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L155"231luL155"24"
.c"opie1"2    2dL155">s155postompac24"
.c"o	  m4dd03         *   Prefs page-="+smappii< struct address_mpace ins="nce/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L156"231luL156"24"
.c"opie1"2    2dL156">s156postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L157"231luL157"24"
.c"opie1"2    2dL157">s157post        oeturn ajacode=address_mpace_init_once2div idptfrn ">address_mpace_init_oncepost(oeturn ajacode=mappiimappiiop2/s#L158"231luL158"24"
.c"opie1"2    2dL158">s158postt/eturn ajpti  Prefs 	  2/a>op2/s#L159"231luL159"24"
.c"opie1"2    2dL159">s159post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L160"231luL160"24"
.c"opie1"2    2dL160">s160postompac24"
.c"o	  m4dd03         * Set mappii<-="+sflags appropriately, to  Prew   Prefs pagesonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L161"231luL161"24"
.c"opie1"2    2dL161">s161postompac24"
.c"o	  m4dd03         * -="+smappii< id4ddifica 2/s/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L162"231luL162"24"
.c"opie1"2    2dL162">s162postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L163"231luL163"24"
.c"opie1"2    2dL163">s163post        oeturn ajacode=mappii<_set_  Prefsfoiv idptfrn ">mappii<_set_  Prefspost(oeturn ajacode=mappiimappiiop2/s#L164"231luL164"24"
.c"opie1"2    2dL164">s164post        oeturn ajacode=mappii<_set_gfp mask2div idptfrn ">mappii<_set_gfp maskpost(oeturn ajacode=mappiimappii  Prefs mappii<_gfp maskpost())st/eturn ajpti  Prefs 	  2/a>op2/s#L165"231luL165"24"
.c"opie1"2    2dL165">s165postt/eturn ajpti  Prefs 	  2/a>op2/s#L166"231luL166"24"
.c"opie1"2    2dL166">s166post        ompac24"
.c"o	  m4dd03/*   Prefs's page-="+smappii<-="+sa_ops c Prback descriptor */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L167"231luL167"24"
.c"opie1"2    2dL167">s167post        oeturn ajacode=mappiimappiia_opspost = oeturn ajacode= _ops2div idptfrn ">a_opspostst/eturn ajpti  Prefs 	  2/a>op2/s#L168"231luL168"24"
.c"opie1"2    2dL168">s168postt/eturn ajpti  Prefs 	  2/a>op2/s#L169"231luL169"24"
.c"opie1"2    2dL169">s169post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L170"231luL170"24"
.c"opie1"2    2dL170">s170postompac24"
.c"o	  m4dd03         * Establish a poi	 tr rn erence back to the   Prefs device descriptorposubmit/eturn ajpti  Prefs 	  2/a>op2/s#L171"231luL171"24"
.c"opie1"2    2dL171">s171postompac24"
.c"o	  m4dd03         * ti   particular page-="+smappii< will be serviccla/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L172"231luL172"24"
.c"opie1"2    2dL172">s172postompac24"
.c"o	  m4dd03         * Ti      used by 	  2/a>op2 / migra 2/s procedures to id4ddify andonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L173"231luL173"24"
.c"opie1"2    2dL173">s173postompac24"
.c"o	  m4dd03         * access the   Prefs device pageset while isolatii< / migra 2i< pages/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L174"231luL174"24"
.c"opie1"2    2dL174">s174postompac24"
.c"o	  m4dd03         *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L175"231luL175"24"
.c"opie1"2    2dL175">s175postompac24"
.c"o	  m4dd03         * As soam   Prefs drivtrs c 2 axgister multiple   Prefs devicesonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L176"231luL176"24"
.c"opie1"2    2dL176">s176postompac24"
.c"o	  m4dd03         *     a sclale guest, ti   also helps c  2/a>op2 / migra 2/s toonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L177"231luL177"24"
.c"opie1"2    2dL177">s177postompac24"
.c"o	  m4dd03         * properly deal with multiple   Prefs pagesets, when required/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L178"231luL178"24"
.c"opie1"2    2dL178">s178postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L179"231luL179"24"
.c"opie1"2    2dL179">s179post        oeturn ajacode=mappiimappiiprivate_datapost = oeturn ajacode=  dev_info2div idptfrn ">  dev_infopostst/eturn ajpti  Prefs 	  2/a>op2/s#L180"231luL180"24"
.c"opie1"2    2dL180">s180post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=mappiimappiimappiiop2/s#L181"231luL181"24"
.c"opie1"2    2dL181">s181postt/eturn ajpti  Prefs 	  2/a>op2/s#L182"231luL182"24"
.c"opie1"2    2dL182">s182post        ax_lookoeturn ajacode=mappiimappiiop2/s#L183"231luL183"24"
.c"opie1"2    2dL183">s183post}t/eturn ajpti  Prefs 	  2/a>op2/s#L184"231luL184"24"
.c"opie1"2    2dL184">s184postoeturn ajacode=EXPORT_SYMBOL_GPL2div idptfrn ">EXPORT_SYMBOL_GPLpost(oeturn ajacode=  Prefs mappii<_ Prec2div idptfrn ">  Prefs mappii<_ Precpost)st/eturn ajpti  Prefs 	  2/a>op2/s#L185"231luL185"24"
.c"opie1"2    2dL185">s185postt/eturn ajpti  Prefs 	  2/a>op2/s#L186"231luL186"24"
.c"opie1"2    2dL186">s186posts="lickoeturn ajacode=inpie1"2iv idptfrn ">inpie1post void oeturn ajacode=__isolate_  Prefs_page2div idptfrn ">__isolate_  Prefs_pagepost(struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L187"231luL187"24"
.c"opie1"2    2dL187">s187post{t/eturn ajpti  Prefs 	  2/a>op2/s#L188"231luL188"24"
.c"opie1"2    2dL188">s188post        struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost = oeturn ajacode=page2div idptfrn ">pagepost-="+soeturn ajacode=mappiimappiiprivate_datapostst/eturn ajpti  Prefs 	  2/a>op2/s#L189"231luL189"24"
.c"opie1"2    2dL189">s189post        unsigned lola oeturn ajacode=flags2div idptfrn ">flagspostst/eturn ajpti  Prefs 	  2/a>op2/s#L190"231luL190"24"
.c"opie1"2    2dL190">s190post        oeturn ajacode=spii_reck_irqsave2div idptfrn ">spii_reck_irqsavepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L191"231luL191"24"
.c"opie1"2    2dL191">s191post        oeturn ajacode=list_del2div idptfrn ">list_delpost(&soeturn ajacode=page2div idptfrn ">pagepost-="+soeturn ajacode=lru2div idptfrn ">lrupost)st/eturn ajpti  Prefs 	  2/a>op2/s#L192"231luL192"24"
.c"opie1"2    2dL192">s192post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=isolated_pages2div idptfrn ">isolated_pagesonst++st/eturn ajpti  Prefs 	  2/a>op2/s#L193"231luL193"24"
.c"opie1"2    2dL193">s193post        oeturn ajacode=spii_unreck_irqrestore2div idptfrn ">spii_unreck_irqrestorepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L194"231luL194"24"
.c"opie1"2    2dL194">s194post}t/eturn ajpti  Prefs 	  2/a>op2/s#L195"231luL195"24"
.c"opie1"2    2dL195">s195postt/eturn ajpti  Prefs 	  2/a>op2/s#L196"231luL196"24"
.c"opie1"2    2dL196">s196posts="lickoeturn ajacode=inpie1"2iv idptfrn ">inpie1post void oeturn ajacode=__putback_  Prefs_page2div idptfrn ">__putback_  Prefs_pagepost(struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L197"231luL197"24"
.c"opie1"2    2dL197">s197post{t/eturn ajpti  Prefs 	  2/a>op2/s#L198"231luL198"24"
.c"opie1"2    2dL198">s198post        struct return ajacode=  Prefs dev_info2div idptfrn ">  Prefs dev_infopost *oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost = oeturn ajacode=page2div idptfrn ">pagepost-="+soeturn ajacode=mappiimappiiprivate_datapostst/eturn ajpti  Prefs 	  2/a>op2/s#L199"231luL199"24"
.c"opie1"2    2dL199">s199post        unsigned lola oeturn ajacode=flags2div idptfrn ">flagspostst/eturn ajpti  Prefs 	  2/a>op2/s#L200"231luL200"24"
.c"opie1"2    2dL200">s200post        oeturn ajacode=spii_reck_irqsave2div idptfrn ">spii_reck_irqsavepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L201"231luL201"24"
.c"opie1"2    2dL201">s201post        oeturn ajacode=list_add2div idptfrn ">list_addpost(&soeturn ajacode=page2div idptfrn ">pagepost-="+soeturn ajacode=lru2div idptfrn ">lrupost, &soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages2div idptfrn ">pagespost)st/eturn ajpti  Prefs 	  2/a>op2/s#L202"231luL202"24"
.c"opie1"2    2dL202">s202post        oeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=isolated_pages2div idptfrn ">isolated_pagesonst--st/eturn ajpti  Prefs 	  2/a>op2/s#L203"231luL203"24"
.c"opie1"2    2dL203">s203post        oeturn ajacode=spii_unreck_irqrestore2div idptfrn ">spii_unreck_irqrestorepost(&soeturn ajacode=  dev_info2div idptfrn ">  dev_infopost-="+soeturn ajacode=pages_reck2div idptfrn ">pages_reckpost, oeturn ajacode=flags2div idptfrn ">flagspost)st/eturn ajpti  Prefs 	  2/a>op2/s#L204"231luL204"24"
.c"opie1"2    2dL204">s204post}t/eturn ajpti  Prefs 	  2/a>op2/s#L205"231luL205"24"
.c"opie1"2    2dL205">s205postt/eturn ajpti  Prefs 	  2/a>op2/s#L206"231luL206"24"
.c"opie1"2    2dL206">s206posts="lickoeturn ajacode=inpie1"2iv idptfrn ">inpie1post int return ajacode=__migra e_  Prefs_page2div idptfrn ">__migra e_  Prefs_pagepost(struct return ajacode=address_mpace2div idptfrn ">address_mpacepost *oeturn ajacode=mappiimappiiop2/s#L207"231luL207"24"
.c"opie1"2    2dL207">s207post                struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=newpage2div idptfrn ">newpagepost, struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost, enumkoeturn ajacode=migra e_modefoiv idptfrn ">migra e_modepost oeturn ajacode=modefoiv idptfrn ">modepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L208"231luL208"24"
.c"opie1"2    2dL208">s208post{t/eturn ajpti  Prefs 	  2/a>op2/s#L209"231luL209"24"
.c"opie1"2    2dL209">s209post        ax_lookoeturn ajacode=page2div idptfrn ">pagepost-="+soeturn ajacode=mappiimappiia_opspost-="+soeturn ajacode=migra epage2div idptfrn ">migra epagepost(oeturn ajacode=mappiimappiinewpagepost, oeturn ajacode=page2div idptfrn ">pagepost, oeturn ajacode=modefoiv idptfrn ">modepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L210"231luL210"24"
.c"opie1"2    2dL210">s210post}t/eturn ajpti  Prefs 	  2/a>op2/s#L211"231luL211"24"
.c"opie1"2    2dL211">s211postt/eturn ajpti  Prefs 	  2/a>op2/s#L212"231luL212"24"
.c"opie1"2    2dL212">s212postompac24"
.c"o	  m4dd03/* __isolate_lru_page() counterpart     a   Prefsed page */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L213"231luL213"24"
.c"opie1"2    2dL213">s213postoeturn ajacode= ool2div idptfrn "> oolpost oeturn ajacode=  Prefs page_isolate2div idptfrn ">  Prefs page_isolatepost(struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L214"231luL214"24"
.c"opie1"2    2dL214">s214post{t/eturn ajpti  Prefs 	  2/a>op2/s#L215"231luL215"24"
.c"opie1"2    2dL215">s215post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L216"231luL216"24"
.c"opie1"2    2dL216">s216postompac24"
.c"o	  m4dd03         * Avoid bloo2i< cycles with pages that are yet under __free_pages(),onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L217"231luL217"24"
.c"opie1"2    2dL217">s217postompac24"
.c"o	  m4dd03         *    just got freed under us/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L218"231luL218"24"
.c"opie1"2    2dL218">s218postompac24"
.c"o	  m4dd03         *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L219"231luL219"24"
.c"opie1"2    2dL219">s219postompac24"
.c"o	  m4dd03         * In case we 'win' a race     a   Prefs page beii<  reed under us andonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L220"231luL220"24"
.c"opie1"2    2dL220">s220postompac24"
.c"o	  m4dd03         * raise its rn count prev4ddii< __free_pages() from docla its jobonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L221"231luL221"24"
.c"opie1"2    2dL221">s221postompac24"
.c"o	  m4dd03         * the put_page() at tie end of th   breck will take care ofonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L222"231luL222"24"
.c"opie1"2    2dL222">s222postompac24"
.c"o	  m4dd03         * release th   page, thus avoidcla a nasty leakage/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L223"231luL223"24"
.c"opie1"2    2dL223">s223postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L224"231luL224"24"
.c"opie1"2    2dL224">s224post        if (oeturn ajacode=likely2div idptfrn ">rikelypost(oeturn ajacode=get_page_unress_zero2div idptfrn ">get_page_unress_zeropost(oeturn ajacode=page2div idptfrn ">pagepost))) {t/eturn ajpti  Prefs 	  2/a>op2/s#L225"231luL225"24"
.c"opie1"2    2dL225">s225post                ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L226"231luL226"24"
.c"opie1"2    2dL226">s226postompac24"
.c"o	  m4dd03                 * As   Prefs pages are not isolated from LRU lists, c/scurr4ddonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L227"231luL227"24"
.c"opie1"2    2dL227">s227postompac24"
.c"o	  m4dd03                 * c  2/a>op2 turnads c 2 aace agains= page migra 2/s funa>op2sonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L228"231luL228"24"
.c"opie1"2    2dL228">s228postompac24"
.c"o	  m4dd03                 * as well as aace agains= the   Prefs drivtr releascla a page/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L229"231luL229"24"
.c"opie1"2    2dL229">s229postompac24"
.c"o	  m4dd03                 *onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L230"231luL230"24"
.c"opie1"2    2dL230">s230postompac24"
.c"o	  m4dd03                 * In order to  void havcla an alrnady isolated   Prefs pageonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L231"231luL231"24"
.c"opie1"2    2dL231">s231postompac24"
.c"o	  m4dd03                 * beii< (wroiop2/s#L232"231luL232"24"
.c"opie1"2    2dL232">s232postompac24"
.c"o	  m4dd03                 * or to  void attemptila to isolate pages beii< released byonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L233"231luL233"24"
.c"opie1"2    2dL233">s233postompac24"
.c"o	  m4dd03                 * the   Prefs drivtr, lets be sure we have the page reckonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L234"231luL234"24"
.c"opie1"2    2dL234">s234postompac24"
.c"o	  m4dd03                 * before proceedii< with the   Prefs page isolatifs steps/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L235"231luL235"24"
.c"opie1"2    2dL235">s235postompac24"
.c"o	  m4dd03                 */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L236"231luL236"24"
.c"opie1"2    2dL236">s236post                if (oeturn ajacode=likely2div idptfrn ">rikelypost(oeturn ajacode=tryreck_page2div idptfrn ">tryreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost))) {t/eturn ajpti  Prefs 	  2/a>op2/s#L237"231luL237"24"
.c"opie1"2    2dL237">s237post                        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L238"231luL238"24"
.c"opie1"2    2dL238">s238postompac24"
.c"o	  m4dd03                         * A   Prefsed page, by default, has just fse rn count/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L239"231luL239"24"
.c"opie1"2    2dL239">s239postompac24"
.c"o	  m4dd03                         * Prev4dd c/scurr4dd c  2/a>op2 turnads from isolatiiop2/s#L240"231luL240"24"
.c"opie1"2    2dL240">s240postompac24"
.c"o	  m4dd03                         * an alrnady isolated   Prefs page by rn count check/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L241"231luL241"24"
.c"opie1"2    2dL241">s241postompac24"
.c"o	  m4dd03                         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L242"231luL242"24"
.c"opie1"2    2dL242">s242post                        if (oeturn ajacode=__is_movable_  Prefs_page2div idptfrn ">__is_movable_  Prefs_pagepost(oeturn ajacode=page2div idptfrn ">pagepost) &s&st/eturn ajpti  Prefs 	  2/a>op2/s#L243"231luL243"24"
.c"opie1"2    2dL243">s243post                            oeturn ajacode=page_count2div idptfrn ">page_countpost(oeturn ajacode=page2div idptfrn ">pagepost) == 2) {t/eturn ajpti  Prefs 	  2/a>op2/s#L244"231luL244"24"
.c"opie1"2    2dL244">s244post                                oeturn ajacode=__isolate_  Prefs_page2div idptfrn ">__isolate_  Prefs_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L245"231luL245"24"
.c"opie1"2    2dL245">s245post                                oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L246"231luL246"24"
.c"opie1"2    2dL246">s246post                                ax_lookoeturn ajacode=true2div idptfrn ">truepostst/eturn ajpti  Prefs 	  2/a>op2/s#L247"231luL247"24"
.c"opie1"2    2dL247">s247post                        }t/eturn ajpti  Prefs 	  2/a>op2/s#L248"231luL248"24"
.c"opie1"2    2dL248">s248post                        oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L249"231luL249"24"
.c"opie1"2    2dL249">s249post                }t/eturn ajpti  Prefs 	  2/a>op2/s#L250"231luL250"24"
.c"opie1"2    2dL250">s250post                oeturn ajacode=put_page2div idptfrn ">put_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L251"231luL251"24"
.c"opie1"2    2dL251">s251post        }t/eturn ajpti  Prefs 	  2/a>op2/s#L252"231luL252"24"
.c"opie1"2    2dL252">s252post        ax_lookoeturn ajacode=up" 12div idptfrn ">fp" 1postst/eturn ajpti  Prefs 	  2/a>op2/s#L253"231luL253"24"
.c"opie1"2    2dL253">s253post}t/eturn ajpti  Prefs 	  2/a>op2/s#L254"231luL254"24"
.c"opie1"2    2dL254">s254postt/eturn ajpti  Prefs 	  2/a>op2/s#L255"231luL255"24"
.c"opie1"2    2dL255">s255postompac24"
.c"o	  m4dd03/* putback_lru_page() counterpart     a   Prefsed page */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L256"231luL256"24"
.c"opie1"2    2dL256">s256postvoid oeturn ajacode=  Prefs page_putback2div idptfrn ">  Prefs page_putbackpost(struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L257"231luL257"24"
.c"opie1"2    2dL257">s257post{t/eturn ajpti  Prefs 	  2/a>op2/s#L258"231luL258"24"
.c"opie1"2    2dL258">s258post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L259"231luL259"24"
.c"opie1"2    2dL259">s259postompac24"
.c"o	  m4dd03         * 'reck_page()' s="bilizes the page and prev4dds aaces agains=onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L260"231luL260"24"
.c"opie1"2    2dL260">s260postompac24"
.c"o	  m4dd03         * c/scurr4dd isolatifs turnads attemptila to re-isolate it/onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L261"231luL261"24"
.c"opie1"2    2dL261">s261postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L262"231luL262"24"
.c"opie1"2    2dL262">s262post        oeturn ajacode=reck_page2div idptfrn ">reck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L263"231luL263"24"
.c"opie1"2    2dL263">s263postt/eturn ajpti  Prefs 	  2/a>op2/s#L264"231luL264"24"
.c"opie1"2    2dL264">s264post        if (oeturn ajacode=__is_movable_  Prefs_page2div idptfrn ">__is_movable_  Prefs_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)) {t/eturn ajpti  Prefs 	  2/a>op2/s#L265"231luL265"24"
.c"opie1"2    2dL265">s265post                oeturn ajacode=__putback_  Prefs_page2div idptfrn ">__putback_  Prefs_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L266"231luL266"24"
.c"opie1"2    2dL266">s266post                ompac24"
.c"o	  m4dd03/* drop tie extra rn  count taken     page isolatifs */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L267"231luL267"24"
.c"opie1"2    2dL267">s267post                oeturn ajacode=put_page2div idptfrn ">put_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L268"231luL268"24"
.c"opie1"2    2dL268">s268post        } e" 1 {t/eturn ajpti  Prefs 	  2/a>op2/s#L269"231luL269"24"
.c"opie1"2    2dL269">s269post                oeturn ajacode=WARN_ON2div idptfrn ">WARN_ONpost(1)st/eturn ajpti  Prefs 	  2/a>op2/s#L270"231luL270"24"
.c"opie1"2    2dL270">s270post                oeturn ajacode=dump_page2div idptfrn ">dump_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L271"231luL271"24"
.c"opie1"2    2dL271">s271post        }t/eturn ajpti  Prefs 	  2/a>op2/s#L272"231luL272"24"
.c"opie1"2    2dL272">s272post        oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L273"231luL273"24"
.c"opie1"2    2dL273">s273post}t/eturn ajpti  Prefs 	  2/a>op2/s#L274"231luL274"24"
.c"opie1"2    2dL274">s274postt/eturn ajpti  Prefs 	  2/a>op2/s#L275"231luL275"24"
.c"opie1"2    2dL275">s275postompac24"
.c"o	  m4dd03/* move_to_new_page() counterpart     a   Prefsed page */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L276"231luL276"24"
.c"opie1"2    2dL276">s276postint return ajacode=  Prefs page_migra e2div idptfrn ">  Prefs page_migra epost(struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=newpage2div idptfrn ">newpagepost,t/eturn ajpti  Prefs 	  2/a>op2/s#L277"231luL277"24"
.c"opie1"2    2dL277">s277post                         struct return ajacode=page2div idptfrn ">pagepost *oeturn ajacode=page2div idptfrn ">pagepost, enumkoeturn ajacode=migra e_modefoiv idptfrn ">migra e_modepost oeturn ajacode=modefoiv idptfrn ">modepost)t/eturn ajpti  Prefs 	  2/a>op2/s#L278"231luL278"24"
.c"opie1"2    2dL278">s278post{t/eturn ajpti  Prefs 	  2/a>op2/s#L279"231luL279"24"
.c"opie1"2    2dL279">s279post        struct return ajacode=address_mpace2div idptfrn ">address_mpacepost *oeturn ajacode=mappiimappiiop2/s#L280"231luL280"24"
.c"opie1"2    2dL280">s280post        int return ajacode=rc2div idptfrn ">rcpost = -oeturn ajacode=EAGAIN2div idptfrn ">EAGAINonstst/eturn ajpti  Prefs 	  2/a>op2/s#L281"231luL281"24"
.c"opie1"2    2dL281">s281postt/eturn ajpti  Prefs 	  2/a>op2/s#L282"231luL282"24"
.c"opie1"2    2dL282">s282post        ompac24"
.c"o	  m4dd03/*onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L283"231luL283"24"
.c"opie1"2    2dL283">s283postompac24"
.c"o	  m4dd03         * Breck others from accessila the 'newpage' when we get around toonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L284"231luL284"24"
.c"opie1"2    2dL284">s284postompac24"
.c"o	  m4dd03         * establishii< addi>op2al rn erences. We should be the only fseonsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L285"231luL285"24"
.c"opie1"2    2dL285">s285postompac24"
.c"o	  m4dd03         * holdcla a rn erence to the 'newpage' at ti   poi	 /onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L286"231luL286"24"
.c"opie1"2    2dL286">s286postompac24"
.c"o	  m4dd03         */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L287"231luL287"24"
.c"opie1"2    2dL287">s287post        oeturn ajacode=BUG_ON2div idptfrn ">BUG_ONpost(!oeturn ajacode=tryreck_page2div idptfrn ">tryreck_pagepost(oeturn ajacode=newpage2div idptfrn ">newpagepost))st/eturn ajpti  Prefs 	  2/a>op2/s#L288"231luL288"24"
.c"opie1"2    2dL288">s288postt/eturn ajpti  Prefs 	  2/a>op2/s#L289"231luL289"24"
.c"opie1"2    2dL289">s289post        if (oeturn ajacode=WARN_ON2div idptfrn ">WARN_ONpost(!oeturn ajacode=__is_movable_  Prefs_page2div idptfrn ">__is_movable_  Prefs_pagepost(oeturn ajacode=page2div idptfrn ">pagepost))) {t/eturn ajpti  Prefs 	  2/a>op2/s#L290"231luL290"24"
.c"opie1"2    2dL290">s290post                oeturn ajacode=dump_page2div idptfrn ">dump_pagepost(oeturn ajacode=page2div idptfrn ">pagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L291"231luL291"24"
.c"opie1"2    2dL291">s291post                oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=newpage2div idptfrn ">newpagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L292"231luL292"24"
.c"opie1"2    2dL292">s292post                ax_lookoeturn ajacode=rc2div idptfrn ">rcpostst/eturn ajpti  Prefs 	  2/a>op2/s#L293"231luL293"24"
.c"opie1"2    2dL293">s293post        }t/eturn ajpti  Prefs 	  2/a>op2/s#L294"231luL294"24"
.c"opie1"2    2dL294">s294postt/eturn ajpti  Prefs 	  2/a>op2/s#L295"231luL295"24"
.c"opie1"2    2dL295">s295post        oeturn ajacode=mappiimappiipagepost-="+soeturn ajacode=mappiimappiiop2/s#L296"231luL296"24"
.c"opie1"2    2dL296">s296post        if (oeturn ajacode=mappiimappiiop2/s#L297"231luL297"24"
.c"opie1"2    2dL297">s297post                oeturn ajacode=rc2div idptfrn ">rcpost = oeturn ajacode=__migra e_  Prefs_page2div idptfrn ">__migra e_  Prefs_pagepost(oeturn ajacode=mappiimappiinewpagepost, oeturn ajacode=page2div idptfrn ">pagepost, oeturn ajacode=modefoiv idptfrn ">modepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L298"231luL298"24"
.c"opie1"2    2dL298">s298postt/eturn ajpti  Prefs 	  2/a>op2/s#L299"231luL299"24"
.c"opie1"2    2dL299">s299post        oeturn ajacode=unreck_page2div idptfrn ">unreck_pagepost(oeturn ajacode=newpage2div idptfrn ">newpagepost)st/eturn ajpti  Prefs 	  2/a>op2/s#L300"231luL300"24"
.c"opie1"2    2dL300">s300post        ax_lookoeturn ajacode=rc2div idptfrn ">rcpostst/eturn ajpti  Prefs 	  2/a>op2/s#L301"231luL301"24"
.c"opie1"2    2dL301">s301post}t/eturn ajpti  Prefs 	  2/a>op2/s#L302"231luL302"24"
.c"opie1"2    2dL302">s302post#endif ompac24"
.c"o	  m4dd03/* CONFIG_BALLOON_COMPACTION */onsubmit/eturn ajpti  Prefs 	  2/a>op2/s#L303"231luL303"24"
.c"opie1"2    2dL303">s303post


The origi2al LXR software by the /eturn ajhttp://sourceforge.net/projects/lxr">LXR munitypost, ti experim4ddal vtrsifs by /eturn ajpailto:lxr@pieux.no">lxr@pieux.nopost. lxr.pieux.no kindly hosted by /eturn ajhttp://www.redpill-piepro.no">Redpill Liepro ASpost, provider of Lieux c/ssultila and opera 2/sspservices sclce 1995.