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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 453DCC433F5 for ; Fri, 8 Oct 2021 14:17:43 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D71BF61073 for ; Fri, 8 Oct 2021 14:17:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D71BF61073 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 57B256B0072; Fri, 8 Oct 2021 10:17:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 52ADA6B0073; Fri, 8 Oct 2021 10:17:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4199B900002; Fri, 8 Oct 2021 10:17:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0235.hostedemail.com [216.40.44.235]) by kanga.kvack.org (Postfix) with ESMTP id 32DC06B0072 for ; Fri, 8 Oct 2021 10:17:42 -0400 (EDT) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id EA6893949A for ; Fri, 8 Oct 2021 14:17:41 +0000 (UTC) X-FDA: 78673473522.13.D7DB7A4 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf23.hostedemail.com (Postfix) with ESMTP id 889DE9000AA4 for ; Fri, 8 Oct 2021 14:17:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=YCLCraNpJQopiImw5TcsXBoafdL7BcjfipkPlCfzlkg=; b=eRE5gRsvKuM1D1DasQG2Z7nq3S /u3YTf6hFL2Zju02FZ05H3bFRegRzqCjEP6Ed8daYVtcNqRud7SunJzVnxyL1EoJ6AfFVbCpqVDnf y4reX0allRGNPb2kH21tnsnRKU0jpMtOa/HkXAvK4hF3pw9WWWfERfGbBsSSd2IN4qJyqIcgq+pVt ll5hMrsD8xzmGDQ4AnAud5PtCPmcD81hiR7OyqF+NydWhHbmTk688WD2mFnZEk7AzyguFNYEGuN4P XuRAzTs8jvwu09qNqR6b+uvXERjNlDlduq9ZswjOI+l06v+0YeOGA79iZbZWpQrvX7HxYMIJsPgTZ 2cKWJfhQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYqgU-003ITa-Qn; Fri, 08 Oct 2021 14:17:17 +0000 Date: Fri, 8 Oct 2021 15:17:14 +0100 From: Matthew Wilcox To: Andrew Morton Cc: Mel Gorman , linux-mm@kvack.org, linux-kernel@vger.kernel.org, anthony.yznaga@oracle.com Subject: Re: [PATCH v2] mm: Optimise put_pages_list() Message-ID: References: <20211007192138.561673-1-willy@infradead.org> <20211007123109.6a49c7c625e414acf7546c89@linux-foundation.org> <20211007163554.d9088a65f0e293e2bd906a56@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211007163554.d9088a65f0e293e2bd906a56@linux-foundation.org> X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 889DE9000AA4 X-Stat-Signature: qw1r4x5rdgbyg8oeusxhnj1s6hugbix5 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=eRE5gRsv; spf=none (imf23.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-HE-Tag: 1633702661-353247 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 Thu, Oct 07, 2021 at 04:35:54PM -0700, Andrew Morton wrote: > On Thu, 7 Oct 2021 21:55:21 +0100 Matthew Wilcox wrote: > > My first response is an appeal to authority -- release_pages() does > > this same thing. Only it takes an array, constructs a list and passes > > that to put_unref_page_list(). So if that's slower (and lists _are_ > > slower than arrays), we should have a put_unref_page_array(). > > And put_unref_page_list() does two passes across the list! > > > > Here is my beautiful release_pages(), as disrtibuted in linux-2.5.33: I think that looks much better! > I guess the current version is some commentary on the aging process? I blame the guy who sent cc59850ef940 to Linus back in 2011 ... I think Anthony was going to look into this and perhaps revert us to a pagevec_free() interface.