Received: by 2002:ab2:23c8:0:b0:1f2:fdbc:cb93 with SMTP id a8csp106627lqe; Tue, 26 Mar 2024 23:24:42 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXTiPPCLuCNNhJrCdys9IJElpr3srNML16nw59wfvmGz0MmsX3u7bTPUAcRFfFCtntQkErixMYlVl2/XA5IPlLn4NMasihpq8HRk0Q6Bg== X-Google-Smtp-Source: AGHT+IF8uxrwFXY/eb+rghyO9jKiwxVw/5KkgQDXkT4A212+cxkFQ4Pv+ISt4m1b1GWEmzTDM6Vi X-Received: by 2002:aa7:ccd5:0:b0:56b:8d0e:1a08 with SMTP id y21-20020aa7ccd5000000b0056b8d0e1a08mr2383259edt.26.1711520682722; Tue, 26 Mar 2024 23:24:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711520682; cv=pass; d=google.com; s=arc-20160816; b=vjmZCaemppTkihS+3m72tIvvhZpHKKnmyQmHt4kBLO4ZD7J0aEk+rqj3xJunQSM2A6 NUpcPRCV8tTaQ5uLsEmtYCxrjij3LZL/bfWGKFmegc5YaDvRjfEfaYG94D5OMFXZTz2S X+Qs/4d6xM+Z40ikNeSRQwo406aEi4vnqoP+VU8ifbRCxB25GFvw7Eif0o+w8J6xNc0k i9IYI6fxd3vcZzdLjW6Fo6XBNkVh0lQapNSuL78lYOoPYx+sKU9KOfGxVJz87daJZ1Q0 AwR5lW0elCaMXSDy2AaRNmczALKQE9GNRaqn50IBHPvyl+hZwSvSQEio9cQirl/O8uPi 5EYQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:message-id:date:references:in-reply-to:subject:cc:to :from:dkim-signature; bh=tAZHk3mHWnfldymCKNkgGEkgyDN6Iuv99uz52miXpvU=; fh=7Krc9Mohm6bb53J6OZ4HHuWx9X7AujwkcSke1svmj/o=; b=0J0V7iShD7QPk3x4+qlk4CxEvd4fN/ncBAHuGbOLxB0wX2S2O6DMaeoDjFhi7+Dmlu /RMAR5s5SGTBZ8Y+o+VshupyjXloqRnRZ/rB8mhHbw3TaoRFY3Rxchs3s5d1s8PnM3+I 7wfF1RAQKCPR/nr12tYf730bqEik1sZI/WhlRDJbc3VwT0wSIUt0a4uQlTP2Wqrv3zU+ GBG4LAr+E4w9Xx7Q6oycwIllv6AeRRCxRLKN1chX96gzUsKRLi+m9jc39ihcCVzlRGRL Se/YpUBy6kttn+cPlkvUmfEZHQxw8p7Ao0FSJOVadDGPhZliecIcNX3qzDMdoaxX7zya PnLA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bszERoAk; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-120368-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-120368-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id fj22-20020a0564022b9600b0056bed044a21si4239443edb.167.2024.03.26.23.24.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 23:24:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-120368-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bszERoAk; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-120368-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-120368-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 756071F2A1B6 for ; Wed, 27 Mar 2024 06:24:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 501C91CA9C; Wed, 27 Mar 2024 06:24:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="bszERoAk" Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4869B17551 for ; Wed, 27 Mar 2024 06:24:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711520676; cv=none; b=VDRdaf2lIhjxjFS8wQFbFUCCwbMO7CtfQa4+2/+b0jFej780/UrO2VuB3nqSfPWSk3tglpXnAvbDjX+8CGDHpJjiMQFGJ6Lx9Q5iZfD3bPbm7NSb4qa6LxK5omkj859sfSxBCjNhEJBmOHyV24q3xAku7LlixudtPMpOH8wB3W4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711520676; c=relaxed/simple; bh=6BxiztpmQC7WGYYfC/J1njDyZV2TGg42X2X1s7GmlQc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=DQ9x7A1pNFiXBZDzTUFnkyhehb7zVrC54Y2b/gOohgeey9v+SJzkp81XMrWZJEcf/L994kKjmS/dcJx+VKNGN+sxRiyCauVF18OQKQqMGmnJ9lt4iuHw/NV1jt6xjQl1A9Z+XEg6MTQ9/9uvQ/AyjGEsLw3V0f/qUmE7hMWHh1s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=bszERoAk; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711520674; x=1743056674; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=6BxiztpmQC7WGYYfC/J1njDyZV2TGg42X2X1s7GmlQc=; b=bszERoAk4OjTAp6sRjTUdQGAVqXUONGrQO6OkjEbaYM5lBMO9h6TSZES GxQJ+PRcG+G1+rdcrFAf9S+RTACsXpltdhO2leb8Key+2BVMScrGUueGf ezCUhxwB6eDqcWzrJuT+YRt9nDzPggGsgc5ia/fgMMpwoB5RLhay//Zpi epVY/VKkVNvvwC/Q+u2qlITH8HaI1/RyH/2xAcqfmVo2eZijWWdjVYMkY SAQPWWCmrZJN8DPrWDw9gWXWPgWFGvJEEbaqw8shkogDzJgKdTbda3ywW rJEYbwUTwJAv9+iVfcNQL9OM/6eGI5Mrvw1Apdlbu1VfCen20Bl+24BcU w==; X-CSE-ConnectionGUID: /JjkJp4cTq2j4VV+B+jPqw== X-CSE-MsgGUID: 3/jxtLw/QXmWpFPKfge6BA== X-IronPort-AV: E=McAfee;i="6600,9927,11025"; a="10404462" X-IronPort-AV: E=Sophos;i="6.07,158,1708416000"; d="scan'208";a="10404462" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2024 23:24:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,158,1708416000"; d="scan'208";a="16639174" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orviesa006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2024 23:24:28 -0700 From: "Huang, Ying" To: Kairui Song Cc: linux-mm@kvack.org, Kairui Song , Chris Li , Minchan Kim , Barry Song , Ryan Roberts , Yu Zhao , SeongJae Park , David Hildenbrand , Yosry Ahmed , Johannes Weiner , Matthew Wilcox , Nhat Pham , Chengming Zhou , Andrew Morton , linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 10/10] mm/swap: optimize synchronous swapin In-Reply-To: <20240326185032.72159-11-ryncsn@gmail.com> (Kairui Song's message of "Wed, 27 Mar 2024 02:50:32 +0800") References: <20240326185032.72159-1-ryncsn@gmail.com> <20240326185032.72159-11-ryncsn@gmail.com> Date: Wed, 27 Mar 2024 14:22:36 +0800 Message-ID: <87zfukmbwz.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Kairui Song writes: > From: Kairui Song > > Interestingly the major performance overhead of synchronous is actually > from the workingset nodes update, that's because synchronous swap in If it's the major overhead, why not make it the first optimization? > keeps adding single folios into a xa_node, making the node no longer > a shadow node and have to be removed from shadow_nodes, then remove > the folio very shortly and making the node a shadow node again, > so it has to add back to the shadow_nodes. The folio is removed only if should_try_to_free_swap() returns true? > Mark synchronous swapin folio with a special bit in swap entry embedded > in folio->swap, as we still have some usable bits there. Skip workingset > node update on insertion of such folio because it will be removed very > quickly, and will trigger the update ensuring the workingset info is > eventual consensus. Is this safe? Is it possible for the shadow node to be reclaimed after the folio are added into node and before being removed? If so, we may consider some other methods. Make shadow_nodes per-cpu? > Test result of sequential swapin/out of 30G zero page on ZRAM: > > Before (us) After (us) > Swapout: 33853883 33886008 > Swapin: 38336519 32465441 (+15.4%) > Swapout (THP): 6814619 6899938 > Swapin (THP) : 38383367 33193479 (+13.6%) > [snip] -- Best Regards, Huang, Ying