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 5CE7ACD4F4C for ; Wed, 4 Sep 2024 23:57:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E18746B02B7; Wed, 4 Sep 2024 19:57:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DCA456B02BA; Wed, 4 Sep 2024 19:57:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C68726B02BB; Wed, 4 Sep 2024 19:57:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id A666C6B02B7 for ; Wed, 4 Sep 2024 19:57:51 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 593001C6430 for ; Wed, 4 Sep 2024 23:57:51 +0000 (UTC) X-FDA: 82528721142.15.68A5D51 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf08.hostedemail.com (Postfix) with ESMTP id 940C8160016 for ; Wed, 4 Sep 2024 23:57:49 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=00VJ9cff; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725494245; a=rsa-sha256; cv=none; b=I6YFad9Rv6HLsLhT2rvmR22cWQLDMfonbh7kglKlWigIxaymFz5kcdcNQS6MxZ5p+5SxH6 so0QUPbL/qPZGGJ9863+vJkPX6xWVs1Vc46YB7bIa8+pujoKGdaopW3tBbi2QOrGoiLXpO KwN8I7lDW1p1qwUB7R/+HwJ/lma938Q= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=00VJ9cff; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf08.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725494245; 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=y8ZJW6l094aIiV5gOLaCE7Yvrp37WDmLBURL80lG+eo=; b=Llo9Sp4yspLfEvSdVo/HVu08bUJoCqCfHewlmGRD12FJywZFmpeW05OZ1n7YeC1nYz3mF+ vf38FjzMFcMd7l68BOVkCUTjEUqo+d2LRhCpD6QjeROBImnYBcFCrG8RChtZCgsgThJCHx N4W7QYJp6QFsirSaleDDrx50Izdehqs= Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a83597ce5beso28174666b.1 for ; Wed, 04 Sep 2024 16:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1725494268; x=1726099068; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=y8ZJW6l094aIiV5gOLaCE7Yvrp37WDmLBURL80lG+eo=; b=00VJ9cfft/7hjY1XG9SuMM3aQ1bejtkB2xUcZG4zoPmJ2/s4gxVlBZDkiiQlP0hFe6 0bcg/HnHmgvoWuKZj6iiCNB+lug7tlV7eGry69NB7jFqf07EbfYQ1Q+SyqgW5xvFG8st HgJMkCtPiIsdKKdtOfAOnj0ttUYXdSAsJMiuS/xH4iI0vzeelrom6XUdaQXwX0oPNO86 FR75/C32eVr0GV6xW4l/I+eYm6beXDx4I3dqNw2DC2YEVQW7bjFmCFK47SGjTMAFodCH h9SKSyEUM47E5/5k4msVxHMUU4UIokF5jfZlNpMuR3Wx8FdmW3mv77t6rbmtknKNT7dT d9cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725494268; x=1726099068; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=y8ZJW6l094aIiV5gOLaCE7Yvrp37WDmLBURL80lG+eo=; b=TkTktjsRwWPpVfELEGGhmIDyKUGXCgLtv+jTdOZwU3d8xtDug2TbU4Vg0T6nts/3ly wwPAH5mR9vLQe9odTmKKjXHIwK883u6Gs8eyeKIVytg8CxYA+LtHlda0Z7lD2MWLY5OO qFd97Ow32/ZNYavnGOau7l8TFsEIKAskWlypGe/CuM1vLf700l/k0OYCc2PKSZvhMp7D oDYCwXk5EZ0U8NxjtpGmoPmkdkKXbK2SCEAcsqOlY8o6tqx9TPL+REyl6x62KNkwVE29 D0WwkthWIdmO4rgH6OPvrW0r6pQ+hzcy8qsrLjUsjxrBWX5oyD2CbdwgWvWc9F3pr6D6 V4Dg== X-Forwarded-Encrypted: i=1; AJvYcCW2rggIygA9lBDTOj24AsxRsQDvdhDk9ZFMEn28WZGGimbN7a83UASILfweE/Ylq0DBTwEi6usQGQ==@kvack.org X-Gm-Message-State: AOJu0YyQjnZwYUViBZ8sWGTE/R1R28b90F/0RHEKaZljewquQnJnZAom lzdxVJIN5wenCs9YQlYX4/QAOpHu1gQ8WScXy3EPIIbrK45nZnA0owdnkIsUEuUaGDEDHwjcXUh IVMOWKEratRwTgAY+oxsqj2QfyjcqBvzYcofh X-Google-Smtp-Source: AGHT+IE8n5yLzMt4PoToeLL8C5v5HHD1neima1v8XmZ17YvM9ylAhwJazzd0NWfB2mAJWUMNuNTd0FEwSjyHV5NKrbY= X-Received: by 2002:a17:907:1c26:b0:a77:ca3b:996c with SMTP id a640c23a62f3a-a8a430b4a6amr371424066b.16.1725494267571; Wed, 04 Sep 2024 16:57:47 -0700 (PDT) MIME-Version: 1.0 References: <20240612124750.2220726-2-usamaarif642@gmail.com> <20240904055522.2376-1-21cnbao@gmail.com> <7a91ff31-1f56-4d0c-a4a7-a305331ba97a@gmail.com> In-Reply-To: From: Yosry Ahmed Date: Wed, 4 Sep 2024 16:57:11 -0700 Message-ID: Subject: Re: [PATCH v4 1/2] mm: store zero pages to be swapped out in a bitmap To: Barry Song <21cnbao@gmail.com> Cc: Usama Arif , akpm@linux-foundation.org, chengming.zhou@linux.dev, david@redhat.com, hannes@cmpxchg.org, hughd@google.com, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nphamcs@gmail.com, shakeel.butt@linux.dev, willy@infradead.org, ying.huang@intel.com, hanchuanhua@oppo.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 940C8160016 X-Rspamd-Server: rspam01 X-Stat-Signature: k77tm7arxpitsbmsxfh15kh9j4xryygu X-HE-Tag: 1725494269-464757 X-HE-Meta: U2FsdGVkX18pv50aFJGYWb9meTeK2Xu878EBEPJF05nB5RNFeWrfgjuAbMqmOVx7HsglrTz1qcRs5EoE/KBpYVAHhbBxiTHmP7E5A//OCcjBzwK5Mak/wvRWR+nJ/nDWkhEs+bwMkP152ghNKl7g9GtNtLRMJqrHZOGtyxisfRLeDi5Sf0jAOZRvhDPNpO+TTbIjLFvcyi1iyAKYB+SDBxq/C5+ZJnjmr5dohQ5GT84nh2XhA/U1XBah/RIVzsU1H0fEvB/A0wKJZyKDWZkcV6uTURdgFBIKgqasskmZ9SKrBknJjed/f93pb7ffOVFdNejw8T3Nn6HXqETWnZV+++CRdqpxDfqJRVTMvMRvS57xU1gFY+VqpsT4khuBGgpYeg1DMeprG6uKlAMAk9RtAFQ1ALto55vg8YyAB9whP4+l1jRTk1NSLdy/3oZCWssLRK8CLtb05bRBPtLl9usqlaTAJU5OR2xVh+l8Nte4n427+7EGtiOcALaTa6HWXu7BK0rEmtMcsDiOtSpJECoLwacJVqwVLNXYgrPO5DeqK4QfYVLEu6/k4AstGVqc0KtLQSoqiJeR7tEEW8W8+bUvFZSs1z11HnJD/NIdNERX+Nufi/aB7JPHmghtOwu9AoMFSQXwY/cjbJVQcUwQWYqfRJAVRKBz6gJwRvPtj9lhFPT8hdxjmd2cHKRIq/A2dEy0Ost45Xwt74gVlS8gqOirz3Xi2QMnQglRTh+fnD81vtQdflfkj+WBea+pcccZSZ7giu8LdUCvQBunL6N3k0I8Woo2TNFh8NBe9EYUjX5UnhErC4zrzFLgtwacQh9Cw1ONbfSCDKlXS5Q90UeyZ+/z3wGe8ZX8Kil+t+jQLn6nm4iWLKEVpYP7feTfQIyEtdAgk8RCpA4iFD3E2fy4Qms7gjqRP+L7Wf0YaYd6mfWC9Egwmn7fgpx6hzOjcPvHgYjkvJW/KeomyFqlX13w17f A7k+66Nv 86s0LkBtQDR2EYUdxo+kC7senpucrZdtXjjwPkj9N7WG5P1QS9cOx9i37lqlLOKihJk/uFKVqSwgVjDCgo9kpMI6DpNwm/2UbwbDlAxfkrtqMWlWdBlGdsnk2RljjVbYHurdFDQM3wjv8/z91e0V97ALNMvI5t8lysb3b3YTk0H48TWNHUOsN3eNRvkKFFDrYn1yd X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: [..] > well. i feel i have a much cheaper way to implement this, which > can entirely iteration even in your original code: > > +/* > + * Return the number of entries which are zero-filled according to > + * swap_info_struct->zeromap. It isn't precise if the return value > + * is 1 for nr > 1. In this case, it means entries have inconsistent > + * zeromap. > + */ > +static inline unsigned int swap_zeromap_entries_count(swp_entry_t > entry, int nr) FWIW I am not really a fan of the count() function not returning an actual count. I think an enum with three states is more appropriate here, and renaming the function to swap_zeromap_entries_check() or similar. > +{ > + struct swap_info_struct *sis = swp_swap_info(entry); > + unsigned long start = swp_offset(entry); > + unsigned long end = start + nr; > + unsigned long idx = 0; > + > + idx = find_next_bit(sis->zeromap, end, start); > + if (idx == end) > + return 0; > + if (idx > start) > + return 1; > + return nr; > +} > + > >