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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A0E3C33CB2 for ; Wed, 29 Jan 2020 11:36:32 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F037720732 for ; Wed, 29 Jan 2020 11:36:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F037720732 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=otago.ac.nz Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6D2C96B0005; Wed, 29 Jan 2020 06:36:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 682EC6B0006; Wed, 29 Jan 2020 06:36:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 599F26B0007; Wed, 29 Jan 2020 06:36:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0130.hostedemail.com [216.40.44.130]) by kanga.kvack.org (Postfix) with ESMTP id 405E66B0005 for ; Wed, 29 Jan 2020 06:36:31 -0500 (EST) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 0F56A181AEF00 for ; Wed, 29 Jan 2020 11:36:31 +0000 (UTC) X-FDA: 76430468982.12.snow62_729ebb9dab231 X-HE-Tag: snow62_729ebb9dab231 X-Filterd-Recvd-Size: 21776 Received: from mailhub2.otago.ac.nz (mailhub2.otago.ac.nz [139.80.64.247]) by imf19.hostedemail.com (Postfix) with ESMTP for ; Wed, 29 Jan 2020 11:36:27 +0000 (UTC) Received: from mailhost.staff.otago.ac.nz (its-mail-p10.registry.otago.ac.nz [10.67.0.104]) by mailhub2.otago.ac.nz (8.13.8/8.13.8) with ESMTP id 00TBaBnP026426; Thu, 30 Jan 2020 00:36:12 +1300 Received: from its-mail-p04.registry.otago.ac.nz (10.67.0.68) by its-mail-p10.registry.otago.ac.nz (10.67.0.104) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 30 Jan 2020 00:36:10 +1300 Received: from its-mail-p04.registry.otago.ac.nz ([fe80::bd4c:10f5:161d:7ae6]) by its-mail-p04.registry.otago.ac.nz ([fe80::bd4c:10f5:161d:7ae6%18]) with mapi id 15.00.1473.005; Thu, 30 Jan 2020 00:36:10 +1300 From: Chris Edwards To: Johannes Weiner , Michal Hocko CC: "linux-mm@kvack.org" Subject: Re: Paging out when free memory is low but not exhausted (and available memory remains high) Thread-Topic: Paging out when free memory is low but not exhausted (and available memory remains high) Thread-Index: AQHV0LyBCtvAwW5mKUqLnvAArvZ8Baf3VqmAgAH26UX//3JUgIAEt6kAgAH29qmAABgNk4AAK+e4gAHOcrU= Date: Wed, 29 Jan 2020 11:36:09 +0000 Message-ID: <1580297769621.48601@otago.ac.nz> References: <20200123123127.GK29276@dhcp22.suse.cz> <1579844599463.32567@otago.ac.nz> <20200124100423.GP29276@dhcp22.suse.cz>,<20200127100646.GA203985@cmpxchg.org>,<1580181722920.30551@otago.ac.nz>,<1580187538078.61819@otago.ac.nz>,<1580195997590.47770@otago.ac.nz> In-Reply-To: <1580195997590.47770@otago.ac.nz> Accept-Language: en-NZ, en-US Content-Language: en-NZ X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.64.32.117] Content-Type: multipart/mixed; boundary="_002_158029776962148601otagoacnz_" MIME-Version: 1.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.001172, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --_002_158029776962148601otagoacnz_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Following the idea that it's some interaction with the X server, I further = noticed that switching out of X to a text virtual console makes the page-ou= ts stop. Going back to the X VT, the page-outs resume.=0A= =0A= I've attached another set of vmstat logs for the following timeline:=0A= =0A= 1580290800 System is running Xorg, stress to limit memory, and dd to exerci= se the buffer cache, with constant page-outs=0A= 1580290810 Switch to a text virtual console - page-outs stop=0A= 1580290830 Switch back to X VT - page-outs resume=0A= =0A= I'm vaguely suspecting something to do with the way Xorg handles old-fashio= ned programs that do CPU-driven bitmap-based rendering, as my desktop does = typically have a lot of these (urxvt instances, xosview, the Notion window = manager itself) - maybe they cause some particular pattern of memory churn = in the X server, and perhaps only with certain video drivers...could Xorg p= erhaps wrongly madvise() the kernel about certain memory? It seems notable = that having glxgears should cause the page-outs to stop.=0A= =0A= However, even a minimal X session with a sakura or qterminal window seems t= o show some degree of needless page-outs with low memory and busy cache, th= ough not as severe - however, it's difficult to avoid observer effects! The= re did seem to be a notable pattern of increasing swap utilisation when swi= tching away from the X VT, and a drop in swap utilisation when switching ba= ck to X.=0A= =0A= Should I perhaps take it up with the Xorg people instead?=0A= --=0A= Chris= --_002_158029776962148601otagoacnz_ Content-Type: application/gzip; name="vmstat_5.5.0-rc6_unpatched_cedwards_2020-01-29.tar.gz" Content-Description: vmstat_5.5.0-rc6_unpatched_cedwards_2020-01-29.tar.gz Content-Disposition: attachment; filename="vmstat_5.5.0-rc6_unpatched_cedwards_2020-01-29.tar.gz"; size=12798; creation-date="Wed, 29 Jan 2020 10:45:51 GMT"; modification-date="Wed, 29 Jan 2020 10:45:51 GMT" Content-Transfer-Encoding: base64 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 +P+6o5mbGd1HMon8//39P8q5kv51g/59blRG//z2f0f9X82d6cv8H2M/7eoH9e+Piw38r/BPtB3/ o6aGiTf+kQ07JaifiH9+hclU+V8on3f1ffjX1tmo/b8C/+CmL1oW+IcK/APiAfwrsB3xT6jq4/+Z d4fxL+xD8G/d/fi3u8Z/hQ+1G/75bccV8c+vavm38f9f1v+d5/+G/n/l/9Pwf4+1rv+jTDD+o9VP OGhcsc7O/51OdXT0f2P53xcoRbP/Pxcp+z8E/fpmnp3/yf4v9f83+N8qk83/f5D/pzFG1f6fhTz8 H/pfbh//VYv2Hz9pQMhz/Q8eqSn/4+zdx/kfTDH+X2tQcj3+t8b/CqP4zwr/a8OX0rv9TyhUt+O/ fpNjqv1PFf4nOfz/z/9GDv//ov87z/8N/S9G/0/HtfK/fk0Bzfk/ivHZU/+Xxql8/f/z7z3D//yQ 2vv/w4uU/R8O9Nqo//N9TOd/qt3+t6X+/xb/o/iG+r+/hQ3+/93xv9X+19vNP8rJj//BKXB4rv/B 8Id5avyXF7t8oP+VnMby5v0vhJDr9n/2/8H2f3T8b53hf/6V2+1/6ZzAKYy1l/9tffs/quP+x/Xx 37/sf73v+O/w/5f5v/P839D/r/x/PfzfY638jyQTx3g/Wv3U+OOSdfb8r3oz4Uv8D6o5/ye8SNn/ mK7/p87/KiF02C5U4X9j6BL/Gw32C/xvPD3r/f+78f/V/ld76v868L8VqE8+/gt+wIhL+d9/oDzR /zidIc363/+ewjr+p8b/dE79n/+7O/6ftzZGTUcMevm/If4fjo//MtNO82T/T0/iQf8Lknn/8zNA af/7sfTn+V9FXf1bDzXn/+kRD/8/xP+d5/+G/n/l/4/+/y5r5X/f6Vnyf9TGE5Sss+d/lZQ62jg8 1//kppSYNv8HFyn7H9L1/9TxXyUFhF8X1PgfCvO/WvwPjm73P2763/qovnr/j/ifyP/Bfirr/3D8 LxhE/t041/80DRiP/c8ABvFA/4t5AFre/1rPCTqN/ufnWZzgf2XcEf/zp3i/+H/e5DTEfwIc9r+e avXD/7P/hRn+/0X/d57/G/r/lf8/+v+7rJX/hU7F+P/TKhXyf0R2/pfiF1S+//98/8+PZOX/eTzZ Dv+Tz95Wjf4PL1L0P6Xjf+YfIbqPzjbW/7XQl/hfG1A3+1/MZyPK/f9KtPT/jPCfuP9nO/5zTrJ/ +185lO7U87++4wSS43/RzINVH+d/hcX+f36VgrXt/megn1H/V/wUWbnX/9ZZMtDR/1Trf+nTXw77 31xw/vdr/U+7zv8O/3+b/zvP/w38D3P+P5nh/x5rXf83UKr/UxTjv6v+z7sKtf6Lj63/k3ZgWuM/ w4uU/Z+a/5ur/7/vY73/X4MYzvc/uuz8r271f9qu/2NL/s/cfDX8H/ofdvT/67D/X7LJzcn+n0b5 pPwvZrc+zv9yPiCb9T8oo8QJ/ofppHWz/9G5/fV/too03cZ/Ef9G157/lc4e7//R+oLzv3X+p/v9 j7vO/4YPdfj/G/zfef5v6P85/5/U8H+PtfI/mqDFJ6HVKMY/IGsiOPSdW2njxqHn+l9YJ1vzf8KL lP0fBvqsb2Z8HyH8uqDG/3DN+V/lz43f7f/t/h9+lP8oXOF/Mfy/9r/43M98/z8E/mdNWnPq+V/p hJXKpvwPfpzJ9/lfGv36gdr8r+ec0Vb/SwduPrC8y/+CP8/7nf9FC/X+N8fH//IPN/z/z/8QwX74 /xf833n+b+j/Of+fxPB/j7XyPwEW5n8RRcd4A7IWzv9CvHF4rv/9+IvW/J/wImX/h4E+65sZ+d+J 5Pzf/f6XdE39X9FS7Hf4f472Kftfyhb/0/D/yv+vCxX9rwkD/5PvwjrZ/8iXUAn/e1o9sv8foex/ fo2LRP7/Uf8rI6PhXzX+135k827/gx+81M//Rtpq/+uK/n9xQf7Pt/pf2V35P8P/3+b/zvN/Q//P +f+8Axn+77CW/ifnoFj/j9p4ArImDg68z61a27X/v2n+FxrDP02j/8OLlP0fNvSsb2Z0H41qrP8L Xaj/N0z/lb4B4/n+dyyvBv/j8H9z/z8/npPz//ndxSib6v8HZsUT+394D1Ts/5co5gO3rf4Xk7mb /U/W7p7/5Qef+7i3bv7Xrnb+l3Syov6PF5z/nY9pH/M/7+7y/pchuRf+NwZP9L/edf43fKg5/0+P ePj/Gf7H++b/wsj/77nW/gdMtPF/tFqa/6vjv/hyq69wZP3/+feeUf9H4jfJ1vp/eJGy/zPzf3XK //xhlJz/Rbv9T7KQ/9Pif/+Rf7f/7Zb/iV8aLfk/AfW/y//msvo/bs//fcd9ev/zY3HoxKn5P9Ly C8aJ2P/CNwY9cf4vGlOs/wuLRkf9P3aKTTrifynVGf4XLP39+f9Gopl6ZHr5X6hq/wt73P9wQf2/ zv/6fv+rXfX/8KEO/3+D/++b/wsj/7/niur/plj/L8z/DWYDR25FigaHPdf/qJ03VZv/g4uU/Z+e /zvfzNx9bPA/XeN/Yen+/n/Yrv/7XpRq/6uvnf97nf/ldv//3Mry9r81OHe/nOh/of2EoYT/YQ7A fJz/tTZF/6vpO5t2/78aS1r9r/13LLv9z29S09ixTv5XFqv9T8fr/2p6pQ3/z/4X0WCv4f9f8P99 839h5P/3XCv/G6VL9X8VtfG8yWrJ5PN/mIf5/v/PJZ/hf+BfNt16/je8SNH/8x3N3MzoPpIMx4Ut b+Eu/+NF/T+CmXe3/1f1fycDcL/q/0QN/T/WfW3+z2X+J/vJU836H3Tgf6PQ4rn5P5ZpLCnhf2uE fqT/caru5/2PbP1o/u9x//uzF2f4X2g1xRHt8r82/AfY0f+M51r/Ix73v7ng/O/X+j9u7B/+/wX/ 3zf/F0b+f8+18r9NjvH9p1WZzf+3/gBozv8aRX7+7/n+b+v/B364XjVt/g8uUvS/TOX/v29m7j7W +x9cYf5vg//Jmtvnf5ll/n/K//j6+Sv9/7X5P9fV/2l7/peedPP2vxan5/8bCzMuI/+z2PXz/C+d nNSe9T/vqvR8cKHN/+TPC53gfzDK7M7/0cxq6Hj+Vzbk/4M47v/pbPPw/+x/3DX/d/j/2/x/2/xf fn3O/f+j/6fLWvf/KPtp8U9oNZv/X/S/b1w/y/94ef3fJ5ZDq/+Di5T9n8r/z/n/fR8b/F+a/9Xi f3X7/K89/gclP3n180vpiP+/Nv8n8j+6k/yvd/hfhv5XQsXnf/2Urgb/KytsYv6vsKTdA/M/2Z0b /tdKUXT+97j/0eoz5v+SlaB2z/+azje4jv7Hav9bV9H/MyXKDv/P/ofoT4b/f8H/t83/FWbO/xej /6fLWvf/hBH/Ca1m8/+L/ufPj3z//+P8Dx6Trf4PLlL2fyr/P+f/932s9j9/4F3kf9D2C/wvXsqt 8b+18mvzf7b9byTW+N8Xsjf9b8Pzv/zOzq/v0P+s1Lz/wWq56X/BH5mJ/E9hGVGPrP+/OJ31P/9C TScEPv5HZ/20qoP+l6f0//gvHqf+ql3+V850zP9B53MWav1vj5//VXJV/5f+6NMt/i/M/+3kf/9N 3i7/b8//7e5/yZ8/8V8f/p/8f9v8X2Hm/H8x+n+6rJX/NZrEMd6PVrP5//wmmBgc/HarDlJFr/d/ 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 --_002_158029776962148601otagoacnz_--