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 E834ACD1284 for ; Tue, 9 Apr 2024 14:57:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7CF8F6B0088; Tue, 9 Apr 2024 10:57:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 780386B0089; Tue, 9 Apr 2024 10:57:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 648036B008C; Tue, 9 Apr 2024 10:57:52 -0400 (EDT) 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 453E46B0088 for ; Tue, 9 Apr 2024 10:57:52 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 07632403DA for ; Tue, 9 Apr 2024 14:57:52 +0000 (UTC) X-FDA: 81990297984.08.1720768 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by imf08.hostedemail.com (Postfix) with ESMTP id 2B579160021 for ; Tue, 9 Apr 2024 14:57:48 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=kEZBGsvs; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of liuzhaoyu.zackary@bytedance.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=liuzhaoyu.zackary@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712674670; 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=KRtG0O9PlGLuqvqnFnAE4sDUuRarxdCuMY2hGSYEjvM=; b=qKn0Gbj8KyGpRqNiw5gxD9ySJC5DZtorl52mdaofg+B1Vc2JAs6D8hJ81lC/t8puNIYimd mxNOfYvPQV7j4cEc1dPzKOwnNjsTxjCodTeTIUUGtRSjc5ohAtJvfYY4VcNTNVKAKMsBSd npeXZJuaoAv/2W8n8kGmRHnVvbVKGB8= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=kEZBGsvs; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of liuzhaoyu.zackary@bytedance.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=liuzhaoyu.zackary@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712674670; a=rsa-sha256; cv=none; b=L0cCHai4uIttiQ/5vQDh6io2ncarDbEB+BpZUtNzsFcrPmaRnd80ysqlwT5qo4bYo6L8z2 2oYV94hgxYubpGCKZdymVWP6z5zGLztKIDXDrwvA7Yl2PnowHDLzPVswJGXlhizT1SYpp5 IWSOAe1N9TwtJ8vhqAwdNajtUoNLm1A= Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1e4c4fb6af3so2106915ad.0 for ; Tue, 09 Apr 2024 07:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1712674668; x=1713279468; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=KRtG0O9PlGLuqvqnFnAE4sDUuRarxdCuMY2hGSYEjvM=; b=kEZBGsvsekvhUB/7FNDkcOsxmH9gg282dWDnptzRwElwXTzldd3RnxLuVGgDjOCzzN g3m0nakhuHaN7NgJzD9B8lSjZzSMDPm6cWxbGDI7pnUEUNJqCbA8da32CoB4B50B7BCk c7NWXFAK3QBofQREaS0WtvZ8uKPvqw6AJSqvrDCGsf9XnkactH56VOzblkql2TK08JFR /5D44LZMmK1B0bbMzDTCIVbksHdaUnboTWbMaFre3mobXzI738QRzVCwZGMDwYOAV0jH SMU6cVnqXuTncbyf4HD+Ts0Wf1vwurkOw07As2Hjs4FZVzGAebsxfEbmnk2lk84KttLO U+2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712674668; x=1713279468; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=KRtG0O9PlGLuqvqnFnAE4sDUuRarxdCuMY2hGSYEjvM=; b=HG61qFrV0/VHYF48CjOXk90OtFKGDyT2/ZU5mLdCdGuMFVR3UJBZYt/SLKjw+9tlZ1 Iw6NMRqhDbo9yaJao/8pNzVCUqiNLq20vCE4ws+g6Fok7GAppuyBdZkJ602fAJX/lnL0 sfOmfhkrB14XrgvLWuBNn7P9f9zP13i1ie4WHjjmcG0xFA3/FHplMExxfVUxlm13YM0e QhdbsOX7jClUZBtZJNNwks1LAnM8cE/8AUJFZTzkwGfFL/1KZPYVumdonUtbbDmM+H44 hxtdyRRtD5yTHUBT43/3WrQpxSxEZH5ePyH4i00o8QCINkk2eOAkDhZ78ZGX406098XM xUVw== X-Forwarded-Encrypted: i=1; AJvYcCU8TjhPyFv2edwKNs50gGooze6rd4zKKch5U0Im037L6S3fGPHqXqADH+kcHaX47dKW2+yAqBsiiOR0xcepOtlZo7g= X-Gm-Message-State: AOJu0Yx5tJpA2laYwmktRI0iZzj6P7XdbbzkIXi+sa1ykvzEaciOzezj AnDL5DmV9b2hvCca9zGilsiBrQFqvaQeu4k7KLPzpa9Wn8W5c8W0CwBnae2odwk= X-Google-Smtp-Source: AGHT+IGF/xNXm9cP6sPDD6qfC29r9zNqUeI9ckB1s95Y2d7+syXyy85GJYZq1XB53v/ZaK1//dFMEw== X-Received: by 2002:a17:903:228b:b0:1e3:ce12:ef77 with SMTP id b11-20020a170903228b00b001e3ce12ef77mr4371269plh.11.1712674667750; Tue, 09 Apr 2024 07:57:47 -0700 (PDT) Received: from bytedance ([61.213.176.6]) by smtp.gmail.com with ESMTPSA id y4-20020a170902e18400b001e0287592c4sm8949899pla.267.2024.04.09.07.57.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 07:57:47 -0700 (PDT) Date: Tue, 9 Apr 2024 22:57:40 +0800 From: Zhaoyu Liu To: "Huang, Ying" 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 Message-ID: <20240409145740.GA543696@bytedance> References: <20240408121439.GA252652@bytedance> <20240408132704.f966adc8d3928df4d3b8c0a9@linux-foundation.org> <87edbf8hta.fsf@yhuang6-desk2.ccr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87edbf8hta.fsf@yhuang6-desk2.ccr.corp.intel.com> X-Rspamd-Queue-Id: 2B579160021 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: z71456kw6hjqmqpcfzkz5wuh74oi5w3h X-HE-Tag: 1712674668-953735 X-HE-Meta: U2FsdGVkX1+18UNpgawkBtNN/qkgBw8PDYS3gS5v9vcOe8PG0liAKLwQi0rk3oIEafgY+kEhsddIdmhmWLGdL1NmIGnJNjKY3T1dMbdhH4nDtPUUSAn/VYClwJeFyUoMA/kTXbsKwonAVFf7OBuU3bEpKnYnbgrOR3ZcnaxFuquojoSZ6rwCw7W0OdgqUHqCWCqPvZrwiAAGacXUu2oCigjP7sCi93SDUjYCz4DUZR7eGG+cNxh1yHGkqQOqxmiJAqJ7NQnGboaOn2UHfZdHl4IYDDBa8+8WqhfWh8KuuBW7c+v8w1GLnxq0MwiU1xcJ1NI4ADJsaHpXfdp8iwdckw8YK7bT3aXjl/xFYff008pAisXvUUCFJxgmBWxhGhoH2w5fHPAZ2kvSZ10u6Co7Roe+kOAmluDshPVCtCALzlkhwA8/AuDS3/gyEIUOKpGCRDI5P7/HX7/XS+m4j+gm42R3nrM6Vh8l9ZgLplIaiXcpNmxm54DyzPoxtcJEDYJ5KWPlKgTgqoCmAxkt+NIjkzRXAUu7hbTtQJ8uhQmtP0eMNS/3Ma83CBi8StqcnQLCy0TFjvWvwUrO3YMChEYTm1rknxRlkkd9jQm96wNsIe5k7GmnocTKy2Ew++pNnbP7LP+bE95/mhYWPtASBmPf0VO5R/wVGHH9/Cky7Oa7vl3/nmAzyyZyHLuC/NViG0otbRH4a04aVL7tOuL4eY3o6cfEzPYqxBP6mla9AST/nYwzlYNS0t7CS4spcC9Qrr2KHN4RmjLmpPX3RKHAjnKL8v5O2e/wPlhpb5Yd8937+yJTMvKeoGMi1Xf3yUjSrv8ZS7T34tgptfDdCah4qtMtmhrF7YAeyUQDpxE3CpK0UsmL54Wf1ab5qrXunNiHhMkQ3qy+k/ND/rAb5eovttJCtzmTMywuUNXC+GatIlzDebCZ0Hm8nVyMwRb7snFzNEKRsewFAC7/61untuA5Oz8 yv2Qfk2t ++mzeH9V5Mc7rEdTPyITWAwGb3OvZncjl1Eru0DaE04cRBdTwGxRacNoM6Vgic5umTf+c6dEq+kspTsX1pTR/b6y3+g6GIiTf/7c1vBq37BNg/TbgwpIwrZAP+k3P0htvgtxowIRXozeFxbOV6dA641BVpf5+qt/Z0vhjfDtnNMxLDKNCDUVqzXKsPujz548NSSVTPg1zYU9DMYQt1dM1FMXgo3qLuxQf8buBLPGDbOFT2JCkbBLqV8PROsb5UjAq2TthHeg351fv3gsMylztYyqHAMW9Xuc+ItpoHjBeyBo5fh0IgPcx7TOqGCtzkletO2M5lNI2mW88CGbC0im+efLqDj48Xg7uulSQNy3a8P0ye+11HpE3cG3Tqyu8GRbSm2Oy9/nticEJiIEW85S/j+dOG7cPoiNvZE0lSbKdPeeTUzv+dkuKYT9jpcIuJHaEA4pz8klltLmb0gdVJgZI50VWZK1mUGea9pgS0A+HI+3pmbhIs/Dn/PFkkUkyZGf4Sk2DJdGN1jCQ/ZZfOJhcmLTntQ== 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: 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. > > >> 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. > > -- > Best Regards, > Huang, Ying