Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3041421ybt; Sat, 4 Jul 2020 04:45:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxay+HlrbNOsXhJ0rcYq3KpjBviQ83TJaYxzbIQ8fM8DDLqek0X6txtOu0nqhgPLTmwFsB X-Received: by 2002:a17:906:1491:: with SMTP id x17mr37031533ejc.416.1593863137941; Sat, 04 Jul 2020 04:45:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593863137; cv=none; d=google.com; s=arc-20160816; b=aMgW/ed59NZ+Zo1TdGQyCGpcTNq56wOxLhjv67XKw7PlxA15y7PE4p5HcENIay9Gpj YimHnhZdBuq7Zv4e/vklkYb23efJFH0iNAXekK2PvQjQoi8QLBP5K112v7peS0p9OQPU rrCXu/ab7aFFOIJ4emDOTk1STsHIM7mb6ATzCq8KCC8hlz1Mjg3NcjfdsHPL/zXilefN Pm11YTh2Yu0DqVi8Dm+zzpFPuc/YQKEl4fA7hNAdz3rfGZxyIHpZvzAgbBxExtA4PBTx wfh0HZr8lXcjkMxL/z+CQTzss8NvlbMX71ZDI7J2adGG5k7hx0AwKVbz9VmP7jxFKHR+ 4v2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=MXpoH39hkfx8lgKVBovhjF5ANO4ljnFW8iWeu9q4FtE=; b=i3xMrC1pEBuQo5N4GbRAfi+xbxL/7rzvNLMRBqfl7bW/BMMkewBM1/N9+eLjFWIJBp HAYZX6JuiNO5OYXpEJ/bP0MJVEzsIYMCEeEYeRrwmj6Apg+oiS+6tg6DBHmfflhYOHTJ 2D75CHH+HmoXlYRmQiANGjovrV1Tojh8VwHSGhi11yPmpJXI2a4AZxUQSNNDIVBgkx+X f8bhR90PtBNklJTP7ZWS/QkcrxrR9ZFZj8fSo15Z6meyNG4/1LdZ4LCX3yJX8xAkYGVu XOhOquTZAuLu+p4EMn9ou4EHP6Ojt9u9OKt973LKmrhuTRmJV+l2A/dW8YFqLgnnVLDd 2j5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b="iP6/CNSC"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h23si9423168edv.18.2020.07.04.04.45.15; Sat, 04 Jul 2020 04:45:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b="iP6/CNSC"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727819AbgGDLmj (ORCPT + 99 others); Sat, 4 Jul 2020 07:42:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727866AbgGDLmj (ORCPT ); Sat, 4 Jul 2020 07:42:39 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A6B4C061794; Sat, 4 Jul 2020 04:42:39 -0700 (PDT) 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=MXpoH39hkfx8lgKVBovhjF5ANO4ljnFW8iWeu9q4FtE=; b=iP6/CNSCbNXBo+C/p41wEdgqOs Jr4msbp5S/4stoYRzupozCzahdW4W5qLA9rFE/jAJGafZzoTOWq/BtD0LPnMvRdZAJXEUXzA010OC wmYNupFLw0kEnngYZDcewEmwgTgPupAdv71XGlf8Mli9TxBAj3g1tIWPIqU6Ez+Mzr9aAiNExKS4u 0qsXJLoqJ4SlS2+zhU2Orlh37xa8EOmq3xh8FAAwnSgBjB8F6fpRecx3YR4bpQWAo03LZDvzg7EzF uVwk2cwG0r3ZxLCtnYzOPq/50Uy2RS5XDCduvq5ZvNsXbvtvqqJLPEFMyhEKEOQ7cZk/omxY9Zx5R vwdW2zOQ==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrgWG-0007pl-O0; Sat, 04 Jul 2020 11:39:44 +0000 Date: Sat, 4 Jul 2020 12:39:44 +0100 From: Matthew Wilcox To: Alex Shi Cc: Konstantin Khlebnikov , Andrew Morton , Mel Gorman , Tejun Heo , Hugh Dickins , =?utf-8?B?0JrQvtC90YHRgtCw0L3RgtC40L0g0KXQu9C10LHQvdC40LrQvtCy?= , daniel.m.jordan@oracle.com, yang.shi@linux.alibaba.com, Johannes Weiner , lkp@intel.com, linux-mm@kvack.org, Linux Kernel Mailing List , Cgroups , shakeelb@google.com, Joonsoo Kim , richard.weiyang@gmail.com Subject: Re: [PATCH v14 15/20] mm/swap: serialize memcg changes during pagevec_lru_move_fn Message-ID: <20200704113944.GN25523@casper.infradead.org> References: <1593752873-4493-1-git-send-email-alex.shi@linux.alibaba.com> <1593752873-4493-16-git-send-email-alex.shi@linux.alibaba.com> <56e395c6-81e7-7163-0d4f-42b91573289f@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56e395c6-81e7-7163-0d4f-42b91573289f@linux.alibaba.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 04, 2020 at 07:34:59PM +0800, Alex Shi wrote: > That's a great idea! Guess what the new struct we need would be like this? > I like to try this. :) > > > diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h > index 081d934eda64..d62778c8c184 100644 > --- a/include/linux/pagevec.h > +++ b/include/linux/pagevec.h > @@ -20,7 +20,7 @@ > struct pagevec { > unsigned char nr; > bool percpu_pvec_drained; > - struct page *pages[PAGEVEC_SIZE]; > + struct list_head veclist; > }; pagevecs are used not just for LRU. If you want to use a list_head for LRU then define a new structure.