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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76D88C54E67 for ; Wed, 27 Mar 2024 19:58:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C41126B0085; Wed, 27 Mar 2024 15:58:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BF0C16B0087; Wed, 27 Mar 2024 15:58:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADF6F6B0088; Wed, 27 Mar 2024 15:58:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 96BB96B0085 for ; Wed, 27 Mar 2024 15:58:51 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 56D13140989 for ; Wed, 27 Mar 2024 19:58:51 +0000 (UTC) X-FDA: 81943882062.21.382ED7F Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by imf30.hostedemail.com (Postfix) with ESMTP id 8BAB98001C for ; Wed, 27 Mar 2024 19:58:49 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=xZziSE7u; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf30.hostedemail.com: domain of surenb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711569529; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3Qfpkbf5kbLfq8llRgT5p/4WuFc6Zn4iFP/1MSmSzOc=; b=AYalVtHEfDBNRgFple49ePPOykoFzeR/yKNNTxWJ+KFKEb3CfFXsj0fmKIGi0LPFtHqTrQ /YfOBZXwQXPr/6MdZ0Q7uCcx/Xgxy6L9hnz2TTdsU1a85S8ds3M/MRgjpOdcEvxiI/F3te 5GqJ6iwbUTWmlCJvCijKrnCOH05mh8w= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=xZziSE7u; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf30.hostedemail.com: domain of surenb@google.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711569529; a=rsa-sha256; cv=none; b=GTlx5GbaZYFg/fw3K+2C7rs6JqUPOCt4LpIoI4iDemktrFIPWyS9EWRQRww33gWq14BJ4B 1PFG0RHHkolvN7Si3xmGXB/BOyQQrkCscojmbEdodpEIgUjZ9UBAwnolx6yx2IlJ7EvpND FFeTeIJW9+qSo3ybR9Fk89cY8nm1TF0= Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-ddaebc9d6c9so218548276.0 for ; Wed, 27 Mar 2024 12:58:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1711569528; x=1712174328; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3Qfpkbf5kbLfq8llRgT5p/4WuFc6Zn4iFP/1MSmSzOc=; b=xZziSE7uYvTFABpwdsJ0XrM/DfVYlyXZ9No2wZpKLwU8EtFs3qu+XPNGoAvN3ihHuY zEqwkfNr08OQTlB2LtqGRz1ymjSf/hsVP1BNFRfR/BRhd3aSOkkJTPSuggSCS6DYLVEe DJIgm3idPojzpVNNU3jq3Fbe2ReSYzkjJSSYKmSMvsUz1vgq96vMPGu/+mLZpjo4G9Zw I7yLfwsV8u6Oa3jUDKX7ejp/nDBLBFWCRzAzrnyl8olGnTolfA257qISu/WNs8gKLTW+ mvTEhIz7w0SNFl5Qdb+UdQFlDvT0NNbQY+i80d6QMtBcNKgWMJs6GeoQP6HWJkAnNcyb l8Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711569528; x=1712174328; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3Qfpkbf5kbLfq8llRgT5p/4WuFc6Zn4iFP/1MSmSzOc=; b=iRkjg6c0ni/2HBRI22xcgrJZGbSxMKU+uXPAEhxIJtuWpQrmAAbydrUVaot/W/abPK YkrYGF6lbviBvegbpTutHNEx6u/RTTSf7Mx22QMN4t5YdVC5KZYkvD+Q7jRvW+BgPz+H Ux4w/tuZc5/c9Nx5zmSQaWgZcD4iXBx2ytz0jAMxqWaAxYkMTlpR1aubjA1pfnNuzs0v Yo2Eqlaw4RaEwBozNyDSlEKqFGsZZJLFhxff2DohYF/fKyepGd0J/enLMmJfNL1UFvYX /ae7HkP0FbvwpvCHAISX2C6NJYnY7PQyV82Ha6vfvEK/V5KanGL/C5CF1uM3xuM3ZrhB 6k4g== X-Forwarded-Encrypted: i=1; AJvYcCXUYwozMCImT4Kv/bphz0/iNfqZ6pwaEyx/YCZKK/5q/Nm97PDE+R8jcIBPrdBLwr5OpkgPxIguIKlLDdrQN9mmtjU= X-Gm-Message-State: AOJu0YzfySdJ3FC0qk+l5ftYNSJfvA4YkV/j03Zrl7oGv++xmKE+8ZOR KKbPmvEuxfWLitO9k8TIIwEKrxpfUN2c7aI5p2K4Etwa3xpOTY6Hq7Tsl3NR6XzYO626ODFpkjk QnzVh2PcFQhzMWr8B3gvIWy56SF09N5YFTL7x X-Google-Smtp-Source: AGHT+IEFyG7T3F+TFGnix0LKe+O1OIsKyLUJ8/N19DK6dIX5Wz4cVm7ASWzRUkZ1PIHBA8pxHEVGRomkREbWybgDY5g= X-Received: by 2002:a25:4406:0:b0:dc3:7041:b81b with SMTP id r6-20020a254406000000b00dc37041b81bmr988384yba.36.1711569528498; Wed, 27 Mar 2024 12:58:48 -0700 (PDT) MIME-Version: 1.0 References: <20240327143548.744070-1-david@redhat.com> In-Reply-To: <20240327143548.744070-1-david@redhat.com> From: Suren Baghdasaryan Date: Wed, 27 Mar 2024 12:58:36 -0700 Message-ID: Subject: Re: [PATCH v1] mm: optimize CONFIG_PER_VMA_LOCK member placement in vm_area_struct To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 8BAB98001C X-Stat-Signature: yudut3tpabcet5wcjatghfq8yphbcooo X-HE-Tag: 1711569529-616130 X-HE-Meta: U2FsdGVkX18+/gIENP8OJPJiRM3BBn0Q9eQCRGt70+WfM1R6BxteSjgn5UZDSr1qJP1mpd4lvyvTFh9EhQfjk0Ap7hcPVT19VxnEWV0++vveSWrTV1084GcHYbjophhwrQpvIQqDbMQyEBxhrLCe8SFaaXIgJT8Y27PjLoJd3g2D/nBapHIm4XF4bJGptXflkfjKjyyZoC6SH7ItCutwK/wjrJl4ju5FwrgS2pogIh4J6H3UoP1DslCblQAOSxHk1PTVTsDHIdP9XkC23zhZ9qNOSr6u0H3Hm/+edotprOsnHIHq6sMwY9EhESrPMAQPCxj9VXZFac3Q+vAgQ1RaUtGdFOCA08Tbh6KW9I4GsD3CeSZRaB/3hfzQsXPsTONo0JE1GZhulKtHjhVXL7O+hu/HaJdhZnnyZzxDEjfvZHL5J2tPk136IbVYRUHasNjvK8rsoMo1GsPlTUTuiooR7lihjsh+ihLYcfWttczH2FxwBLGDj1qruI3CEiaIHzhL05nAAdyn2s+WJ5Un/0nGQBPfG8FFMWqz1NSGsKUX7piwL7wL/xvzkf/RN2OfLNWARDdp2ODX6iaRL9r+8PIVn7d1jJ85u58iSLwPGc/TavMGspbDx/obigW0ITxLrVtD0EONcP4Yzfe1Txv3CDUyXiaaagkwtn06I+mF01EitG1d7+VCqHd734PHy8IkKt0kCme7o2hcRAZhPHac8UBnuQrHPXoJT622Kn0DMJOHGazGsWpPuL2jeCRh7QelLwj3yIj6esfY+QRd0RA3uoxkp4a9SAIuxkDiBpapheqJt5jhLHc99YqUCCrug7JyCgQaypfIhXKjuw42Hp3YrUDMVaO7yRC2oEO6NRn/C5xWz0PmIcXdK/u6cia6PbsYUMOfhvXZEtW1UOAYwFb0GL6ABAtkrmsOSfEsCZRzujWa/pIgiG993F8IEPWfNNdk7T2AM4fBD8ZS17o393aYfpO urxv0yPT LAz3d5n8GtL9qnjkt09cxTsa0Y4Jx39E5e2G+2cMJ80efmYO80hgWTO+h96OpojvgGaaCf2wXEb8eNsMULhHWsmXl2HRD4sSus/ymVy+S2ey7vj6HRGnQ7PVi+kmFhF8cQD7BQYU/QyDymvCAbWZgv1om4rjCwvsi8d545IXroRyupS5/T36tx03WO9YsFUGA1NO2lK07OFun75OYFs9tQcreKFiYjmtY0fIhBsdmdrbBVYl3KV7T4gzDBxtUX+pf3I14VvQweul8Q/yB7AIAB8/JQznn5vXcPFMgxwkVmo0sBU7m9xb9xfCYeq+yAhX5jKkvfQBToOR+8XSD6i2JcZkcVVFQYjaxZnASMB/DZ6jHdGfBkmXVBO8Xzs2iTtAV33tZ 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: List-Subscribe: List-Unsubscribe: On Wed, Mar 27, 2024 at 7:36=E2=80=AFAM David Hildenbrand wrote: > > Currently, we end up wasting some memory in each vm_area_struct. Pahole > states that: > [...] > int vm_lock_seq; /* 40 4 *= / > > /* XXX 4 bytes hole, try to pack */ > > struct vma_lock * vm_lock; /* 48 8 *= / > bool detached; /* 56 1 *= / > > /* XXX 7 bytes hole, try to pack */ > [...] > > Let's reduce the holes and memory wastage by moving the bool: > [...] > bool detached; /* 40 1 *= / > > /* XXX 3 bytes hole, try to pack */ > > int vm_lock_seq; /* 44 4 *= / > struct vma_lock * vm_lock; /* 48 8 *= / > [...] > > Effectively shrinking the vm_area_struct with CONFIG_PER_VMA_LOCK by > 8 byte. > > Likely, we could place "detached" in the lowest bit of vm_lock, but at > least on 64bit that won't really make a difference, so keep it simple. > > Cc: Andrew Morton > Cc: Suren Baghdasaryan > Signed-off-by: David Hildenbrand Looks reasonable to me. Thanks! > --- > include/linux/mm_types.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > index 4ae4684d1add..f56739dece7a 100644 > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -671,6 +671,9 @@ struct vm_area_struct { > }; > > #ifdef CONFIG_PER_VMA_LOCK > + /* Flag to indicate areas detached from the mm->mm_mt tree */ > + bool detached; > + > /* > * Can only be written (using WRITE_ONCE()) while holding both: > * - mmap_lock (in write mode) > @@ -687,9 +690,6 @@ struct vm_area_struct { > */ > int vm_lock_seq; > struct vma_lock *vm_lock; > - > - /* Flag to indicate areas detached from the mm->mm_mt tree */ > - bool detached; > #endif > > /* > -- > 2.43.2 >