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=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 0B9B9C83003 for ; Wed, 29 Apr 2020 12:53:45 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C00D12082E for ; Wed, 29 Apr 2020 12:53:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="rR8i7Yuh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C00D12082E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 475F88E000C; Wed, 29 Apr 2020 08:53:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 427188E0001; Wed, 29 Apr 2020 08:53:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33C0E8E000C; Wed, 29 Apr 2020 08:53:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0088.hostedemail.com [216.40.44.88]) by kanga.kvack.org (Postfix) with ESMTP id 19C2F8E0001 for ; Wed, 29 Apr 2020 08:53:44 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id D1529181AC9C6 for ; Wed, 29 Apr 2020 12:53:43 +0000 (UTC) X-FDA: 76760884326.27.sense99_77d4db195992d X-HE-Tag: sense99_77d4db195992d X-Filterd-Recvd-Size: 3183 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf32.hostedemail.com (Postfix) with ESMTP for ; Wed, 29 Apr 2020 12:53:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.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=uNki6MLM9DcEC3Z6w0/BdO3E8oDPkiulVgaVGz6CEjA=; b=rR8i7Yuho3v8Xo9oVTGli9rVu9 Jz34o2MyuO9n3Y7GQP9UTU/qq2SvL3vXOAKUiLRv8a4GAvaovtN4A022s0iNsME3XwtZaYMp33E+9 gumxm8EdWWYbFcacSyNuZVPeJTTX1MJBeqA7UwqgIInWyt7QRXedZk/sDJENU4ZQJ1gAy888djzl5 Jh9E5hYF6YCh5zEPhXv6fuROU+5Dd5ACbWOIesC9snKyCPZpNOo5v9SG3WNUXVSMDDkpr8ANu9uGg 7H0EIj6Es5jQrhs3tVJrjMfiAnBAxzK4rHlkJVBz06+D9wgq5WQpWmwpuYO7942aWU4uXZqcm+H0F BbI5RfQA==; Received: from willy by bombadil.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTmDc-000427-9q; Wed, 29 Apr 2020 12:53:40 +0000 Date: Wed, 29 Apr 2020 05:53:40 -0700 From: Matthew Wilcox To: Geert Uytterhoeven Cc: Linux MM , Linux Kernel Mailing List , Linux ARM , Will Deacon , Catalin Marinas , Russell King , linux-m68k Subject: Re: [PATCH 2/7] mm: Move pt_mm within struct page Message-ID: <20200429125340.GR29705@bombadil.infradead.org> References: <20200428194449.22615-1-willy@infradead.org> <20200428194449.22615-3-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Wed, Apr 29, 2020 at 09:34:02AM +0200, Geert Uytterhoeven wrote: > > +++ b/include/linux/mm_types.h > > @@ -149,11 +149,8 @@ struct page { > > pgtable_t pmd_huge_pte; > > }; > > }; > > - unsigned long _pt_pad_2; /* mapping */ > > - union { > > - struct mm_struct *pt_mm; /* x86 pgds only */ > > - atomic_t pt_frag_refcount; /* powerpc */ > > - }; > > + struct mm_struct *pt_mm; > > + atomic_t pt_frag_refcount; /* powerpc */ > > So here is now an implicit hole on 64-bit platforms, right? > Do we have any where alignof(long) != 8? There's an implicit hole if someone's turned on spinlock debugging and has split pagetable locks. Without the need to allocate the spinlock separately, the ptl will actually move from the same word as 'private' to the same word as 'index', freeing up 'private' entirely. I don't intend to depend on that, but it's not quite as critical to line up the various members of struct page as it used to be.