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 79BEFC3DA6D for ; Mon, 19 May 2025 22:34:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A86F6B0098; Mon, 19 May 2025 18:33:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 857D86B0099; Mon, 19 May 2025 18:33:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 722106B009A; Mon, 19 May 2025 18:33:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4744D6B0098 for ; Mon, 19 May 2025 18:33:58 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9329EC13F5 for ; Mon, 19 May 2025 22:33:57 +0000 (UTC) X-FDA: 83461111314.15.B08CE51 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) by imf21.hostedemail.com (Postfix) with ESMTP id B26741C000A for ; Mon, 19 May 2025 22:33:55 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IdWN3gLA; spf=pass (imf21.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.47 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747694035; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LVAm0MhcUxfqy1/Jj47nVqzJXeFttO6qIrZiquv3thQ=; b=EgFBKvdyr6tIfjSb19uKt+EEDzH5V1rHe+4gGBvJml3lPu45HryXZLb8caKwwTHvA/fcnN gzGdfCaWtUMPfBrthKy3J7JlrIQb0Ys28seexocxFs3ztzCtnblOVbsy1j1XaxRur6JjQL 5gUeFIbX5eyW4BxVSwd88KoWCiWLqfs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747694035; a=rsa-sha256; cv=none; b=CZhCK3luTxIzGDdxJOCVCGSqZ97kxVRlcavclM7XzdYy5iEu9L1lU5kHIg+fVTb3p+rGl7 fYihGhzRNOkkSQKbkcRz0sFONLQWyCklqkFPBwPT2q5MCVoFXSDgRY9/rSkT+Uk63zgQ7D 7ImPGzC0GUK7kxPfqAR8vty+IKLJ+uM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IdWN3gLA; spf=pass (imf21.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.47 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-6f8b9c72045so44976226d6.1 for ; Mon, 19 May 2025 15:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747694035; x=1748298835; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LVAm0MhcUxfqy1/Jj47nVqzJXeFttO6qIrZiquv3thQ=; b=IdWN3gLAvXwcbis2wfkI0Q2ptPL4MAcTsT0eJylhSAVJGbiqJ9U/DiA+i3s+C7n95/ Up3hul9XgotpZPeUqFUylefUT4WK8tuLpPGJAl8zBPYhB9+2KP9nh4VDLDY8ioMZUd0b sdPdLqFQKXnNjksHqNWkVvO/uXM8LgvefHlPBBDkHEqmUt7YTWUVxJ64TKUR7YJrf7s3 3pR7WyKrYTOmyHkOXB1Vn5N13CWiKENzCQ+WhZEpLrI8WikK5VLcOFJ5+gYMXePSTa3y eczLL4zn/aLSfD72fdoVIVwVIPyaHSfLoil7Mdzw6U0+usNyYZ6LrDfejx+fv/HSNRUp f6fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747694035; x=1748298835; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LVAm0MhcUxfqy1/Jj47nVqzJXeFttO6qIrZiquv3thQ=; b=Y5OYFPg0puD7z8u6aMAkfp0ci4dTO63tz79aecv7100sS9t/xJbWzybgFSto69q+3d 8hAi/2vYN6+3mhX0Da0FDMfQkSn1ami7ZxIHQR5NJyaggpJSxnNkksYyxBx+AtiIVU9w uyyud5MHDHeOZdz1Lgs4wfduZvAsrzNr238QTd5Cgd6TyEi/b1y2wOMSEdPBqptMUeg4 TZDkFFRZeuTW8QVGd5GgNp8HRrNvJJmmZZrju1qsH2CqEL8czkC1h+bAYquDjJP/kc7m 1YkXi6kk5CAUGNFQ3r+RGcwceKHX5uBwlxh6J8PiR4XcV/gFPf4jhZOwQKi7w0xUO9iP HZ8Q== X-Forwarded-Encrypted: i=1; AJvYcCWvD262WS9GgSZ8wMdjnZ4yB0Os13HSdOOUyjucXqJCsTvhwp14Zs9ezcvk89bCjL2XFGPbleTg4g==@kvack.org X-Gm-Message-State: AOJu0YzRT7e+SQc0Of6Zvjkycyia2K2QKLNE1k5Up++V+1ERN125nA3i 04+g3KJimW7a2N3cqowMHoQ4q24SUZMs4zf9gfUoUECm16+YvSCYk8E/ X-Gm-Gg: ASbGncvaprkexOQ+ZOjkkq8xVrW8hTZKRw2gFHMDSZiv31/MeMhr5IynRCjuE7V3hgy jYBrmo5t4v8V6dm2Z8sCDUG5N+8HX/9aP4p2xxziDw6D/wEIuzqColHkUlCJtafZnoNKtoR6WkC +DJWjPyjQjXsgej3MjMxd8Pvha/YEcMN1WJLravxMkYhQddaa7cSLcaq2NaI03EqnGbGHl44Mcq GPFhieRlHwLDRltX1V9R+CUm/6eyxwKOT9FOIEu+swuUWZjol32C0kQ7SYmjy+gnhanuOCqUFBg zxZa8utXmm8gKdVgv//Unen9pDuTHcEGYUT2nZELNb6AKkecW4YlucWtUk8= X-Google-Smtp-Source: AGHT+IEHV6V/9vy/4d8ig5hkz88Eqqp79gFobxGRuxf58uObGKqhfceiqeMRNi1byTKwTMbz4yMfpQ== X-Received: by 2002:ad4:4ee2:0:b0:6f5:106a:271e with SMTP id 6a1803df08f44-6f8b08edabcmr264699826d6.38.1747694034773; Mon, 19 May 2025 15:33:54 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:7::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-494b4075860sm56213021cf.23.2025.05.19.15.33.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 May 2025 15:33:54 -0700 (PDT) From: Usama Arif To: Andrew Morton , david@redhat.com, linux-mm@kvack.org Cc: hannes@cmpxchg.org, shakeel.butt@linux.dev, riel@surriel.com, ziy@nvidia.com, laoar.shao@gmail.com, baolin.wang@linux.alibaba.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, vbabka@suse.cz, jannh@google.com, Arnd Bergmann , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kernel-team@meta.com, Usama Arif Subject: [PATCH v3 7/7] docs: transhuge: document process level THP controls Date: Mon, 19 May 2025 23:29:59 +0100 Message-ID: <20250519223307.3601786-8-usamaarif642@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250519223307.3601786-1-usamaarif642@gmail.com> References: <20250519223307.3601786-1-usamaarif642@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B26741C000A X-Stat-Signature: mmqxph77ggggtub4j558ske6txhdi6y7 X-Rspam-User: X-HE-Tag: 1747694035-135669 X-HE-Meta: U2FsdGVkX19r2E8meCgwE2M7Y+HOJrCsbexFwMFBSconMoi6N4MMUVeqHgI/Ec6aQJphQ8SwhCZwc6QGyI1UbRFk2TtE1peKb3HajHDGj1vTyyTFijAwKmMf2HX9pnHFQiZVOcW1zGcyTJTgENUOL8goWs31ioaxu8qSR36QSZ4vqvlttBpv08l46HotoJt6MkKfkpePvC6yaQMRI1j3Vik4EGVXaEvlkBUxz+OwQZeWyM0Tz365oiJR3TLfksU+fK5ZtJzzGSluV/6m6ajuZRrDs2Rlw1v+Fp9DGRvrQ/SSjj0PNV3AZAz1pTK1tBVZ+8K+02k9T9Z4SninV70z2qEcRs9snkvr8I32ATvCKv7N4wDPgxcGoe4bT68RLVTY7wCP6UC5/HizbC5Le/gGvKbEggD44uJQhDKBnEiVcJ6b/0WXgrt4Fvj54RJhITFLHIDrCp9eLJOmwv+yM60NJWZ56PHucvnuMIKIxXcblTKKJPy/NgYLjn7CMj0bihZ3A+7J2IPBROc4IOYwuW+6dVkRMdGT8WMRfk68FguMqtPeeE1gwbI1sNlaxi4pBFOrjERyv0SO6bYwziGbvsNasIfTDwVQ4rxx1Iaa0bCgcnzbzI/BCjBZ+SptyfK2rHAUjLhtOVXoyEfNg6zC2k3JVwYBEN7KSM346fRwO7aE0S4ArhYMd55XQ1L8S8nufC7YetNzaabAm4qarTYbV9EPFtyfq+oWOmdtpqgmagY1goWFmBOZ9oQpjP776H0EByZi66N4xp8Zy2osTb719H4u4HIc39zezw9jHIQEA3PicdA6nVNZQINYpY9sGdUojez2kIOZkzvrfvh1nZxj9jHG3AIU5kyhxtmOzXs+6WNFXYAfZFwTCjGyPglM4+n6CdA2d8mMTi1PmgQMBAk9l2DMY3zFJwBaE/fV4KQohrZc+QPq/9lDoN9ktZLMUx2AuGVXjrDzxETmTGp0lDnDdGP ejQwbIC1 HDLMDPu43A6gp5sexOEySf4qlf8eudehn+kbfyhpb1/KAplJSvBSZu2y5zMEmqe0y9coYzyglW0BiupVsHrSFPHoWxE13r9VZ2TgztouWwGsIHwEvSWiD/JH2oKXbSDvcn+cXR9S5cJSBXNWzl7LXO0wXVGUCnRR+MBg0ic5ZWSG5rH4BWvEmcMvOAhaqWZqvWfPO/hWcd/bdXK4LfH+wN0sMG228CmqktRFXBmohsLS5t2rTdO0Fs47OsxG9qracbX8ntHAcoJT8cwgf3P89K+HS+tGJrweWrEEUGuWYnyV5oESEiYAkOAaCfiF21w1WhU0oeMyfQlBMDV2NiN809iUrHjBz9+WiNzILeoWA97zQQpwGSxKjLJPi9mRu9IUx/656LYYUssaj9P3gFMp/5fUDee46gIfkG8dbbbuEJnGxmf/3vmwpcdcop7MyBwlZpQnc908fIg+yKjwKuG2QycEk21GxpV948LvYNiHt2YVAlomL6nw+QgsjxnEfeHCpSMiVcdX8qvFhKFTsX4SBqgD9kw== 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: This includes the already existing PR_GET/SET_THP_DISABLE policy, as well as the newly introduced PR_GET/SET_THP_POLICY. Signed-off-by: Usama Arif --- Documentation/admin-guide/mm/transhuge.rst | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/admin-guide/mm/transhuge.rst b/Documentation/admin-guide/mm/transhuge.rst index dff8d5985f0f..79983c20ae48 100644 --- a/Documentation/admin-guide/mm/transhuge.rst +++ b/Documentation/admin-guide/mm/transhuge.rst @@ -218,6 +218,48 @@ to "always" or "madvise"), and it'll be automatically shutdown when PMD-sized THP is disabled (when both the per-size anon control and the top-level control are "never") +process THP controls +-------------------- + +Transparent Hugepage behaviour of a process can be modified/obtained by +using the prctl system call. The following operations are supported: + +PR_SET_THP_DISABLE + This will set the MMF_DISABLE_THP process flag which will result + in no hugepages being faulted in or collapsed by khugepaged, + irrespective of global THP controls. + +PR_GET_THP_DISABLE + This will return the MMF_DISABLE_THP process flag, which will be + set if the process has previously been set with PR_SET_THP_DISABLE. + +PR_SET_THP_POLICY + This is used to change the behaviour of existing and future VMAs. + It has support for the following policies: + + PR_DEFAULT_MADV_HUGEPAGE + This will set VM_HUGEPAGE and clear VM_NOHUGEPAGE for the default + VMA flags. It will also iterate through every VMA in the process + and call hugepage_madvise on it, with MADV_HUGEPAGE policy. + This effectively allows setting MADV_HUGEPAGE on the entire process. + The policy is inherited during fork+exec. + + PR_DEFAULT_MADV_NOHUGEPAGE + This will set VM_NOHUGEPAGE and clear VM_HUGEPAGE for the default + VMA flags. It will also iterate through every VMA in the process + and call hugepage_madvise on it, with MADV_NOHUGEPAGE policy. + This effectively allows setting MADV_NOHUGEPAGE on the entire process. + The policy is inherited during fork+exec. + + PR_THP_POLICY_SYSTEM + This will reset (clear) both VM_HUGEPAGE and VM_NOHUGEPAGE process + for the default flags. + +PR_SET_THP_POLICY + This will return the current THP policy of the process, i.e. + PR_DEFAULT_MADV_HUGEPAGE, PR_DEFAULT_MADV_NOHUGEPAGE or + PR_THP_POLICY_SYSTEM. + Khugepaged controls ------------------- -- 2.47.1