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 D6D5DC47DD9 for ; Wed, 27 Mar 2024 08:34:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6BFED6B0089; Wed, 27 Mar 2024 04:34:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6705A6B008A; Wed, 27 Mar 2024 04:34:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5382A6B0092; Wed, 27 Mar 2024 04:34:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 42D556B0089 for ; Wed, 27 Mar 2024 04:34:33 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E401D140A5D for ; Wed, 27 Mar 2024 08:34:32 +0000 (UTC) X-FDA: 81942157584.28.BEBE651 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by imf25.hostedemail.com (Postfix) with ESMTP id D8727A0012 for ; Wed, 27 Mar 2024 08:34:29 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=H261D4t4; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf25.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.12 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711528471; 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=wowzYx57TH0EEI3p3U8cYazwUT58GCkmkyJje959UFY=; b=xY+nFp7v5/2MOB80j9r0fZGzUXERKtdZXQ/C3rIHfpNc5ni3m5luKgpKkS2mNa4FjKnGXW TF7R817lnWLszISsIyDJ17/r8ASXWfBdNM0DTTkLDScIMMCOBJZ0qHWcoEW7EaMWVaWd6W jYgB2j66fY7aj+bDWjny/wgdTKQEX0c= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=H261D4t4; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf25.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.12 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711528471; a=rsa-sha256; cv=none; b=RN+rgXDr6Txn54deaH9GdW76BfHiW7c7cn0sJ7jt53relFk7cAusC7kD9JwjMK6pE09M6+ sgJA54aafS8mVTDClvBXg7frbCXiwvBrXpk6Ehf9l3yu52RTqfOknt31OKyogpHDh9iORM R2iIXI1UooumuwV+dNpH/B7SKTqP3rg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711528470; x=1743064470; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=QPqtm80lxP8jTAq1ty2utofh8Ry7QmP7H954z9MQEOE=; b=H261D4t4ODO1qRekNo/+GOw5uJooPr98B0j0yQ01wIQ4emxfW/oOMMEb 2j8Ryz90isxeINjjGHFo3Pn6b0pWq+uMc305QC+c1nMO0DQA9PBPI4f+s EhMnHx3ZspYqHiTFSu/UwC6GLCVUogmdll6GIw2cg0JSEDGaioKFrlFpq wqSjtnZ4ZUcxF63D8agtR5gA8xXZIfR3uU/z3i0qzSxAWAxyoqP1DPkKD 8+dlFN47QLQ/LCtbwJ2ZuO0MNxZULyrJ8xSXkx0d5eoVl84FVCAQaicWC QYpUtCbhCWYIIUnHRFC5JKLUJEe5lYnzS5VTYoFnF2BIuYHZMOYiXKIN+ Q==; X-CSE-ConnectionGUID: 6u+g+RLJS/CNkQ4sjxoMhQ== X-CSE-MsgGUID: KTnJVXOYSjm+iHhh9DeCXA== X-IronPort-AV: E=McAfee;i="6600,9927,11025"; a="10394907" X-IronPort-AV: E=Sophos;i="6.07,158,1708416000"; d="scan'208";a="10394907" Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2024 01:34:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,158,1708416000"; d="scan'208";a="16319884" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by fmviesa008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2024 01:34:25 -0700 From: "Huang, Ying" To: Ryan Roberts Cc: Kairui Song , , Chris Li , Minchan Kim , Barry Song , Yu Zhao , SeongJae Park , David Hildenbrand , Yosry Ahmed , Johannes Weiner , Matthew Wilcox , Nhat Pham , Chengming Zhou , "Andrew Morton" , Subject: Re: [RFC PATCH 00/10] mm/swap: always use swap cache for synchronization In-Reply-To: <58e4f0c2-99d1-42b9-ab70-907cf35ac1a7@arm.com> (Ryan Roberts's message of "Wed, 27 Mar 2024 08:27:34 +0000") References: <20240326185032.72159-1-ryncsn@gmail.com> <878r24o07p.fsf@yhuang6-desk2.ccr.corp.intel.com> <58e4f0c2-99d1-42b9-ab70-907cf35ac1a7@arm.com> Date: Wed, 27 Mar 2024 16:32:31 +0800 Message-ID: <87a5mkm5wg.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-Queue-Id: D8727A0012 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: pbsz7w6cqij6dnpf17mxb69huc1i95y1 X-HE-Tag: 1711528469-217148 X-HE-Meta: U2FsdGVkX19NpaEQg5bqF3kS46lRGy889Ny6PBvizMqE6TIw7/o/4iOI89u+k3oCnJWzGSin5v90XoGl/tjOFEJw2rDnAKOK3RhddRiV30/wvoNtF35ctsfWgG0BbH3344TX8kUlO1WQ9nGu66GwPPEkIUDY780Fv+v3OR0puW1AHlbyQaTGIYFWyqJPFx7n3cgncTK2TpuU9cirxL8dZ1b+yPBgO6orFdf45fo7KJ9NmzM4dQWg3d7iSsAiDm/8P3L/21b6NBbzmsMsSAPkKNMjbQxEPII7j2kGYpNjf19kB/MVvj1ICDNieS8l01Fwrfnne0MXyYwkjSFyDcqjKAfywYUkCXk8F0sE5Ydn+ziJ1onLs4b7R2PpnoewYQl/cpjU8H1wQmcXZ6YITncky0eLWidSR3QBBhvQX37GpkqCWLg4DU41R+kK01t0MU5yJmHocYeEWbVoN4+wxF4z2kCOdk2ZeyONr+riWKAE+qsQ8UC7Tfz5n3T4J0sqa5lqY2ZcIYF184VYdTAfXhtVix+RP+tcCTupwl2QE1NpVrkvOTOZ8EGl7i6Xxw6Vusfxuv9ttVwXy3muITB0Sod0b+PvPyAa0/aq1pG7Sfcn2lerqm79AxhNBDTy4eHlpsSA57TJFbRj/s2lMZXAOjWfl6uUsKYCehqJJ/IOgCwhaycZB6XOanuTY22maW3ddp7zNqtN4tddpgWB7eso9zqGFn6mR30Z/98keIqKBShHlt/R9oQaDhfx4l2RNcKd8bUbVdHJBw5+qy2ccD0e7InrekhxJ0w3BUEFRkTmHVWNwXY3nAbXfG342it84LJPXtyHK7Ve9u3O4thNOWKwtO55SuuZkphaNIoGjqA12wmXeefsqDYNlaC5ORFWC6XwMFOPzrJXR3V+yDVzMNDCUYGV+9qGGKace7HvDA1c/FUcF+VobNw3ppWztryIVEDXJxJ6mXkSqhoPx/zURnGVlUJ 0zFtdrYE 1zK243CT73KiVz2lkTXESsOs32R8tZwA7UQ7KksVJ7TpgnZFO07FQfNaBcX+MzYpimkN8a4SQ80C6g/DpduSt/E4AndqE6LvWwh52chTFrmfz6T4XIPDmP9GAO+1vIJSO1u0lm4GVqSp34YkeGzBxyuVjYZ0e71z3d8Q5C+sCgIJMxoMVW+oksYqXxts3+q1IRP/xWJwvj2a4Ins07j7FSeiP3Uql20If5Xh5fY9DpVogbM4QH5ecqGNs+w1fxVXjAlYzYEmEhl8kIyiReuFo+qznxm0q3WP52VTWXFqW1qhcrI8mUWimpAhTqVgVKYVXs1AO21DF4VFxtr0= 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: Ryan Roberts writes: > [...] > >>>> Test 1, sequential swapin/out of 30G zero page on ZRAM: >>>> >>>> Before (us) After (us) >>>> Swapout: 33619409 33886008 >>>> Swapin: 32393771 32465441 (- 0.2%) >>>> Swapout (THP): 7817909 6899938 (+11.8%) >>>> Swapin (THP) : 32452387 33193479 (- 2.2%) >>> >>> If my understanding were correct, we don't have swapin (THP) support, >>> yet. Right? >> >> Yes, this series doesn't change how swapin/swapout works with THP in >> general, but now THP swapout will leave shadows with large order, so >> it needs to be splitted upon swapin, that will slow down later swapin >> by a little bit but I think that's worth it. >> >> If we can do THP swapin in the future, this split on swapin can be >> saved to make the performance even better. > > I'm confused by this (clearly my understanding of how this works is incorrect). > Perhaps you can help me understand: > > When you talk about "shadows" I assume you are referring to the swap cache? It > was my understanding that swapping out a THP would always leave the large folio > in the swap cache, so this is nothing new? > > And on swap-in, if the target page is in the swap cache, even if part of a large > folio, why does it need to be split? I assumed the single page would just be > mapped? (and if all the other pages subsequently fault, then you end up with a > fully mapped large folio back in the process)? > > Perhaps I'm misunderstanding what "shadows" are? Perhaps, shadow is used to support workingset protection/detection on the anonymous LRU list as in the following patchset (merged). https://lore.kernel.org/all/1595490560-15117-5-git-send-email-iamjoonsoo.kim@lge.com/T/#m962395eb5968c74b0c4c8e41d4b0dcdd3f28b2e6 -- Best Regards, Huang, Ying