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 X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C609BC4708F for ; Wed, 2 Jun 2021 03:19:15 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3EC17613C5 for ; Wed, 2 Jun 2021 03:19:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EC17613C5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id B3AAB6B006C; Tue, 1 Jun 2021 23:19:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AEB736B006E; Tue, 1 Jun 2021 23:19:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 98C3A6B0070; Tue, 1 Jun 2021 23:19:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0217.hostedemail.com [216.40.44.217]) by kanga.kvack.org (Postfix) with ESMTP id 681AA6B006C for ; Tue, 1 Jun 2021 23:19:14 -0400 (EDT) Received: from smtpin32.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 02939BBEA for ; Wed, 2 Jun 2021 03:19:13 +0000 (UTC) X-FDA: 78207327828.32.B9EC94C Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf15.hostedemail.com (Postfix) with ESMTP id 3B333A000254 for ; Wed, 2 Jun 2021 03:19:06 +0000 (UTC) Received: by mail-lf1-f50.google.com with SMTP id b18so1030068lfv.11 for ; Tue, 01 Jun 2021 20:19:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=r/zWmzR0Uw8QrtnlcpwUmwYP/OScyryb/Sf1j0emqwg=; b=SsECy9lobUU8r8wKfxNiZRL2vW9bwzGqVFMzpdTKmkOrs80r2ixuRUvKnSf39X8ZJ7 /bmQdGbqnckxAwQQpztZtvI6Byphk5K/ZkdikURvwRNL+Ix0bVk/KrUBDQFELRbPWZgO uIPRHzOJm2ARnkQVoO3gRPovpAaRqx2bC6eos= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=r/zWmzR0Uw8QrtnlcpwUmwYP/OScyryb/Sf1j0emqwg=; b=TMIdH+27SpvQkzafnALsuvB1ltMEJOlsuLZmBIbCiDADB9nz4LpGeXyXDHa95SpNmt wmeJJVYKYH2fsPwVKBn0y3h4zXdwFHSKAKbFsgjhRvYBiQzm5c4DixTcoTwTc6EokTi/ 12DrHgocFdV1dj8paSU3NdH3uINmPjxYpXuH5Q+LCv76C6DfXAOtKrfODvCsdAgpblH6 Qs3MwjwBcss7Y6l6375Pmr36FO38bcOdUVGNbzgzTOF6qMqmB5Wekln7UYE2Rg/MCUWQ XO9fQx6HHUAJbrA6zUQqn495bm2BHlZMyuC3bga+WFiwSJOJBEeUBdxkSiSslge5HYvP BjWA== X-Gm-Message-State: AOAM532GNkO34M+GBH7QNKU+3+RNIFIXkXqPRo3mjQ2RA7qpL0sXpaZo J4fgGUa8VtwqblFnpXwltBhGm4/UzB9XFBhnQ+4= X-Google-Smtp-Source: ABdhPJwSMS4eVClUjlHbiqVpjDBwWxMxqpaP6M1kgKjjnx8TRPWiQnhU8m2VlrvTJObZZl/R1M01nw== X-Received: by 2002:ac2:5f7a:: with SMTP id c26mr16565571lfc.603.1622603951689; Tue, 01 Jun 2021 20:19:11 -0700 (PDT) Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com. [209.85.208.175]) by smtp.gmail.com with ESMTPSA id n3sm245961lji.65.2021.06.01.20.19.10 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Jun 2021 20:19:10 -0700 (PDT) Received: by mail-lj1-f175.google.com with SMTP id e2so733688ljk.4 for ; Tue, 01 Jun 2021 20:19:10 -0700 (PDT) X-Received: by 2002:a2e:b60d:: with SMTP id r13mr1816032ljn.220.1622603949840; Tue, 01 Jun 2021 20:19:09 -0700 (PDT) MIME-Version: 1.0 References: <20210601053143.1380078-1-ying.huang@intel.com> In-Reply-To: From: Linus Torvalds Date: Tue, 1 Jun 2021 17:18:54 -1000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] mm: free idle swap cache page after COW To: Johannes Weiner Cc: Matthew Wilcox , Huang Ying , Andrew Morton , Linux-MM , Linux Kernel Mailing List , Peter Xu , Hugh Dickins , Mel Gorman , Rik van Riel , Andrea Arcangeli , Michal Hocko , Dave Hansen , Tim Chen Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=SsECy9lo; spf=pass (imf15.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.50 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 3B333A000254 X-Stat-Signature: nu7nxuh59k7eosz751acqd71516a5ydf X-HE-Tag: 1622603946-679213 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: On Tue, Jun 1, 2021 at 5:00 AM Johannes Weiner wrote: > > It's free_page[s]_and_swap_cache() we should reconsider, IMO. > > free_swap_cache() makes for a clean API function that does one thing, > and does it right. free_page_and_swap_cache() combines two independent > operations, which has the habit of accumulating special case-handling > for some callers that is unncessary overhead for others (Abstraction > Inversion anti-pattern). Agreed. That "free_page_and_swap_cache()" function is odd. Much better written as free_swap_cache(); free_page(); because there's no real advantage to try to merge the two. It's not like the merged function can actually do any optimization based on the merging, it just does the above anyway - except it then has that extra odd huge_zero_page test that makes no sense what-so-ever. So if anything we should try to get rid of uses of that odd free_page_and_swap_cache() thing. But it's not exactly urgent. Linus Linus