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 6EDAAC52D6F for ; Sat, 24 Aug 2024 06:55:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89D69800E2; Sat, 24 Aug 2024 02:55:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D7B2800D4; Sat, 24 Aug 2024 02:55:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 67990800E2; Sat, 24 Aug 2024 02:55:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 39CBA800D4 for ; Sat, 24 Aug 2024 02:55:34 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A69BAA66AD for ; Sat, 24 Aug 2024 06:55:33 +0000 (UTC) X-FDA: 82486228146.29.A9FA092 Received: from msa.smtpout.orange.fr (msa-210.smtpout.orange.fr [193.252.23.210]) by imf02.hostedemail.com (Postfix) with ESMTP id BBC1980005 for ; Sat, 24 Aug 2024 06:55:31 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=wanadoo.fr header.s=t20230301 header.b=sDclFOai; spf=pass (imf02.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 193.252.23.210 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr; dmarc=pass (policy=quarantine) header.from=wanadoo.fr ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724482490; a=rsa-sha256; cv=none; b=csbj720zkWxUMPGXEuN6Mppb8C8oftGSYFv1M8esRjjThqL/BrPB94ZOy0VlKVWFq23O3K 2yj8rTq5GpR7y+/7zHzqlnQQvsvQZjZf7NbR7YnTkiWv+Vlp0rs6i9ShRV8GLQ4OmQkvlF 0BzCR+HeGX3NXzfwSS4IrmYSp4N9nOg= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=wanadoo.fr header.s=t20230301 header.b=sDclFOai; spf=pass (imf02.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 193.252.23.210 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr; dmarc=pass (policy=quarantine) header.from=wanadoo.fr ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724482490; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=j/Oekpz9cgS3OyVH/t3YcO9F5N2XM6vT8hNtOU5iRWs=; b=ZyVnLwkTYB/5w4cIzF3nEpe9UMsuaU5in2MNLAJO2hu+k5HvAajBbVOQslfl7dunMwEIdf xm4l5qc2enGKnjXhz8bxDLex4d2NwJmuHR8Ur55VIbjV5S7wZGfmCg5f0jD71e4qFyUidL zfK90Yizgb9dhmLHGaDYDHguq7jPGGE= Received: from [192.168.1.37] ([90.11.132.44]) by smtp.orange.fr with ESMTPA id hkgHsOgpszHoQhkgHsZAr4; Sat, 24 Aug 2024 08:55:30 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1724482530; bh=j/Oekpz9cgS3OyVH/t3YcO9F5N2XM6vT8hNtOU5iRWs=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=sDclFOaiKfUaGQ4/6QOImEZjH8zLpfzXd9JerxXCIylp/Ecg7oiSQnQXesw4BGS7V /DrxQkM+XVheTbKe+Y9NRjQm/AlZkQt74TK2oAHIIDLDjKS26n/I6Pt8DZ3i9o7RkA j3LLJLZYU1uqWzBlj22Vz9ZimUgTYwDrB1iaRGLyNuVQbT9oMitf9hA0mBAg/mNfVt noZFth2hNP50ZeW6R1ZWsUO2/MlC3T8sUwZSuc2nLeLMrA3YuQBwK8KRInGk3LYBl5 LbDWZViVaIOabJhwup0x26xioJmuWQRI4j0FO7aYoqVJ2ozSWkW/pagd4jIH8mZ0pV ZAwdfSnMxJECQ== X-ME-Helo: [192.168.1.37] X-ME-Auth: bWFyaW9uLmphaWxsZXRAd2FuYWRvby5mcg== X-ME-Date: Sat, 24 Aug 2024 08:55:30 +0200 X-ME-IP: 90.11.132.44 Message-ID: <70a3d71d-b0f9-48b8-bb00-497cd17da764@wanadoo.fr> Date: Sat, 24 Aug 2024 08:55:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RESEND v8 1/2] mm: store zero pages to be swapped out in a bitmap To: Usama Arif , akpm@linux-foundation.org Cc: hannes@cmpxchg.org, shakeel.butt@linux.dev, david@redhat.com, ying.huang@intel.com, hughd@google.com, willy@infradead.org, yosryahmed@google.com, nphamcs@gmail.com, chengming.zhou@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, Andi Kleen References: <20240823190545.979059-1-usamaarif642@gmail.com> <20240823190545.979059-2-usamaarif642@gmail.com> Content-Language: en-US, fr-FR From: Christophe JAILLET In-Reply-To: <20240823190545.979059-2-usamaarif642@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: q69uqob48dw6m3cei1nbm96f3suh8mfq X-Rspamd-Queue-Id: BBC1980005 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1724482531-138042 X-HE-Meta: U2FsdGVkX18hxGSaB1Gtd7f2I2+EEKNPbhRy0a6JbY4BxFQqe56Wq0ubPR5sFoMCpAs6OoNRAIpUY+lco0g/zzmOS0zjYGsetmdMOg2sKyNzy1aFwn346qz164gNZhOA7HzPKoW3Av68AIbXbl38ltyezFeGv1i1OU9c4czOE8JJmctAWu9wHXyutYz40DeiulrZo9HVveblrwaLtbqdqn5glUJHtxmmmZfl0FzpNA96BzvUXPcCNbRe6X7sjG5XCmqdrKbcPM4spVpNBacNR0BpWkv6y76s149VDS5wh7CkXPPR7pZUs2Z8k11sRsr59XnDUCwDzzUrAKmgz9sZiIqJ4blOvjh+LFS8sywNsw36W9xlIW/tw7xGnhJMsWDwBs4vLkw3kj5jFfR3ol3ldc29CZsJDpElDUoq28+3GYQBvfmHQQNTHEvRTflMd/OFfQdE3Hq1Tw9Ov0iuMJVGBbE4y5zu6e2TmCJW6H+7AY1ugW4l4PFbFFS5omdmpe1tVO0mtPq7TchvOJlPv89fty5bFj5gbtQCA+fHhxlX1wPldzDeims5UwWB36YC7DUDZu11d+YXSbwVgK3jHyMkbpTPzyIaSg/IJtbQSxULwBzuOsg63zLnoCp/pySu3pFLByJhqCqr8Ix7GxSFLV2fCsxmjrnoTnmtIFV8wX6+vfXzu9Xv4FUQNxi4SL5e20YnFVOgzgjmBJpB+hRvi/AO/mSvSIrBmfMuV5doZ2S9q92lu/tKV1Surnc3iu7YnzMhWEUeF/xR1Hik1y9KF75EGOQLZU6Fl5O5eE55uwULVCQrkpZE0JDFvPFcVQpSowPnHFmOaIcDpptAR9p6rBNINurqwQihGEXgAqs9NOsOj9c9Bd3rXFca44YFfG5IvAOqIm+sWYGQdHjeKqhySJ/sSH3Kd/oJ4wppvVz+62tQh243DuU9GEa6Uy0vyIPTwJM7I6vG56TmHfVCS1f0CPZ 1df76wwz cPHG9m8wxyo5tAny+K/sJ8siKQMYLa7yK1HzYbeypFa7smBleenYOvCMRhLC1ip93QAFLQAYn474v7w5LPsuuOfCFiIUuyXAi2Paeog475RMq5UMRs+685xtjJh/6mwsEXbDyawg1w7rPgzzyTFqJYFTzaktk95+/sW9CKcL7gh4E0uuZ7Ehd/0nFtsWRmA9/F5iw402Lmki5uVp/juoSRrIlEB9oG+AFQn0N4o+XHCd7DufhW5mMaMmRPINgatkO3tqpBZliFordUvsT3VnmET/BfhgylySHmVo2SVfJ49oUmr2d3R+7kSKKs6AvIivlcUDfpba7fUnpqVhhuz8dToEy8Yec/btt8TqyxaVL/SyLhUh07Aofmd65fFe1+FeD8hPa X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Le 23/08/2024 à 21:04, Usama Arif a écrit : > Approximately 10-20% of pages to be swapped out are zero pages [1]. > Rather than reading/writing these pages to flash resulting > in increased I/O and flash wear, a bitmap can be used to mark these > pages as zero at write time, and the pages can be filled at > read time if the bit corresponding to the page is set. > With this patch, NVMe writes in Meta server fleet decreased > by almost 10% with conventional swap setup (zswap disabled). > > [1] https://lore.kernel.org/all/20171018104832epcms5p1b2232e2236258de3d03d1344dde9fce0@epcms5p1/ > ... > @@ -3428,6 +3444,17 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) > goto bad_swap_unlock_inode; > } > > + /* > + * Use kvmalloc_array instead of bitmap_zalloc as the allocation order might > + * be above MAX_PAGE_ORDER incase of a large swap file. > + */ > + zeromap = kvmalloc_array(BITS_TO_LONGS(maxpages), sizeof(long), > + GFP_KERNEL | __GFP_ZERO); Nitpick: kvcalloc() maybe, to be slightly less verbose? > + if (!zeromap) { > + error = -ENOMEM; > + goto bad_swap_unlock_inode; > + } > + > if (si->bdev && bdev_stable_writes(si->bdev)) > si->flags |= SWP_STABLE_WRITES; > ... CJ