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 6020FC4345F for ; Fri, 3 May 2024 20:37:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B08206B0098; Fri, 3 May 2024 16:37:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB86F6B009A; Fri, 3 May 2024 16:37:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97F446B009B; Fri, 3 May 2024 16:37:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 7B2316B0098 for ; Fri, 3 May 2024 16:37:23 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 19506C0585 for ; Fri, 3 May 2024 20:37:23 +0000 (UTC) X-FDA: 82078244766.23.5E67E8B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id 2546BC000D for ; Fri, 3 May 2024 20:37:20 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=EsqdJ6Oc; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714768641; 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=oCRyRt1bfDa4/NS27EaMJXqhiwT7fzju5HCCNKSsYY0=; b=5EP2IOAcSpcrx/qsEXqiztJa6gv5fvy4WNog9Bxsn2xOYERM+squm/cb0m8tf3ZR2jZaqd 0av5M5K9XpNcis9fac7QaUuYt7WiFuE+ABKq6H9B2Zaca6yl4O9Y3LomFMETguPjYEgzJN EyE+JgBsREPuB1Ibi9SVNq0s4cLFxBw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714768641; a=rsa-sha256; cv=none; b=WSsYogmeZZrO0wfj8+xuocodU5peO6YEXgHTGeXE4Hlnv6eUfMj8PtRWegtuN7WFe5rZ7X 79Uaner0vz92aRSM+TfNLCgTQGKvCGRvEYnln0TOU82i/bkrsVNTVkYI4dHR4QJ+lLnh27 Zn474/EQQ9dtH4HXv2XRB1BbFVY6O7M= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=EsqdJ6Oc; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 40D1461E37 for ; Fri, 3 May 2024 20:37:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3207EC4AF51 for ; Fri, 3 May 2024 20:37:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1714768639; bh=Ro+9bsKaVb7uKrUgAz6odmTDr5TLuTDADOERyWJUfzo=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=EsqdJ6OcJWETWUhpCwpMA7kVhcwZbo4QGKsPZtOs9q7uO3/eGBBBCWZKREVzl4RIK hdAiCBv1k9GwUDF4nK0yl6Qwwr0GnMu7WtEcF/WYH00xkIr5jlvxoDXKdqlfOSCN9V XUaxC4s/2EMuszcHyJxbBP5SWt2UHBHOf41LJqsYJzcWS4impzbgs9NahTZuFGDI08 90zPJ5xsZ4PxCL807Y4t6UPj//c+N3fpOcxH8ImzjStW3kzck2w6W04G39nB+sQyjW qHWKENAVkMtKy42gzCGJs+1fSuJsLhRRU7qjmW64MDaB8Yzyz6LkrNyPqJ7DAIMaIJ ggBwULvOxCwTw== Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2db17e8767cso901591fa.3 for ; Fri, 03 May 2024 13:37:19 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCU6gtBmM+pF21EJ1cUyCKW4Ugm4UmCdhVbNi5xI5GQqSol4cBwjED7V0av4Kme1uKMOf9yJNkbplbmrpE9F+c3V1V8= X-Gm-Message-State: AOJu0YwCecdl6CCePoB9TYS+SH0LqV+koduevy/BS6oAjddhtEE5YPj7 OnE4Ymzld5AcJa2w1RYrWDL3HTM90R97cea98wn1MWRRuEHs4PAGi5938QfLNDn/AQ3iiwmIGPR 0sW0i/93nOAAMTaDX30/VRgRWMA== X-Google-Smtp-Source: AGHT+IEU6kJH3Hj6GBk7ZMK9MNzSJ/pnpqC7ouSpGxATXAjHjv95yzliu3RZvgHmJZWZt8RFNmPRaERLowg9znSoslg= X-Received: by 2002:a2e:9d19:0:b0:2e1:eb27:3513 with SMTP id t25-20020a2e9d19000000b002e1eb273513mr2443272lji.52.1714768637832; Fri, 03 May 2024 13:37:17 -0700 (PDT) MIME-Version: 1.0 References: <20240503005023.174597-1-21cnbao@gmail.com> <20240503005023.174597-3-21cnbao@gmail.com> In-Reply-To: From: Chris Li Date: Fri, 3 May 2024 13:37:06 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 2/6] mm: remove swap_free() and always use swap_free_nr() To: Ryan Roberts Cc: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, david@redhat.com, hanchuanhua@oppo.com, hannes@cmpxchg.org, hughd@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com, yuzhao@google.com, ziy@nvidia.com, "Rafael J. Wysocki" , Pavel Machek , Len Brown Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2546BC000D X-Stat-Signature: fimbididorq87hwbifmp31hhmi8gfog5 X-Rspam-User: X-HE-Tag: 1714768640-894912 X-HE-Meta: U2FsdGVkX18scN6kPIDi4qjCdhDlR6THiLzQlO/LM3DGz1c28RnLsaMB0TcNSlKyn0YxuJiRRNUDEr1h+IBwPdy+bXIvDeS1hQYsdUsMTtQ0id4zVqJVyoJyG4+JVdqERZrFFYMWRqCEMiYoMsEAMbgl3ZNs63eeWR3WuX0H3dc56n9wc2aUWwWlP5FgHArwUE7Qu+G2JSPMuvAgePXqqpwn825nFzhBlHKfjCU+gLCWBuEmjKlzXHq3qjX4DrjVIbHSyDMVFlysM8KaHFGnm/bXCNbU3D4d1hvIQ3KyKYL3xJQ9Gp+mX60fSkrYrbZmzhmFsQWZ0mEP6X006yGP8U2KnJ4HSEYz9kigSrRaGzDnHEEUigBsZjXfUAfpJLoIRl590q8n8ppE9i0EFHwTu3nTo5//JvksGpT4ZzOsc12E/5OJmq5B6Cm3Bk5I4bBJLUksqCGmrwPYXJk4Yctcx1HSVzvIUSN03BptAzLrtlYH7xgGSEgFU5uygjVFKk8urbVWG56L127AF0hqXD0JqB3yXVH1pfgk9eOZIDHkC0M328x/SdqsCacA0MWpOhkKd40f0Sb+69dgetKPyKEOuQViDTrjxcR6k0Zs/bkfGUfQB6lqI5JPsNyH3u9wDRCFKX5rTPTjleTrMdRQ2tOSYN522JRtlMoFs5r9PsC+dJK5ywtimNAr0CTuDVNprsZKgHttI3A6pHmBCPCW0EoVm7zEFuU1q0h4J3Bjvd0nGSJm3oIbjdA8JLmfkCi3eMDfsV60pm2rIX8GUZqNh/XKsKUB9+kAXyr87GvvQ6NcuXV79729GfODQU9QrJP/s3qQDmGYqXPGcBr10srFrb9A2/CuNCcm8llaYMJrNjvfKvHgl1OaxQmmfoSSs4RVETujhoSXZ1cREatRGpNkx2D98X9hjl9ETJWsaDlhuZExpT3bwr6MXRy/a/N0AD6L6ZQe2X0m8tQZg5jp3konMMz PZAK2MQC tI15v7PsXCZSHObSqZeaKkwdPs8//qGx1G4zeRKgQBUsJr4K0fe6F9Ys0J4b6Ipig+1cqgol394QfoQVHIcxV+XO7s1EE6I13x5mvR2B1TSjm5eQKTx1V1LoQqNXSWEBMP0qJfVImRFpGSJqSjpsJTye2CK/TfWYASwQQYnWrHBIlKxcbFAXm3OTIntIOQfX67TL46d8STpA+n0tFIBORyrFqP+MMDIRvcDkM6rk7oGunH9yXGo5xnxMHz1XlAwvGTSQ13CoJk7lnueKI51r52gvqmTpkFtuwRppSOD7Jvf5BY6bcxBdQeshINgjUGSZTS30RoU2zFav8Qi1PlNi1fJlGSC3ulY9fzgDRUbbIjwEwlWZp5OC04S9DKAfBl83ruBphPgAL8Sdxe8Ns3bdEybwkmjXYSpynzxN45RaHs+QB0QoB9dlDMfpArrkYnqjnooaNLi37xtoEaG6BhTq6CoMcA77AnI3b/2bgzWjnaGLjuQ0= 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 Fri, May 3, 2024 at 2:31=E2=80=AFAM Ryan Roberts = wrote: > > On 03/05/2024 01:50, Barry Song wrote: > > From: Barry Song > > > > To streamline maintenance efforts, we propose discontinuing the use of > > swap_free(). Instead, we can simply invoke swap_free_nr() with nr set > > to 1. This adjustment offers the advantage of enabling batch processing > > within kernel/power/swap.c. Furthermore, swap_free_nr() is designed wit= h > > a bitmap consisting of only one long, resulting in overhead that can be > > ignored for cases where nr equals 1. > > > > Suggested-by: "Huang, Ying" > > Signed-off-by: Barry Song > > Cc: "Rafael J. Wysocki" > > Cc: Pavel Machek > > Cc: Len Brown > > Cc: Hugh Dickins > > --- > > include/linux/swap.h | 5 ----- > > kernel/power/swap.c | 7 +++---- > > mm/memory.c | 2 +- > > mm/rmap.c | 4 ++-- > > mm/shmem.c | 4 ++-- > > mm/swapfile.c | 19 +++++-------------- > > 6 files changed, 13 insertions(+), 28 deletions(-) > > > > diff --git a/include/linux/swap.h b/include/linux/swap.h > > index d1d35e92d7e9..f03cb446124e 100644 > > --- a/include/linux/swap.h > > +++ b/include/linux/swap.h > > @@ -482,7 +482,6 @@ extern int add_swap_count_continuation(swp_entry_t,= gfp_t); > > extern void swap_shmem_alloc(swp_entry_t); > > extern int swap_duplicate(swp_entry_t); > > extern int swapcache_prepare(swp_entry_t); > > -extern void swap_free(swp_entry_t); > > I wonder if it would be cleaner to: > > #define swap_free(entry) swap_free_nr((entry), 1) > > To save all the churn for the callsites that just want to pass a single e= ntry? > Either way works. It will produce the same machine code. I have a slight inclination to just drop swap_free(entry) API so that it discourages the caller to do a for loop over swap_free(). Acked-by: Chris Li Chris