From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18F8CC19F32 for ; Fri, 7 Mar 2025 06:38:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BB078280004; Fri, 7 Mar 2025 01:38:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B5E8F280003; Fri, 7 Mar 2025 01:38:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FFFF280004; Fri, 7 Mar 2025 01:38:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 83FDB280003 for ; Fri, 7 Mar 2025 01:38:44 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id F22D1B30A6 for ; Fri, 7 Mar 2025 06:38:45 +0000 (UTC) X-FDA: 83193801810.08.24D56DB Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by imf16.hostedemail.com (Postfix) with ESMTP id 98F60180009 for ; Fri, 7 Mar 2025 06:38:42 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=OstJA1nb; spf=pass (imf16.hostedemail.com: domain of s.suk@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=s.suk@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741329523; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+4Cgkm93qXhWO5pvvIuSvZG932XAbFn188OykHY5wyM=; b=vxkgkLB7gQ3XToEraRUo+eJbDd45p1Ld6qxyFtPFKn5rzc2cOw3gD6SNzxDPwGKImwWqoQ zLf3zix+SQ0FXargPS6DIPSeuvFdQ6RiFOnwN/1reR8nLiDO737GZIDA8CPMBk6q/7iiOm IdSI9ew3i7JbXXC1oSrcBMMb+qtRw6Q= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=OstJA1nb; spf=pass (imf16.hostedemail.com: domain of s.suk@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=s.suk@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741329523; a=rsa-sha256; cv=none; b=eLWp2anqeS1WqEBWm9vBfkBndk6VGpg1gRm1Ar+hzONOI11Zs7sOnkj0uJ0ehfZdl8+f6n 5nYdjUHe/XhXAWwUQ0qVxH5Q66L5ZSnQ01LENccRXNLTHSB3HtgXOw7vNWcu6QZ5uz13vi 444q9sT8TU8iz9yWLOBifqxdxhzE4DU= Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250307063839epoutp0202e3ce2cc407702da5cb8aa0c8f60db5~qcfjKgDG82380423804epoutp02a for ; Fri, 7 Mar 2025 06:38:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250307063839epoutp0202e3ce2cc407702da5cb8aa0c8f60db5~qcfjKgDG82380423804epoutp02a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1741329519; bh=+4Cgkm93qXhWO5pvvIuSvZG932XAbFn188OykHY5wyM=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=OstJA1nbvqK2cmF8lXr2i6WD8+CVP00FtgHNYSgqIADiYR+VFRNZFw2dK9yBOlg4q yxcL0y4L2na+9SVj5MoJVy+GT8rrGfxxtWl26pMrLm0JKsWPd1b9m0+W/ToV3t6Ftz WCu2uVjR+QbSMDmnqi2BGJRaLVP/qsX1eGJwzUMY= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas1p3.samsung.com (KnoxPortal) with ESMTP id 20250307063838epcas1p3aa66134685a24861b3ec68ade318bbb6~qcfiwMEX70571005710epcas1p3U; Fri, 7 Mar 2025 06:38:38 +0000 (GMT) Received: from epsmgec1p1.samsung.com (unknown [182.195.36.223]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4Z8Gp62xj0z4x9QG; Fri, 7 Mar 2025 06:38:38 +0000 (GMT) Received: from epcas1p3.samsung.com ( [182.195.41.47]) by epsmgec1p1.samsung.com (Symantec Messaging Gateway) with SMTP id 2A.49.23869.E649AC76; Fri, 7 Mar 2025 15:38:38 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas1p1.samsung.com (KnoxPortal) with ESMTPA id 20250307063838epcas1p1268f73a290a61a9bcea14adbfa70b915~qcfiDPwSd0738807388epcas1p1T; Fri, 7 Mar 2025 06:38:38 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20250307063838epsmtrp1600a851da224cba095613b17fc3c2741~qcfiCfFED2610126101epsmtrp1m; Fri, 7 Mar 2025 06:38:38 +0000 (GMT) X-AuditID: b6c32a36-6f5e970000005d3d-7c-67ca946ea10d Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 75.7E.18729.D649AC76; Fri, 7 Mar 2025 15:38:38 +0900 (KST) Received: from ssuk04 (unknown [10.253.104.229]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20250307063837epsmtip254c2c03f8b28fbc89cfc22cd9dcd77fc~qcfh4zB4i1228212282epsmtip2K; Fri, 7 Mar 2025 06:38:37 +0000 (GMT) From: "Sooyong Suk" To: "'Suren Baghdasaryan'" Cc: "'Jaewon Kim'" , "'Christoph Hellwig'" , , , , , , , , In-Reply-To: Subject: RE: [RFC PATCH] block, fs: use FOLL_LONGTERM as gup_flags for direct IO Date: Fri, 7 Mar 2025 15:38:37 +0900 Message-ID: <014b01db8f2b$8ed1c740$ac7555c0$@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHaiiw9LXrMK4mioaI0ilN2PEwZlQJfPoLQAkXgmoQCszXN9gK7/P/rAlKPAlqzBgrv8A== Content-Language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrEJsWRmVeSWpSXmKPExsWy7bCmvm7elFPpBqdfCVvMWb+GzWL13X42 i0PzkyxOT1jEZNG9eSajxd5b2haXd81hs7i35j+rxb27DewWky8tYLM4//c4qwO3x85Zd9k9 Fmwq9di8Qsvj8tlSj02fJrF7nJjxm8Xj8yY5j01P3jIFcERl22SkJqakFimk5iXnp2Tmpdsq eQfHO8ebmhkY6hpaWpgrKeQl5qbaKrn4BOi6ZeYAHamkUJaYUwoUCkgsLlbSt7Mpyi8tSVXI yC8usVVKLUjJKTAr0CtOzC0uzUvXy0stsTI0MDAyBSpMyM64tVOs4IZGxd4fh5gbGE+qdzFy ckgImEh8Pf+YvYuRi0NIYAejRO/JNmYI5xOjxMY5HSwgVUIC3xgldm/Vgelo276aDaJoL1BR 9xEmCOcpo8SrH43sIFVsAuoS79/cBusWEdCT6DjfxAxiMwusYJKY/40LxOYUCJRYNr+FEcQW FgiS6N44H6ieg4NFQEXi/CJJkDCvgKXEluZbTBC2oMTJmU9YIMZoSyxb+JoZ4iAFiZ9Pl7FC rAqTmL/0AhtEjYjE7E6IbyQEjnBI7Nq0hRWiwUVi1t8pTBC2sMSr41vYIWwpiZf9bVB2scSv vo+sEM0NjBL9x5ZAbbOXWLG/kxXkUGYBTYn1u/QhlvFJvPvaAxaWEOCV6GgTgqiWl/i96QIL RFhUYtsbBwjTQ+LaHP8JjIqzkDw2C8ljs5A8MAth1QJGllWMYqkFxbnpqcWGBUbwmE7Oz93E CE68WmY7GCe9/aB3iJGJg/EQowQHs5IIr+Dmk+lCvCmJlVWpRfnxRaU5qcWHGE2BIT2RWUo0 OR+Y+vNK4g1NLA1MzIxMLIwtjc2UxHkvbGtJFxJITyxJzU5NLUgtgulj4uCUamAyXanvYB07 8/c3N+8Df/Iu7D1bkJU3vSMoQOS55LoVC0+VLVpssLvd+dDR9B3hxSHTDfwl1j07sfDAkZxU 86Vf7/Tkn1ull3SuW0DizB2etUemLG3wyey7p/Ty97X3r1e9PijMbfR4e7Y418uD5yyNvpdt MGup8tulJ714t5DnxNMdxxoT4y5HMH5Z9bGC+/vPbRMfdrZGFcU7vH1z88syxlUdG9fWNYTo 8c5LbBWu2cdbETuvKNs+0iJSKyZ+4lwvrfme7Lve5093XKhgdq0zPqSPw5S/pafM99sEaf4f fyUtt7099kLH5eBU5ZXMyoe8/0TOy7dRVXOtMKheJxM7b4XLPVZpiakZxtckp3UpsRRnJBpq MRcVJwIAHgXIL0UEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprPIsWRmVeSWpSXmKPExsWy7bCSvG7elFPpBg9fMlrMWb+GzWL13X42 i0PzkyxOT1jEZNG9eSajxd5b2haXd81hs7i35j+rxb27DewWky8tYLM4//c4qwO3x85Zd9k9 Fmwq9di8Qsvj8tlSj02fJrF7nJjxm8Xj8yY5j01P3jIFcERx2aSk5mSWpRbp2yVwZVzs2s9a cEiyYvGCa2wNjAeFuhg5OSQETCTatq9mA7GFBHYzSnRfDoaIi0o8+/2NpYuRA8gWljh8uLiL kQuo5DGjxMR3R1hAatgE1CXev7kNZosI6El0nG9iBiliFtjEJDFp109miI5HTBJzb79iBqni FAiUWDa/hRFkqrBAgETD9SgQk0VAReL8IkmQCl4BS4ktzbeYIGxBiZMzn4DNZxbQluh92MoI Yy9b+JoZ4k4FiZ9Pl7FC3BAmMX/pBTaIGhGJ2Z1tzBMYhWchGTULyahZSEbNQtKygJFlFaNk akFxbnpusWGBYV5quV5xYm5xaV66XnJ+7iZGcBxqae5g3L7qg94hRiYOxkOMEhzMSiK8gptP pgvxpiRWVqUW5ccXleakFh9ilOZgURLnFX/RmyIkkJ5YkpqdmlqQWgSTZeLglGpguvTlsVbv VFOG23rv/vPdnucx5X1ah4DskmWLY9LlhGbd2S2yz0CBR2p6RpV0/bdJP73SftXtz1ln9ORU bsVJn7pG4U5bLYUv3AK/9JawfDAVeBqfnXek+REn25rECj6NGwXKyZNYvqzslf/eF3d3/ZKz XAtEX9zfLhMparPmk5/OSpPG9eJvarocFOzTC77Mb7o/s2YGm9vllTpH1+zf4f92/5XMuD8Z uU+CHQXef4p4flrHqHW20HWr/m9suyr9H2TYVFzbabfoLU/y5teiMaaTnAp9vet2bLjeez2m qnUy03Fpny/sbApV9VPbt2jMXr3eMEv670/ra9cKli0q3qh+S/b1xaSjv2YoZ1zUV2Ipzkg0 1GIuKk4EADiQcJsyAwAA X-CMS-MailID: 20250307063838epcas1p1268f73a290a61a9bcea14adbfa70b915 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20250306074101epcas1p4b24ac546f93df2c7fe3176607b20e47f References: <20250306074056.246582-1-s.suk@samsung.com> <848301db8f05$a1d79430$e586bc90$@samsung.com> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 98F60180009 X-Stat-Signature: 9yxwq5bbkwt3f7cjtsacaqtwgn56137z X-HE-Tag: 1741329522-702461 X-HE-Meta: U2FsdGVkX19M2bjjU6/L4OV0ctG/FJG+S6GgYk/Fv+iA6GPWQ43/XluNImcjZHfcI7KBHIoO4EzC5IdR9m78ssGJdKLQX4uhBQqi7FqT+3eJzPeJw3eRfUA+It3+q8MsmCcRInNzZzL/Qwd/INDMi7Ywohpa0GZQflLbHnX5LRZu7CrIb+zxzmTTTpePYCVT/Tq5rWndRgC6et7j5uw/Khmwm6xmuX1pS3asHr7jxZHK5ItJcyRHGbfhfd4JLn+VPfD19B5YBrPmn+iPm8Q1UybaG6sbXbTD1L28u6c1cPPo+flYkhSQZW7EcWZfdFl02YLvivH5P371DdL03ZVJoyulNb2nGkwpcTQMyY7zE14T1/l5vdla4wJXw8riCVaSYw1fQRF/ZOO6H3HUC4aCJ22A9MuhuXFJz/nAbz3aTIX9+vKoroMDsHhKdtDoXBTuJJLZXKQCUM2Q+oqxeeA8MD8fV9/oUXbXji1PNZG5pNhG0VP4mbYLfVfvoeX87YCK5E9RYqiV9Qhju2yPRsOxba7gEkyhx9cyG6R4mLqQLUQY72xDpAuonhml2Z/2c3NsjRTBCzKpWQaTZsoH1QRGZCORA15kFSBnKvblzt/SM4b6kRn/Cj+GIksh5TtgtiC7SZUptpfvFsQl/ZoEempMv00RAFhm2G8Ve/hhIIw21vMLHWaBbWJbEQpLpMNKP8Goz2sbk0JHUpAGjnWw8Lj2WbzqW0N4zOkqXu8Qj//359ZI/2o0m2LLn1sVF70ym7lS/mZieX7rhnYTsQ/942kSIyUSbW0cH8DDvWO5qxh87M45yyJ0pLKQ4+/TGtVliKKeESA8KvFaGu7EsSUmmIs8U24mmP5pxhUcankEs3gosyUmdARmW4fhNsnoBmZ/i408iVL7rlYtIuv24/kHwlsLxx6ScUTLywZAcazzH7gE9e/y/61PYvxN4LH66SOCl4bPZY0GGXFYbaM8VEupg0M D51XdLhm FgXae1eStSbNeIfmxiCFUUkSNVYL951fWDXITE8zRSDFtbgms3EyjDZam0hFs6Sh7qgy/otY8TyxWJOgaHZ+fhMa73lZ60ysoO4QDoVqGRYMCdJsUasRrsQmL7r2X8SRM0eRrlys7InT9kT8iqRr9FnFDth/4w/CqA4v1totsa3WxQRGXrZXUyu1flnIetRNC70au+y0gRGAi816DpV/xv7fwWw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: > On Thu, Mar 6, 2025 at 6:07=E2=80=AFPM=20Sooyong=20Suk=20=20wrote:=0D=0A>=20>=0D=0A>=20>=20>=20On=20Fri,=20Mar=207,=202025=20at= =2012:26=E2=80=AFAM=20Christoph=20Hellwig=0D=0A>=20>=20>=20=0D=0A>=20>=20>=20wrote:=0D=0A>=20>=20>=20>=0D=0A>=20>=20>=20>=20On=20= Thu,=20Mar=2006,=202025=20at=2004:40:56PM=20+0900,=20Sooyong=20Suk=20wrote:= =0D=0A>=20>=20>=20>=20>=20There=20are=20GUP=20references=20to=20pages=20tha= t=20are=20serving=20as=20direct=20IO=0D=0A>=20>=20>=20buffers.=0D=0A>=20>= =20>=20>=20>=20Those=20pages=20can=20be=20allocated=20from=20CMA=20pagebloc= ks=20despite=20they=0D=0A>=20>=20>=20>=20>=20can=20be=20pinned=20until=20th= e=20DIO=20is=20completed.=0D=0A>=20>=20>=20>=0D=0A>=20>=20>=20>=20direct=20= I/O=20is=20eactly=20the=20case=20that=20is=20not=20FOLL_LONGTERM=20and=20on= e=20of=0D=0A>=20>=20>=20>=20the=20reasons=20to=20even=20have=20the=20flag.= =20=20So=20big=20fat=20no=20to=20this.=0D=0A>=20>=20>=20>=0D=0A>=20>=20>=0D= =0A>=20>=0D=0A>=20>=20Understood.=0D=0A>=20>=0D=0A>=20>=20>=20Hello,=20than= k=20you=20for=20your=20comment.=0D=0A>=20>=20>=20We,=20Sooyong=20and=20I,= =20wanted=20to=20get=20some=20opinions=20about=20this=0D=0A>=20>=20>=20FOLL= _LONGTERM=20for=20direct=20I/O=20as=20CMA=20memory=20got=20pinned=20pages= =20which=0D=0A>=20>=20>=20had=20been=20pinned=20from=20direct=20io.=0D=0A>= =20>=20>=0D=0A>=20>=20>=20>=20You=20also=20completely=20failed=20to=20addre= ss=20the=20relevant=20mailinglist=20and=0D=0A>=20>=20>=20>=20maintainers.= =0D=0A>=20>=20>=0D=0A>=20>=20>=20I=20added=20block=20maintainer=20Jens=20Ax= boe=20and=20the=20block=20layer=20maillinst=0D=0A>=20>=20>=20here,=20and=20= added=20Suren=20and=20Sandeep,=20too.=0D=0A>=20=0D=0A>=20I'm=20very=20far= =20from=20being=20a=20block=20layer=20expert=20:)=0D=0A>=20=0D=0A>=20>=0D= =0A>=20>=20Then,=20what=20do=20you=20think=20of=20using=20PF_MEMALLOC_PIN= =20for=20this=20context=20as=0D=0A>=20below?=0D=0A>=20>=20This=20will=20onl= y=20remove=20__GFP_MOVABLE=20from=20its=20allocation=20flag.=0D=0A>=20>=20S= ince=20__bio_iov_iter_get_pages()=20indicates=20that=20it=20will=20pin=20us= er=20or=0D=0A>=20>=20kernel=20pages,=20there=20seems=20to=20be=20no=20reaso= n=20not=20to=20use=20this=20process=20flag.=0D=0A>=20=0D=0A>=20I=20think=20= this=20will=20help=20you=20only=20when=20the=20pages=20are=20faulted=20in= =20but=20if=0D=0A>=20__get_user_pages()=20finds=20an=20already=20mapped=20p= age=20which=20happens=20to=20be=0D=0A>=20allocated=20from=20CMA,=20it=20wil= l=20not=20migrate=20it.=20So,=20you=20might=20still=20end=20up=0D=0A>=20wit= h=20unmovable=20pages=20inside=20CMA.=0D=0A>=20=0D=0A=0D=0AYes,=20you're=20= right.=0D=0AHowever,=20we=20can=20at=20least=20prevent=20issues=20from=20fa= ult-in=20cases=20and=20mitigate=0D=0Athe=20overall=20probability=20of=20CMA= =20allocation=20failure.=20And=20the=20pinned=20pages=20that=0D=0Awe=20obse= rved=20from=20snapuserd=20was=20also=20allocated=20by=20fault-in.=0D=0A=0D= =0A>=20>=0D=0A>=20>=20block/bio.c=20=7C=203=20+++=0D=0A>=20>=20=201=20file= =20changed,=203=20insertions(+)=0D=0A>=20>=0D=0A>=20>=20diff=20--git=20a/bl= ock/bio.c=20b/block/bio.c=20index=2065c796ecb..671e28966=0D=0A>=20>=2010064= 4=0D=0A>=20>=20---=20a/block/bio.c=0D=0A>=20>=20+++=20b/block/bio.c=0D=0A>= =20>=20=40=40=20-1248,6=20+1248,7=20=40=40=20static=20int=20__bio_iov_iter_= get_pages(struct=20bio=0D=0A>=20*bio,=20struct=20iov_iter=20*iter)=0D=0A>= =20>=20=20=20=20=20=20=20=20=20unsigned=20len,=20i=20=3D=200;=0D=0A>=20>=20= =20=20=20=20=20=20=20=20size_t=20offset;=0D=0A>=20>=20=20=20=20=20=20=20=20= =20int=20ret=20=3D=200;=0D=0A>=20>=20+=20=20=20=20=20=20=20unsigned=20int= =20flags;=0D=0A>=20>=0D=0A>=20>=20=20=20=20=20=20=20=20=20/*=0D=0A>=20>=20= =20=20=20=20=20=20=20=20=20*=20Move=20page=20array=20up=20in=20the=20alloca= ted=20memory=20for=20the=20bio=20vecs=0D=0A>=20>=20as=20far=20as=20=40=40= =20-1267,9=20+1268,11=20=40=40=20static=20int=0D=0A>=20__bio_iov_iter_get_p= ages(struct=20bio=20*bio,=20struct=20iov_iter=20*iter)=0D=0A>=20>=20=20=20= =20=20=20=20=20=20=20*=20result=20to=20ensure=20the=20bio's=20total=20size= =20is=20correct.=20The=20remainder=0D=0A>=20of=0D=0A>=20>=20=20=20=20=20=20= =20=20=20=20*=20the=20iov=20data=20will=20be=20picked=20up=20in=20the=20nex= t=20bio=20iteration.=0D=0A>=20>=20=20=20=20=20=20=20=20=20=20*/=0D=0A>=20>= =20+=20=20=20=20=20=20=20flags=20=3D=20memalloc_pin_save();=0D=0A>=20>=20= =20=20=20=20=20=20=20=20size=20=3D=20iov_iter_extract_pages(iter,=20&pages,= =0D=0A>=20>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20UINT_MAX=20-=20bio->b= i_iter.bi_size,=0D=0A>=20>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20nr_pag= es,=20extraction_flags,=0D=0A>=20>=20&offset);=0D=0A>=20>=20+=20=20=20=20= =20=20=20memalloc_pin_restore(flags);=0D=0A>=20>=20=20=20=20=20=20=20=20=20= if=20(unlikely(size=20<=3D=200))=0D=0A>=20>=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20return=20size=20?=20size=20:=20-EFAULT;=0D=0A>=20>=0D= =0A>=20>=0D=0A=0D=0A