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 38634C3DA6E for ; Wed, 10 Jan 2024 03:35:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C988E6B008C; Tue, 9 Jan 2024 22:35:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C20916B0092; Tue, 9 Jan 2024 22:35:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A99CD6B0093; Tue, 9 Jan 2024 22:35:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 923DA6B008C for ; Tue, 9 Jan 2024 22:35:54 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5CF2F1C1393 for ; Wed, 10 Jan 2024 03:35:54 +0000 (UTC) X-FDA: 81661987428.21.4446D4C Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by imf06.hostedemail.com (Postfix) with ESMTP id BD7EA18000A for ; Wed, 10 Jan 2024 03:35:52 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="auI/J64L"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.176 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704857752; 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=jAtbAqBqpbMowm+Bo4+mhDNB5Xj5y96f9fpVSyKbNyc=; b=DRTqLprwhKsEgF3jKNowYHu/szGow/0xuVMuBM51+HTz/ljwtl7wDY8ATFKGbYmnHf6MkK t9213zIl1PkVCFq9Y/U5ktCK4ZQ+lheG3D725N4iH/i1Z93dWeiGzo6W/1lvXdmUTfheTX VYLnlRiDp3S0K+oEkec5lIaxX013a2E= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="auI/J64L"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.176 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704857752; a=rsa-sha256; cv=none; b=Vf+/86oVGIzYya9oaukQLAiqhQJ55DGEb46uVzW5KZD2BZmo4Nu7x08p6nYLmRjbPdINJV BBNTjrvWVY9HDwrWto0gYgQlrZLHdCl0wDnOMA9ofenGT2xma43tfqgyGGQQOMcg+Kz1S5 Gg90H9wB3SNNy7yrg+QgwzoQFrWJvaY= Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-2ccbded5aa4so42781221fa.1 for ; Tue, 09 Jan 2024 19:35:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704857751; x=1705462551; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=jAtbAqBqpbMowm+Bo4+mhDNB5Xj5y96f9fpVSyKbNyc=; b=auI/J64LQGbgNQ1cILK4DKnJ4sLZRL4NNjD2aiMl0jF2DjK0um6ET8vrir19k0BpGN PzO0XblCoNV4t/Z1yztDKo/qdGC7HCLaOG+PfdfEeDWiJOsEQGi7s3Fnms53c80DlTeW +hQLhUFWX9T6jHG4i60C48Km/vcpoYPge+Z9YC6BPUQZi4EAl45/slzBreKg8xdLa7GX LQwCtMnLRstmus6VuPhlHUa7pg42azQldj6VQtjZ4OJZ/kZDfz6+BgxO3FiOwEqRMfDU PQbSWeEXsXCY4wxEExHHgHmcuqN6w1lQs5k1+ys60kjjWsVGZdFqOsjOdvuVAjFBb0/C LYqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704857751; x=1705462551; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jAtbAqBqpbMowm+Bo4+mhDNB5Xj5y96f9fpVSyKbNyc=; b=N8C3mJS3qNUAFYmz0spklxQqZfrN7YsZX5JmDxmmKu9qDTtiIEAOxZ258UjxulYOB2 MpzTfuKOg+hnqel2Jv7HVMnpHDzqkScliPbJeCrJAQeop/73dKdVuMP91CtTQqB6sVji AfQilsY+fuPVmRH3HStMYg6edTmkr0OBJ6C8sYvO/CwMWieZVNnSyQKtX1tUTkBV4BCu mJ8LZAEijT6htcyj/qgdhdZrLAkweW8wqyAjizM/LajZeuyTyssxGQsQVaC2aiU4DbI1 X3pCIykHceeeu7uxL0zhRmmRJ4z7yTPBLSOty6ZBYdyGNbv+BHF8zQ/nJmJyxpTLpm/S kshg== X-Gm-Message-State: AOJu0YwgwBkCzvPCMQQSmPXvS1pn/pvhDyYUJEeR8FyRFXbhafO3B/Y1 Tz9Vw5EhiGE3i4RJR5ff+O5bhTJpbQWtiUbuXmw= X-Google-Smtp-Source: AGHT+IFABm1wwLGCemQUNH/kzgc/mO+J8eaHGimAlF8bank3Z3kVYl/IbYvA6UAlxLubCWKC53xdJs2mzmA99c1D4aY= X-Received: by 2002:a2e:9ed7:0:b0:2cd:56ab:caa1 with SMTP id h23-20020a2e9ed7000000b002cd56abcaa1mr166538ljk.5.1704857751029; Tue, 09 Jan 2024 19:35:51 -0800 (PST) MIME-Version: 1.0 References: <20240102175338.62012-1-ryncsn@gmail.com> <20240102175338.62012-10-ryncsn@gmail.com> <871qar9sb2.fsf@yhuang6-desk2.ccr.corp.intel.com> In-Reply-To: <871qar9sb2.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Kairui Song Date: Wed, 10 Jan 2024 11:35:32 +0800 Message-ID: Subject: Re: [PATCH v2 9/9] mm/swap, shmem: use new swapin helper to skip readahead conditionally To: "Huang, Ying" Cc: linux-mm@kvack.org, Andrew Morton , Chris Li , Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , Yosry Ahmed , David Hildenbrand , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: BD7EA18000A X-Stat-Signature: 5o56bzneku66c4hc1juksbondgr91bh3 X-HE-Tag: 1704857752-675146 X-HE-Meta: U2FsdGVkX1/yBlFe3xEtFV/9bq7HymKkZbGCjGmdh4mWplZgamF2i+e1lmYfmrvOA57phsoUFYDQLBeoDcjOndEpF7vexeWvjY+Bc/PWs3AYHvlhv92KR9WeXT/ygBSl9b3IOwOlt/KltEGwxGxDlYep3Pm58Ld9LwqlMnueBqiVowHzKBRt9dIMOBUxi6qrL4ySmHt2sRWbPdtL2xo7yA+pmSWds7SKHOmOxmGLUd3uYui74RIm8IB+7vmNepCpHsoL/2n3eufYIwYFcxXa9Jawx65OU0uRyEcqoylHBp+zmOFDWnUF3RaeKahtiBmF3NVrvDlCiX3Q4Wtq7AEOphj+g7mLXKw7d8f+imytDnDOtzHjVmJBfi81xTOXZWXuKO0p0QfLuYg1R+JYLAgOo7A/MzS9dttdpi4Xg5n3768+gyzwB8wRnvc4d52ztt9v/Eb8Ju/6//XWVLGo1xkzbeT0W7zLbhKZBKbHwcB16UanM1OQErohMZxX91ksaTAepDlbs28TJsIqjXOHPH1B+5uVMqhv7niny9g25r82JdLW54rJ/+piHaY49/xIZPmvxD69Wz8YtFd3fqgufh979xdYMrGrU2QLqkXlBIFn2QkZ7xcvIesjv4OsDoX7peSKLGIZlUU2wdwl5OM82G6zC6O5bLn6sG5mOREIXwJAtWeZSqaTjphqm66fHLuw+Yms9j8O+OlvWqU4aRfb/HJzS6DBxE9AkBcxvQ64+Sng9cc4xLlHw/SoU5i6bCgbvjoFv4m0wVktOFYBnxVssnH14h8e9vSaVVuonMUphyHrOE8EmDSPPWddjeGWXG0NCBR/LTEJtkRIjcFsgDjmSEjYp0WorliJlW7jyh76JCL/npS04ldNqWfgdJvJuiuCN8yFtTehI8QD+RQSVkpLfLaLl9IEbTnyfJJYweDVwR5rfdP9UBXeR/BOoG0vTKQo0Gz5GDs+cfJRYybsosFjmR9 UAbDAVu7 KV26Uh2MdwRFtOxFgjfj4VI6tMhKZKVR3Qnqp 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: Huang, Ying =E4=BA=8E2024=E5=B9=B41=E6=9C=889=E6=97= =A5=E5=91=A8=E4=BA=8C 10:05=E5=86=99=E9=81=93=EF=BC=9A > > Kairui Song writes: > > > From: Kairui Song > > > > Currently, shmem uses cluster readahead for all swap backends. Cluster > > readahead is not a good solution for ramdisk based device (ZRAM) at all= . > > > > After switching to the new helper, most benchmarks showed a good result= : > > > > - Single file sequence read: > > perf stat --repeat 20 dd if=3D/tmpfs/test of=3D/dev/null bs=3D1M coun= t=3D8192 > > (/tmpfs/test is a zero filled file, using brd as swap, 4G memcg limit= ) > > Before: 22.248 +- 0.549 > > After: 22.021 +- 0.684 (-1.1%) > > > > - Random read stress test: > > fio -name=3Dtmpfs --numjobs=3D16 --directory=3D/tmpfs \ > > --size=3D256m --ioengine=3Dmmap --rw=3Drandread --random_distribution= =3Drandom \ > > --time_based --ramp_time=3D1m --runtime=3D5m --group_reporting > > (using brd as swap, 2G memcg limit) > > > > Before: 1818MiB/s > > After: 1888MiB/s (+3.85%) > > > > - Zipf biased random read stress test: > > fio -name=3Dtmpfs --numjobs=3D16 --directory=3D/tmpfs \ > > --size=3D256m --ioengine=3Dmmap --rw=3Drandread --random_distribution= =3Dzipf:1.2 \ > > --time_based --ramp_time=3D1m --runtime=3D5m --group_reporting > > (using brd as swap, 2G memcg limit) > > > > Before: 31.1GiB/s > > After: 32.3GiB/s (+3.86%) > > > > So cluster readahead doesn't help much even for single sequence read, > > and for random stress test, the performance is better without it. > > > > Considering both memory and swap device will get more fragmented > > slowly, and commonly used ZRAM consumes much more CPU than plain > > ramdisk, false readahead could occur more frequently and waste > > more CPU. Direct SWAP is cheaper, so use the new helper and skip > > read ahead for SWP_SYNCHRONOUS_IO device. > > It's good to take advantage of swap_direct (no readahead). I also hopes > we can take advantage of VMA based swapin if shmem is accessed via mmap. > That appears possible. Good idea, that should be doable, will update the series.