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 E7F71C3DA4A for ; Mon, 5 Aug 2024 06:13:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1938F6B007B; Mon, 5 Aug 2024 02:13:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 11CFB6B0082; Mon, 5 Aug 2024 02:13:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EFF1A6B0085; Mon, 5 Aug 2024 02:13:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CF1006B007B for ; Mon, 5 Aug 2024 02:13:45 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 555B81C51AF for ; Mon, 5 Aug 2024 06:13:45 +0000 (UTC) X-FDA: 82417175610.01.72FBC8B Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by imf04.hostedemail.com (Postfix) with ESMTP id BC37F4000B for ; Mon, 5 Aug 2024 06:13:42 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=fL+hnImA; spf=pass (imf04.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722838342; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uNzflyvsv9Vq59TSylb8yZMU4V004aCfFWlF/OTQ0/I=; b=GwW958G6GZc1SpjwIVZSJA/i6AFT86ZOY9MF8kA2SS3VSAGBGq4EIdfgTdSbQRscNgvEX0 EKIRe0wXpPmdfA+ilCTdIr6p1JLc3aX6ZtiYhy+0FWsY39klJG9B1k1nqbTBv/tS5nomSZ J8QWGITuoDIfCDe17JMhx9BEDI570NY= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=fL+hnImA; spf=pass (imf04.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722838342; a=rsa-sha256; cv=none; b=Z2Ic5xUxRsPjd1yDZ8VJ1LwWCkFi1R1ko2B7U7tFigAYqxdNa7WrGSbVnWM0F5fOxZiTFP ydyqZJjZbrhlFpkQ9/rAj8QXibECAV/O0gmvEtAKS0zEi42WJR4AZUdoJAAo9WswDkXvw+ rU14PG1QSC9tb/nq7qlj+Ruh2nRvlyI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722838423; x=1754374423; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=8eCxN3TayP9/FKSTSM4KY+ZNtCrU63RI6A+v7qQLh9Q=; b=fL+hnImAwe6ZOCFkQXPOj2De6JuIFnc1ta0StgEzD/rpFarb70dszfDp 7bru/KJH5opiFsjC7esszGQSgf1BMt394auzfNxgpxHDFpGlRw0NmpvPJ G4jZ8xQY0Fo9F97uXkVgdWEiv2lmBiueUdx41qgRHwZt+9lKi2bbGkD7S kJvmBqNk9/ChEhhPx/PKQbZOYKQSFAa7L5YxmnO1jwqP1aHhPsx7iN6S7 WNj1C3UwYZrgP2YHiuuOT9mJCEuVy1OTEuo0EcB506vYpPsspzI1g5nQ+ okIn6mQ1IRXzXjPrEUzGT5lcOoL/RejW86PVAZzFnljh3+RyWqcfBGgfo w==; X-CSE-ConnectionGUID: qSIN87I5TQCn1/umcLItnQ== X-CSE-MsgGUID: ydoFRrDcRAK1c1Ogh8mu2w== X-IronPort-AV: E=McAfee;i="6700,10204,11154"; a="20903628" X-IronPort-AV: E=Sophos;i="6.09,263,1716274800"; d="scan'208";a="20903628" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2024 23:13:42 -0700 X-CSE-ConnectionGUID: IPVbLpnpRyKjkQGOifU1xA== X-CSE-MsgGUID: 3w1M8vCMQBe4O60OzDV86g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,263,1716274800"; d="scan'208";a="55710351" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2024 23:13:36 -0700 From: "Huang, Ying" To: Matthew Wilcox , Christoph Hellwig Cc: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, hughd@google.com, kaleshsingh@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, mhocko@suse.com, minchan@kernel.org, nphamcs@gmail.com, ryan.roberts@arm.com, senozhatsky@chromium.org, shakeel.butt@linux.dev, shy828301@gmail.com, surenb@google.com, v-songbaohua@oppo.com, xiang@kernel.org, yosryahmed@google.com Subject: Re: [PATCH v5 4/4] mm: Introduce per-thpsize swapin control policy In-Reply-To: (Matthew Wilcox's message of "Mon, 29 Jul 2024 04:52:30 +0100") References: <20240726094618.401593-1-21cnbao@gmail.com> <20240726094618.401593-5-21cnbao@gmail.com> Date: Mon, 05 Aug 2024 14:10:03 +0800 Message-ID: <874j7zfqkk.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: BC37F4000B X-Stat-Signature: r81peipp4tooosj138dwrhrm79zf4e7e X-Rspam-User: X-HE-Tag: 1722838422-802152 X-HE-Meta: U2FsdGVkX18KUlrMcbu2SvXi0XHz0h3fwejLaeOzfwUKU22b/z0rwvWBsBc8OgQCGs0Lv4p+qzXGwOh7FVtA2N7c+4Z0a+md/jH2GC2jBQ9Wl00R8tfO+UaPyTiIlciuGP9GZS8wv7WhFI+wl2pqFST35z3f0jiBPUURgVzgL+SNGG70de/zC/Gkzt+H6an3cBwHXQC9ilxJ8xVKibmopLWfquyNe11ZRZO5wJJ/t8hoQ+NAbyb1uV2mU7CsN/bNY15f608Ar7ObhiSOpU05/AM5qJsj31Z6uHkcSryzxV1W82pHoPf2Uk+wPC1ScK2mjSrwDUSrT3RcavfrYeT/0yeKJdmiuwzqVk0Qvvx0NtOtwOp2HVYbJ2pnTIDkE3JwVLwJjSE2EdeTi+C8RaRe/Vb13i108R/U27KXFqrRyfXQQr+BZb8OEAdTiB6wGJ+XYHahhLWSa58wEmsEBgcPAt55j5GJHNjO24IdTigFq5a9bOdHeig4xStdP8NTYI90EcOrDy71GA2M4oxRf0RzGLtSt8vWYLeQrqO6t9w84V6OP1hRnkG0zjGGZOmTEBcq/qV2PibF8+sbsv4dygq5+toKjRK3i2862MNO14DnWt4nyEueepED8eEoHxtJVMfO6HLhZIHPzAIjeFafoQrttFrxMw+98Wk/dlMbmTtQjrimokUbeqIjP3ZHpRbFNKoCo0jqH04Dr/p2eWoJt8lr9CUFBhTFqcc4CNnVOhlqZrZS9amO6hu6R/eECT4Doz4g/0++/W0Yq23opRYCJk2qMrdJJ5j13hL198LGKP7JF6+5rWt2RxvLxQiQjVXBAwoqsyF+1LyOU3ZnpSb5j8IbhWIfFakstGrD5aRF4d2OTsDWETnTwe+GRsQt4P+YOwoMuKCI+QCNwVtKVm6B3VQ8UxViCULZSEwM7IAk6D7tcGkkq7a5lqnh7FXDXjSU4fqn3dl7IKZZ0Hp+sa6VwzG HvICMj9J +mcAlnJUCozRFz5PGefmivc4q6NoTWCrQ0gcrjvaQgzq3wZAdwUXzr6/Tzp+Q8Wy9pamvcuNmZlkEgfswfPK2eCdAQGzq9BHyEkRPz8L2ZoR/48TKFI4QCT8202JN2Qw956AXUaeiPCT/HLoMy43eaE3QOQJvepJvRBD5rxYsmHLJBWH4CZfjHFaG8eaBsnN9eVlibAUE5Zui/aZG0QbVbnjONPaE3NF4kpnnNcl3lr1fhw3AFy2DIFT8+0rJ6rxeClt/XQexs99ZVy78uXIVLVHliIKblxLBUqsNXZKjHi8vldQxzoHobPKGQD5JqznGb7GlqOGq5k9u/l8= 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: Matthew Wilcox writes: > On Fri, Jul 26, 2024 at 09:46:18PM +1200, Barry Song wrote: >> A user space interface can be implemented to select different swap-in >> order policies, similar to the mTHP allocation order policy. We need >> a distinct policy because the performance characteristics of memory >> allocation differ significantly from those of swap-in. For example, >> SSD read speeds can be much slower than memory allocation. With >> policy selection, I believe we can implement mTHP swap-in for >> non-SWAP_SYNCHRONOUS scenarios as well. However, users need to understand >> the implications of their choices. I think that it's better to start >> with at least always never. I believe that we will add auto in the >> future to tune automatically, which can be used as default finally. > > I strongly disagree. Use the same sysctl as the other anonymous memory > allocations. I still believe we have some reasons for this tunable. 1. As Ryan pointed out in [1], swap-in with large mTHP orders may cause long latency, which some users might want to avoid. [1] https://lore.kernel.org/lkml/f0c7f061-6284-4fe5-8cbf-93281070895b@arm.com/ 2. We have readahead information available for swap-in, which is unavailable for anonymous page allocation. This enables us to build an automatic swap-in order policy similar to that for page cache order based on readahead. 3. Swap-out/swap-in cycles present an opportunity to identify hot pages. In many use cases, we can utilize mTHP for hot pages and order-0 page for cold pages, especially under memory pressure. When an mTHP has been swapped out, it indicates that it could be a cold page. Converting it to order-0 pages might be a beneficial policy. -- Best Regards, Huang, Ying