Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3263087pxk; Mon, 28 Sep 2020 12:38:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxwvb7K609xplS/gF+lJN1FN6Sjw/sEbpuYjCr08uRP/4Pu84nKdOO5IGab/OI+xeGVbBIG X-Received: by 2002:a50:875b:: with SMTP id 27mr3541858edv.117.1601321922377; Mon, 28 Sep 2020 12:38:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601321922; cv=none; d=google.com; s=arc-20160816; b=EabH5YS3PsEEXYCxPbBq7hIiMZAZH9ZzOHrNNtMSOU7fyjnMcRK2tNt1Vhizc78WIS VkQKrIHqK4yEKrDcCBBd1RtCC86AR0w/QYZCPpJDLv+pd9eCYAWIk481ejyf/atf1V4e d7cBaimoDT0O5BGSocpcCqDrfPFHAEvILwsPzuLqTrwybCe1lvVMz/rAgUn13HL5bOw0 3P+3OrD5AD7e84vwiyIZq4sb/F1WlIai4dBVnEVAGO5RCdZyXJTWG2I/D4UKK8iQ0mjU srdk+gJXwwaMqQVeISG4eJ+tf1ubNUPic/tJDv/eam4W6ZYvFy07sUZZs/rNQeYeu7Lr YBWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=SVVt673+CBkGesVVi65p5GK+Sq59pADfZtIFLQRkELk=; b=zbHqzHf6szlQBSjmNJ3jlz0zlwXRFcS2lpS2/N5g/4fYsnJ93Fs3BvloLd3aSTBZku IeMOm8Fqwf5SPi6edaE4o7uMD+TMKGEPoGxW3AVYwgRs3DEsFDJ+r0QSo8WACzx1B2Tc XhA0TCe/dycCxVjWVI7dOCRcd14S3qs42mMnl2vmfPmg7QzpcIBeDsZNukkYI2nP6Cym khyTXqCGNek9JqZcmaDxeVCZM+tn6hAneJ1thNxeolOx0M1GIs+BEiW+G3IdoAD86g2T YlWnqaEiXmUp+5wDDPbtA2b8hDdmlJ4mGgKUTVbrLgccjQTWfyi17CFhaD12SRowvCEC oizQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=Cv+Rj1qL; 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 t17si1408927ejs.679.2020.09.28.12.38.20; Mon, 28 Sep 2020 12:38:42 -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=pass header.i=@infradead.org header.s=casper.20170209 header.b=Cv+Rj1qL; 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 S1726610AbgI1Teu (ORCPT + 99 others); Mon, 28 Sep 2020 15:34:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726424AbgI1Tet (ORCPT ); Mon, 28 Sep 2020 15:34:49 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74357C061755 for ; Mon, 28 Sep 2020 12:34:49 -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=SVVt673+CBkGesVVi65p5GK+Sq59pADfZtIFLQRkELk=; b=Cv+Rj1qLsnkTaY0gvf9+w2C0zN cVDHFG5u7qrRWH09Cp32Tq9UcKn7U83LtfNGDSF006MUjyfYS0wzwBUvcdlVWLfcTvsAfM30B2MFR ijmE+RRx3Wju2QhRkK+9B429YGjbBAVQuoD82U+3hk1fZjcdEqmuiP/TPjimSmtwQEcb9x6l1XTWH 7mVw5wvXVOtAVF21Lc0mizlOrUJklkjZnqiuXUAPS9OzbaZsUrCRi7m9SwrHpnRrzcFqryytiTHo+ KOTq8n0rf52XtvufFETht3VnUQiwUUCxXyoezKKdKddc9/Gukgjkpvfomi7rogne901Gp0JBWKiGX 9ct8p21g==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1kMyuq-0007rD-RF; Mon, 28 Sep 2020 19:34:29 +0000 Date: Mon, 28 Sep 2020 20:34:28 +0100 From: Matthew Wilcox To: Zi Yan Cc: linux-mm@kvack.org, "Kirill A . Shutemov" , Roman Gushchin , Rik van Riel , Shakeel Butt , Yang Shi , Jason Gunthorpe , Mike Kravetz , Michal Hocko , David Hildenbrand , William Kucharski , Andrea Arcangeli , John Hubbard , David Nellans , linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH v2 03/30] mm: thp: use single linked list for THP page table page deposit. Message-ID: <20200928193428.GB30994@casper.infradead.org> References: <20200928175428.4110504-1-zi.yan@sent.com> <20200928175428.4110504-4-zi.yan@sent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200928175428.4110504-4-zi.yan@sent.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 28, 2020 at 01:54:01PM -0400, Zi Yan wrote: > struct { /* Page table pages */ > - unsigned long _pt_pad_1; /* compound_head */ > - pgtable_t pmd_huge_pte; /* protected by page->ptl */ > + struct llist_head deposit_head; /* pgtable deposit list head */ > + struct llist_node deposit_node; /* pgtable deposit list node */ If you're going to use two pointers anyway, you might as well use a list_head. But I don't think you need to; you could either use a union of these or you could use the page_address() of the page to store as much information as you like!