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 A59CEC52D6F for ; Sat, 24 Aug 2024 18:58:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 28572800EC; Sat, 24 Aug 2024 14:58:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 234EC800E9; Sat, 24 Aug 2024 14:58:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0AECE800EC; Sat, 24 Aug 2024 14:58:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DE04D800E9 for ; Sat, 24 Aug 2024 14:58:52 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3F3FF80882 for ; Sat, 24 Aug 2024 18:58:52 +0000 (UTC) X-FDA: 82488050904.07.D00AAEE Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf05.hostedemail.com (Postfix) with ESMTP id 46F5C100014 for ; Sat, 24 Aug 2024 18:58:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dimJ8ChC; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724525846; 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=LHmNkA5ynV1P4Wa9MrNLlvBNlS2hWd3TPD/qVs35LGc=; b=NBAZqA/9Sf+I+Q4xKHpSsgePZgct0tBdQnDMdPWvREtUrsFZqbBCSCgVbLI1FbY0qpuTYK ER7R6UHT4CK1agnHVFHJMYte3xW7qNBZ9LCg9f8zR9ubOVr/2+G76OOlDFasMH6g6xN3ae 1dl/y4qwh2G5tfn8gOfz23HWgrXaQMs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724525846; a=rsa-sha256; cv=none; b=q7MZAISS4nq9kM2koqEQXYseTkclE1PwLvzLE+td1up8kYHXF29bfoE24rMg0DsNQ330Lb ogqi+a+ZQ7RM+FKeliCB9uh3VTRJJhWp2MKJi10a/hZALuAymza5Un54kEO5vr9DqsX7Du JlSr7Az0xK3mpjdgfOEODzkNbT1ijrE= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dimJ8ChC; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-6aab656687cso24162867b3.1 for ; Sat, 24 Aug 2024 11:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724525929; x=1725130729; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=LHmNkA5ynV1P4Wa9MrNLlvBNlS2hWd3TPD/qVs35LGc=; b=dimJ8ChClC/ckJ5ssPYTE0ggL/vt8lNoYsIMTjX6wvGwkjhUZYEm13RIbmlDMpE4Ja FyqWT1Ld/r3pQx+ERxwA88s91Iz87obRQT05B/8562gx4oRVnBcCBGZ3iyVFMJ5n1P0x 4FrOH2Lm3sINxiMbKHNeBsT0cuu06G2BDtEeKNOlVMpA9JuLzKXo/UG6cdbmdw/hL81N emF3R9xwgRSHGaylK0hgnsKtKFHWvHubwWgaksRsO0TMSHaUWurXEjYGxP5jQg92pBoG +HR1kJUT5FaBSlc351N6W62dqnsFtApMuEFKXDIAt1lb3eMKDYBCfLiM7zERQXwqP3In F+5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724525929; x=1725130729; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LHmNkA5ynV1P4Wa9MrNLlvBNlS2hWd3TPD/qVs35LGc=; b=PGspTGZ+XqKfbonXMhM/1JjsFVmNb+v0kHi1Z++iNN96eXD8pwrmRiGyakUntahBvv +VmnJC9qbHuXpQpTmtVjiu+LM1W79kw1l+J+KdvaIr6su05OEJ57pVBMtuCGM6du8zQE ZQ7Wmpq61alILgt69+LSWfXJVG95lWURqUhl5Ygq5+HryyHrLfpJXfD69QuN8rxPQi+7 TmGC6rYcbFkYL3MZLMprJCdH5r6fmPwqfAqI/E1ziznzYZa9aZ9m7RopNHFD+zu+XsOI AETNIusH5wQRByBph39bW11YHALfkb1gFR2UMk91m3ve4XoFs0Uv/rlChI8zvrjS3y1a Ft2w== X-Forwarded-Encrypted: i=1; AJvYcCWthCOHU+RRtIOTQfYPrQoCsXXr6kKj/7j2CrZmj7KURhw26VO5Ja5Xgui8bZQlNIogGyEsP2nlyA==@kvack.org X-Gm-Message-State: AOJu0Yz5KG54eXiYS2oW+M0GZQsW+gejeSJ0+877fq3bH6qcl6R+oyYp 6hvW1iRti0dBtjFMrAPP2mFtMefQRYeBq55sJmL7Q9BY/+9Zg/52 X-Google-Smtp-Source: AGHT+IE3cCeTNAcwdXUdhToa+u45GpXaafPg0wtBZlztiVimoRsozLlmaqjhpmGyn4dwkuzwPfSWbQ== X-Received: by 2002:a05:690c:4c0c:b0:61b:e61e:8988 with SMTP id 00721157ae682-6c30691ec33mr82911317b3.18.1724525929193; Sat, 24 Aug 2024 11:58:49 -0700 (PDT) Received: from [172.30.3.60] ([12.247.251.114]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6c39dd4864csm9454857b3.129.2024.08.24.11.58.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 24 Aug 2024 11:58:48 -0700 (PDT) Message-ID: Date: Sat, 24 Aug 2024 14:58:47 -0400 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: Christophe JAILLET , 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> <70a3d71d-b0f9-48b8-bb00-497cd17da764@wanadoo.fr> Content-Language: en-US From: Usama Arif In-Reply-To: <70a3d71d-b0f9-48b8-bb00-497cd17da764@wanadoo.fr> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 46F5C100014 X-Stat-Signature: 6878dnmfkrstzd4jw8tghjk3mhgy37uj X-HE-Tag: 1724525930-761323 X-HE-Meta: U2FsdGVkX1+guT5rhcPfoKfdRZEJgM1VvzEOOSfleZuh+1X+DBrkg1gJSqRrCecFAVJixS6e2h3pTpxMQYN1w8elxE9sgBu8NBFcEPeioxZvNSDT65v+5YruNs7GnPBWtniXwPBo6iaxO+gcsDkR0ldVyUY/FfI8tH3knkmh7QiinQryLpubJIcjv1a6BkCDF986kqeMWIs4QHw6ysyzzl7ltWuUdqePJwOFJ+t7y1jgjxvH6CnHgyeTLZmT9dtA0iTSZHNiPzsqvMEcRteks+wbCkDC7YNpXpxyQlqm8xfrHzytQ5jYwkVlUovmuSeDcgwRrhvqRjQl/QGHXVv7b0XMNyTpaTyM/bvtYmbOLUD5ZE37xg76/Fo69TvkfSbvopx1DE/ya9TmCUvqAfTp9chLHDX2oSoB9EmWoxp0Oo9tYg+5ghqu6OZziUuDDJfCXQhZtjk7iylZNeYoZO2j427+k24p2s41E9m72GW8Zv9wC8qkSvVzXNHrkV3dt5G37ipp4CcZlVOoI8NbHYJrz07M/NErX3yHZ2Int0CKYurJYNjcdg16a4qijylEkiJqwzDTIPgTqXqEc540oI1W3PI5T799P1vpAikTrc8smtEruWKhE8EdhfGKf2td7gt535YweXEh3wObJd4h2tzDsP5T1XOayq/u2ApQRE50z3qUg5gZs0yO4pY/sJJFoeuDXxFvSV/3w/rh0kTWm2q0cpO7+nmCMPj5ZOPGP67r4RMCHwL9iymZod7uZk3wElEmWYZPVn7d85Zjb5zkipbvUTia5M759EiEUEJt38wup0qmWHcdCUUdQUxpV9qeNJD5v+H+LekWCl8iQN/GAgLdeZUEQ1XrI9kK24aprT0k+4MgZmm4RquZc6S2ASPgzjRCQR+2XDCaZ8FylDZDYSekDj+abpHvJGW/bxUnWatfRyW8SER3TtCABJmpiyfl5DFVLj0e3YCn8WUfOj5hqb7 i2YlMOkD WKMqSilRfrz4Sx1oDpk7Jg+JFC2lqOHdli8sNwkaVoLOlwViQe1BG3ZCtWiZs5WrPAujopUbgMNuX/SGCUhqty0uOjhHVMRVJdmAYO8uPU8H0Y/TlorXMp+0+KqFo/njt/XyR0re5SoLJ892hW83J7Pp01HyeGOBuBc7tsdqiP/iU43HK7w3K/GDw69bj3unEMSWHoskbjCPsyxcXxlJGxnXTWHm/YkZSnJo371vzKWfCPc7crFGLmBSjuKPB3KL6J4Ym+hjDfJvdFsuWLkR8aHXgoTMZIr3zWTWk0Ql+61uVkOrpObt8I+a+TQpP+CBX5WQsom0oJ2YUzsx86ZYTOkZcVTXlHf4LTAE67zfnKntdKmZ53sVQVT4vRxBvCjhQ9O2A76BMJrr55qgihLLSMydke5/3gLfIDdiPqEMpSSjcdalUuoQABPEqC2UoS8ZSeragKDyZUjg022Vr6+4/0QZA/v+xzNUGQTTY X-Bogosity: Ham, tests=bogofilter, spamicity=0.000148, 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 24/08/2024 02:55, Christophe JAILLET wrote: > 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? > There was quite a long discussion [1] on this in v5 of the series, and we settled no kvmalloc_array in the end. I think best to leave it as it is at kvmalloc_array. Thanks [1] https://lore.kernel.org/all/159061bc-27b5-4127-a85d-223bed0ddfd5@gmail.com/