Received: by 2002:a05:7412:8d1c:b0:fa:4c10:6cad with SMTP id bj28csp41699rdb; Tue, 16 Jan 2024 14:22:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IHLuv4ltXc5gxoZbYpVd2A2ii9Z0Wq5VHqwnxLwhg16/cgegJie5skIxXkd0I3XPX6au49Z X-Received: by 2002:a17:902:684a:b0:1d0:acd4:e711 with SMTP id f10-20020a170902684a00b001d0acd4e711mr10288862pln.15.1705443723080; Tue, 16 Jan 2024 14:22:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705443723; cv=pass; d=google.com; s=arc-20160816; b=w663KKwZP+o2WeP045RkeTJlBs0deXZWc+bWxnYtjIjCch5qIAED3lSwsmEs6yn2L3 95RNH8nOhWOMeY9PvTm/gG5X4hxoanuR//RPyDnAVtAq7j9c6iFsV33wuWfCmX5KpE01 M8N5T75mwHR2TSpXlu4afxb2hiOkrc0dHIa/sBtg2UkUsDXCPQZHEg4+lmk2xncx680Z mPSkG0klUL+7JV4tto5RRA7dbqICSbs9YlE5aH4Ze8wv7N9ir/uXHsh0S2KHgfuQA496 lc3AJdQk0fLtGN57MUMYkPNczzOw8iUve5jX3jwkZH8rbhoe+1m+ZRRbeZDIpOmlyZTk 3xbg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=G/EZzmK6HfHQLA68MEdpLWPQjpi5m5+fEzjurqyk7MQ=; fh=R/6pO3z97qNKlZ9+QfGHO385Fuf40MpVQ4k0DLqLNT4=; b=l7KsfB8+6hFjsTQDPNBvfj3JJZia5lmk0sGUmqLECKktz7P1dSazoaGXOAP+FCre7U ywhFEX2u0q5576xMroOpcTXaSe58BLpeOAGXoJv+ZJuE6i61x1xreqRn42gCbqpwwbsN 2x/+PVywdfloUaucNPAWYnUytTadbjWn8Zt6TAJ9mlm4nEEULplxP8TOI2xUiVGuieHE Bu6Yg9eyyEzEYDAXlG4TxAhs+D0zk2+DvKZh+bOyREpu0bGYhKa7Nb2qCQEkncj9h45g HkPSVjTLsVMeo5FPdY+kh1WhVOyXAvEIIotmRKZNbx7/pIq0H83oBY+sqZ3YOquQiA7M UTGQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=dJkwENpE; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-28277-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-28277-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id n9-20020a170902d0c900b001d5f24c1792si1334293pln.367.2024.01.16.14.22.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 14:22:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-28277-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=dJkwENpE; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-28277-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-28277-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 63A92290379 for ; Tue, 16 Jan 2024 22:20:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C5CEC5A7BD; Tue, 16 Jan 2024 20:57:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dJkwENpE" Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D652028DCB for ; Tue, 16 Jan 2024 20:57:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705438676; cv=none; b=nxBBVxRwLqEDejg4XLMteVeaSYwK7VefLlCzhVrgqcH+1Imh0hKZ5N3fpH0GBXik7aWgIJ3ABi5rcdGYFBe892Qmec7L6v/8VYHh/EFAum2j7c0coUuuDF8AeLUGA2A7li4Zzp1GzTghvvmpYL8yvV++7qKctOY+WFV9EIzMfXo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705438676; c=relaxed/simple; bh=4frzhpwkExhqQU6jnr/MkqW3RGgnQsX6iNpmppuGu5g=; h=Received:DKIM-Signature:X-Google-DKIM-Signature: X-Gm-Message-State:X-Google-Smtp-Source:X-Received:MIME-Version: References:In-Reply-To:From:Date:Message-ID:Subject:To:Cc: Content-Type:Content-Transfer-Encoding; b=QuJvhEKbQ2v7AJvx7dS46A1WN9olHOQ8sAGFBiIwQiHhHz8rPTJ4HO34c1whgTX/k36TA/iFTbvs1Os8U3aeagbI9WPQ7GTDf10L8zxf66dnOxwitmgZuCwghxVZhDgsrepuGMxA9Bbfqy971h+ZdBYy2rzGyQeMFKCottFS7cA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dJkwENpE; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-28e7b4546e2so761124a91.0 for ; Tue, 16 Jan 2024 12:57:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705438673; x=1706043473; darn=vger.kernel.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=G/EZzmK6HfHQLA68MEdpLWPQjpi5m5+fEzjurqyk7MQ=; b=dJkwENpEnCQ7PZtnFjTNfSe1qG0N54o6ie91PPWlBZrKTa6wpu+TXqMiCP9GjJY8a6 vxcntIMiz9gOrnqJxbVlr0vm7g23u6ZhBm9amBO00JVkO8zCEGtNYQaValua8LnO+lF+ yzancQUfu4xKzTbuWe1wvhjNYYApzeR7JgW+r/pDR3OIlwM+jjQP+k5WV3DBhsnMbyna D9vPTZ+v1s0pauXRKfnXb9L4Ax4060/ag6eprHvueBbNYog2DtqRosLs5FXQryWgov4h jjxIBjYzWLNoTKcYcN0SRoCxi+48bnt6ojuP6J/RJKgo/KdUdbLTFxZzXePqiTsfShHc Liag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705438673; x=1706043473; 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=G/EZzmK6HfHQLA68MEdpLWPQjpi5m5+fEzjurqyk7MQ=; b=PEKZyrQq0l6dSEMq66dWcGKGnsj5L1JOGGgElJo0FytP8aRo33KWKLW6lt7pA/eUhK I4NqiqfYxjksRcSCLHNjQhxMqf7tb2yDy+dQ8XeojMoewhUCRbn0E/zgz5Zph40IAt7R Io13td3IY9/vG0bTG52XdPE1HUHnB1KOt5TdDrS8dBdIwQnbgSwy4bOof92qkLrfKBn8 poy4bQz0/muUXsb0IVw9Kyx7FuN5/2Su1q+NB4i8BtSJUA6OXqQkDlZpE0CBIT+eMZUv BkGJKzQa8EUe5RRoQ/H3E5vNHKCr2Y15YO7edRlTrR7NAUqFUXQ4jWKn21YDELMs3IYQ YoPQ== X-Gm-Message-State: AOJu0YzfAYujwoSecuNnJidjW7awLxwECTjcg/dnlmMQcXtYzNvaXsZU qQQEo8ujUdpj2u0pWD5aLKYIc/fDYatQgZf0LiU= X-Received: by 2002:a17:90b:690:b0:28d:f01a:1abd with SMTP id m16-20020a17090b069000b0028df01a1abdmr10062825pjz.14.1705438673199; Tue, 16 Jan 2024 12:57:53 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20231221065943.2803551-1-shy828301@gmail.com> <20231221065943.2803551-2-shy828301@gmail.com> <7433e325-9af7-4b8c-888e-07a0debf8e46@intel.com> In-Reply-To: From: Yang Shi Date: Tue, 16 Jan 2024 12:57:41 -0800 Message-ID: Subject: Re: [PATCH 2/2] mm: mmap: map MAP_STACK to VM_NOHUGEPAGE To: "Zach O'Keefe" Cc: Yin Fengwei , oliver.sang@intel.com, riel@surriel.com, willy@infradead.org, cl@linux.com, ying.huang@intel.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 16, 2024 at 11:22=E2=80=AFAM Zach O'Keefe = wrote: > > Thanks Yang, > > Should this be marked for stable? Given how easily it is for pthreads > to allocate hugepages w/o this change, it can easily cause memory > bloat on larger systems and/or users with high thread counts. I don't > think that will be welcomed, and seems odd that just 6.7 should suffer > this. Thanks for the suggestion, fine to me. > > Thanks, > Zach > > On Tue, Jan 9, 2024 at 5:36=E2=80=AFPM Yin Fengwei wrote: > > > > > > > > On 2023/12/21 14:59, Yang Shi wrote: > > > From: Yang Shi > > > > > > The commit efa7df3e3bb5 ("mm: align larger anonymous mappings on THP > > > boundaries") incured regression for stress-ng pthread benchmark [1]. > > > It is because THP get allocated to pthread's stack area much more pos= sible > > > than before. Pthread's stack area is allocated by mmap without VM_GR= OWSDOWN > > > or VM_GROWSUP flag, so kernel can't tell whether it is a stack area o= r not. > > > > > > The MAP_STACK flag is used to mark the stack area, but it is a no-op = on > > > Linux. Mapping MAP_STACK to VM_NOHUGEPAGE to prevent from allocating > > > THP for such stack area. > > > > > > With this change the stack area looks like: > > > > > > fffd18e10000-fffd19610000 rw-p 00000000 00:00 0 > > > Size: 8192 kB > > > KernelPageSize: 4 kB > > > MMUPageSize: 4 kB > > > Rss: 12 kB > > > Pss: 12 kB > > > Pss_Dirty: 12 kB > > > Shared_Clean: 0 kB > > > Shared_Dirty: 0 kB > > > Private_Clean: 0 kB > > > Private_Dirty: 12 kB > > > Referenced: 12 kB > > > Anonymous: 12 kB > > > KSM: 0 kB > > > LazyFree: 0 kB > > > AnonHugePages: 0 kB > > > ShmemPmdMapped: 0 kB > > > FilePmdMapped: 0 kB > > > Shared_Hugetlb: 0 kB > > > Private_Hugetlb: 0 kB > > > Swap: 0 kB > > > SwapPss: 0 kB > > > Locked: 0 kB > > > THPeligible: 0 > > > VmFlags: rd wr mr mw me ac nh > > > > > > The "nh" flag is set. > > > > > > [1] https://lore.kernel.org/linux-mm/202312192310.56367035-oliver.san= g@intel.com/ > > > > > > Reported-by: kernel test robot > > > Tested-by: Oliver Sang > > > Cc: Yin Fengwei > > > Cc: Rik van Riel > > > Cc: Matthew Wilcox > > > Cc: Christopher Lameter > > > Cc: Huang, Ying > > > Signed-off-by: Yang Shi > > > > Reviewed-by: Yin Fengwei > > > > > --- > > > include/linux/mman.h | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/include/linux/mman.h b/include/linux/mman.h > > > index 40d94411d492..dc7048824be8 100644 > > > --- a/include/linux/mman.h > > > +++ b/include/linux/mman.h > > > @@ -156,6 +156,7 @@ calc_vm_flag_bits(unsigned long flags) > > > return _calc_vm_trans(flags, MAP_GROWSDOWN, VM_GROWSDOWN ) | > > > _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) | > > > _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) | > > > + _calc_vm_trans(flags, MAP_STACK, VM_NOHUGEPAGE) | > > > arch_calc_vm_flag_bits(flags); > > > } > > > > >