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 B0BEDC67861 for ; Wed, 10 Apr 2024 01:47:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 36CE46B0083; Tue, 9 Apr 2024 21:47:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 31CEF6B0085; Tue, 9 Apr 2024 21:47:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20B7B6B0087; Tue, 9 Apr 2024 21:47:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 03BFD6B0083 for ; Tue, 9 Apr 2024 21:47:41 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B7A7C80121 for ; Wed, 10 Apr 2024 01:47:40 +0000 (UTC) X-FDA: 81991935480.02.9753CD8 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by imf11.hostedemail.com (Postfix) with ESMTP id B284740004 for ; Wed, 10 Apr 2024 01:47:38 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=CJPvaI3R; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf11.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.10 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=1712713658; 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=TvwfsGrtGoSxWvAunX4mNcycCZtMjhDuzSy1xZ2ZLu0=; b=VVb/kROVYGZy51kCHOoQNc6P1H5yQzPFqq97ofrf9tK/w9/N2BIQLq926uWk9J5annJCUV lrC6C5askhDkwkJWYjd/xUWcrrcSZXQYWOQnfb4UBEFOSfhivGYd3eBsPnH/1pQJdTaPbI pWPQO1FJYvC5fMWx3zID1abbx8xrhhs= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=CJPvaI3R; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf11.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.10 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712713658; a=rsa-sha256; cv=none; b=nbCr8O2Yvwz0RyWdjRCNdYPSH6HMmx9I/NM5m33m/a+ferqu68UmCFDRuR6Q7uGMXYvWb1 t9k+vv5yTDPHkr/QyA/gNAXt1FprFVkJslk3n5Bt/nySdn92nrJ8j2ImbnG/t7rzxvp07+ M/eLiR+Hm2esUopfgEsAhsnRaSNL8+8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712713659; x=1744249659; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=31Y67G+Aev410Mx8rxxPpS/JtoU8Ta4nueJJC6BOPXA=; b=CJPvaI3RqGhvnoJB3ra2yfgVnD3x8rZatnxcL0/NFKKbq/1tIj7BnIkO a6LJi0k7mYw3i3LEZpxd9nhvRFbYD3DSrIbQ69le2Nq+9W7vkirwvh2I2 DFfYt5fBm0HjCmlN0b7Zfq5i8hcSIxKxwCQkr4oppcPq6ndwrQe8T2Gxi SMswIeqt0SK1hkO1KuqOkhLMe/KGqp+onThJ2vVZXDu3msBKaMDFn3x0A 9PEV8mkfhs5mzmid8ug9zc2RCu3MxY2B/GnuAPAEsXv/t6xCB9YxhXclI nIwxOVWwjOmw3lbaEhUcS8INxYj/Hl+CzvfINLg/9RrQtaDAURfFdzg5F A==; X-CSE-ConnectionGUID: eYg/fRAFTbOoEUTct0rz1g== X-CSE-MsgGUID: eW5r8hUCRpyKVrMbAHVQjw== X-IronPort-AV: E=McAfee;i="6600,9927,11039"; a="25501085" X-IronPort-AV: E=Sophos;i="6.07,190,1708416000"; d="scan'208";a="25501085" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2024 18:47:37 -0700 X-CSE-ConnectionGUID: HfRY5yEVQFuIRxe1gVqu9Q== X-CSE-MsgGUID: ZuSZB7FQSQyQKsmP6gNtRA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,190,1708416000"; d="scan'208";a="25197540" Received: from unknown (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orviesa005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2024 18:47:34 -0700 From: "Huang, Ying" To: Zhaoyu Liu Cc: Andrew Morton , ryncsn@gmail.com, nphamcs@gmail.com, songmuchun@bytedance.com, david@redhat.com, chrisl@kernel.org, guo.ziliang@zte.com.cn, yosryahmed@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2] mm: swap: prejudgement swap_has_cache to avoid page allocation In-Reply-To: <20240409145740.GA543696@bytedance> (Zhaoyu Liu's message of "Tue, 9 Apr 2024 22:57:40 +0800") References: <20240408121439.GA252652@bytedance> <20240408132704.f966adc8d3928df4d3b8c0a9@linux-foundation.org> <87edbf8hta.fsf@yhuang6-desk2.ccr.corp.intel.com> <20240409145740.GA543696@bytedance> Date: Wed, 10 Apr 2024 09:45:41 +0800 Message-ID: <877ch66ldm.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: B284740004 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: i4eegz761fnr639xfsgrjj34cado69qe X-HE-Tag: 1712713658-772592 X-HE-Meta: U2FsdGVkX197hvTA48Qp0xzz/ZwHQXw3lqP9CllrgsLfKm5LZNvJUlqWbBV2aRQgv5GZ6MVf+WPqar7y0jDb5Rb9ySJcQUb809t10XnQ08R1/6fIiLDSg/aqyfu2DCPh94Vrwa8uhSE782gY1zapMWvibGtKlnUCb1q7pGTz8lwmPNvLCAGHT8VewFcB2fQEYgEW1Cz4O3x23Qp218twx+Q4XFF9FTZnIP9KHoHJvLCknnIK1VErY+fq4udTmIgjZADcBELGn35x8NzEMammg9YoL1t3gu7Oor4IPCecpb+HirUWooUMc8tQQBQjFIwvAd+Q0paRq+uZTJ56l8dE15cUrHyWrn9k2xH4WMJPBS2vCWjIn8Fcn6OLByyKipgDMwAAqMrug4svdLVCf6w2UTVAbYd8fHcB155f63Akmw6p37IS5JurhxJ2rDvLr18Rlw6X7LaLJ/kktlym4dfqTUMoU+OY7yCXIz0DcXqDV9Tq2XLLjWEwdRY63UVqFfurRv+LWNsQYD7hpKSw49HOYL9flbBiI7hDTL7aLt4xKTIXduDUihyCh1gP5weJl/C1x+1TqGmUm1bgFoAvJTLculOL7mbdefb/2sZeZIuh+1hMA9J1c0ZdJXPsuPcGfa9n/+u2GR+rLKyvSeqaErTdTtyf5vf3/l1KIrPGvkmXw1TlmEirnb30sHMxeqnGE1s3XHeCpJ/SlPPgDTZgauSKuDvjKfK1l4OUYkCPp60NxI22LTlhDwXsjJ6z4BJMPD8eRX6s9E3CUgFCXGWETD63x9s/XQZMEYAujQZtUmLayPzhui/i/x5u9kwpgdUYLA9hIuBGt9cjDHnUzJXhMYBP06j3jWLjUnBv+ReoYrAFgmwiLipptGV5fLLSMxt0sN6+KAckhnoo2Dk= 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: Zhaoyu Liu writes: > On Tue, Apr 09, 2024 at 09:07:29AM +0800, Huang, Ying wrote: >> Andrew Morton writes: >> >> > On Mon, 8 Apr 2024 20:14:39 +0800 Zhaoyu Liu wrote: >> > >> >> Based on qemu arm64 - latest kernel + 100M memory + 1024M swapfile. >> >> Create 1G anon mmap and set it to shared, and has two processes >> >> randomly access the shared memory. When they are racing on swap cache, >> >> on average, each "alloc_pages_mpol + swapcache_prepare + folio_put" >> >> took about 1475 us. >> > >> > And what effect does this patch have upon the measured time? ANd upon >> > overall runtime? >> >> And the patch will cause increased lock contention, please test with >> more processes and perhaps HDD swap device too. > > Hi Ying, > > Thank you for your suggestion. > It may indeed cause some lock contention, as mentioned by Kairui before. > > If so, is it recommended? > --- > unsigned char swap_map, mapcount, hascache; > ... > /* Return raw data of the si->swap_map[offset] */ > swap_map = __swap_map(si, entry); > mapcount = swap_map & ~SWAP_HAS_CACHE; > if (!mapcount && swap_slot_cache_enabled) > ... > hascache = swap_map & SWAP_HAS_CACHE; > /* Could judge that it's being added to swap cache with high probability */ > if (mapcount && hascache) > goto skip_alloc; > ... > --- > In doing so, there is no additional use of locks. Yes. This can remove the lock-contention. But, you need to prove that it's necessary in the first place. -- Best Regards, Huang, Ying >> >> So skip page allocation if SWAP_HAS_CACHE was set, just >> >> schedule_timeout_uninterruptible and continue to acquire page >> >> via filemap_get_folio() from swap cache, to speedup >> >> __read_swap_cache_async.