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 0E759C47DD9 for ; Fri, 23 Feb 2024 01:04:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75E176B0095; Thu, 22 Feb 2024 20:04:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E5AA6B00A1; Thu, 22 Feb 2024 20:04:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 586726B00C8; Thu, 22 Feb 2024 20:04:17 -0500 (EST) 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 45F236B0095 for ; Thu, 22 Feb 2024 20:04:17 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D823C1A0FCE for ; Fri, 23 Feb 2024 01:04:16 +0000 (UTC) X-FDA: 81821272512.23.FC31312 Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf28.hostedemail.com (Postfix) with ESMTP id 56350C0014 for ; Fri, 23 Feb 2024 01:04:15 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=iUuVXNf0; dmarc=pass (policy=none) header.from=soleen.com; spf=pass (imf28.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708650255; 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:in-reply-to: references:dkim-signature; bh=NB016TMGQ37aUP0tgYApFKyec0l/CqWARhIuV/D9p1g=; b=giGMXS3YSKXKLB3GBguY6UrsdaxjWjyE9iGeumYmqWZ8J5glOavZiiHq1T6czeyiKC7ZlN ZnEwYWWsFLe4uNkJiHmhrSnyiyKAP9mt8Z1v+xTIbxfpwyQ906GUKoGkROlU+mb/lOSiFx nv+JS/FPg+viIBjuD0XLdEV6sq2D0Kg= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=iUuVXNf0; dmarc=pass (policy=none) header.from=soleen.com; spf=pass (imf28.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708650255; a=rsa-sha256; cv=none; b=c6rrsnN4O0KH6mGzgomHJEesXXLojJ3XQ6ZByNsn0w1M5TZAkH5J2fPQ23rW25Fk2/i6Jt 60L4A5a8b7h3x0NUHXnXaQfoxclyXLoJTZcKwfiLi6OTwFHCs+a0f6WhSMy0i6BU00GVDb kqqTB0Uq0rbkWexeuHG7as42z3emGNM= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-42e627cf844so250731cf.3 for ; Thu, 22 Feb 2024 17:04:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1708650254; x=1709255054; darn=kvack.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=NB016TMGQ37aUP0tgYApFKyec0l/CqWARhIuV/D9p1g=; b=iUuVXNf05vHyTLb4Tw1wxfUjKm/bFRb9A1lUblUUK1VjIoK4juGyd18MSAFpjf/eCs 9ry8pUPBy4ebZD/FXMncIFWyr/LcYoin5xUbURwdkYdUrzfyTWri2/Tp/k4dxJfoSSaW hcflmfh7Wkq2aHqtiCIlCTzprTxHLnuYAAmuLCoWU34X1tySfLCu/GQytr4BqpEyNrvz +MtomwS5kLaG87s/K4k7btQ9er9WvsFW9XRl6NH0Kbnyr8IvFmPWBCYRE1Cw1jxphxix nsLNWeI6k0Ivo7wHYKTgwHoAadWvAEvTbqIwFCdI+RC5GA8vI06qb3Z5RvxGTM/tLtT5 0QdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708650254; x=1709255054; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=NB016TMGQ37aUP0tgYApFKyec0l/CqWARhIuV/D9p1g=; b=jh5Pzl0s5zHgGd23XbqKfjGebgIYzkSZuj3b3a8oIXV/3WJT7FKiT17TCpqpwa3UU8 U9zpWsPIwBMWaPaEr58sO4pFl2W4phPjy11NpMeY77690q0lTx3yH1DrWiasS9pwKza0 SVEKb6k3/dP9DSx9CLO/WTV+l4CApPQbq3p4IdX3fGb+vg4AGBgnXJOvjnPfxpaK6BwC 7dp/BPwn6d0JXMsoRwASvK6lOaeKGYGl5a5J1uWBKSyo3WoWWN4OprCZebgG46H/8BIf FuHP06ftz+dS0FY9ilicnV5Gqy+dxSCZSaoyjTRO8zQVMz9S5UqO7SRObrGfCbs2ppr2 wfTQ== X-Gm-Message-State: AOJu0YwLmHmrXedp4kUmLsJebD95xFOIxuQjfj3LMqgmXOqh1OFyqsi5 nommOLj+vo5PqNO7r9vVHXmV0TaUt0Us3k9MA8F8yyMDzX+QsX67YuWhn7RTIJzbXyCzavCRqgj 7WwnJ3dksRhYafAt9yv/PJeEGV18cr74B/gxHaAuFpXc1842u X-Google-Smtp-Source: AGHT+IE4BJLluPMRLCFuLLgETk09l1p35+iy/AbVNCSlRoTCkbh9+QbK6B+NvUNFevbyC6PWrBuFl8yOj1P7B0AM/4o= X-Received: by 2002:ac8:5dc6:0:b0:42e:28a6:2760 with SMTP id e6-20020ac85dc6000000b0042e28a62760mr606938qtx.43.1708650254488; Thu, 22 Feb 2024 17:04:14 -0800 (PST) MIME-Version: 1.0 From: Pasha Tatashin Date: Thu, 22 Feb 2024 20:03:37 -0500 Message-ID: Subject: [LSF/MM/BPF TOPIC] Dynamic Growth of Kernel Stacks To: lsf-pc@lists.linux-foundation.org Cc: linux-mm Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 56350C0014 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: hnjkpw6htswh8xgd33pbr1pq5o3fbe6k X-HE-Tag: 1708650255-776401 X-HE-Meta: U2FsdGVkX183PBVpwOBNKYVaif6EXQnUlyedqIpLO+USrK0d+60GDP2OKmqgbhK16KkxeXUpIlohxAf9ZRrstrbCMBD549jxfmexfZSwZ4TQHgo+mNP6yk6Md/KMN+1kD2WtYJhiUkYSdvjg5eQ6fdta3nG4tnfWO2938bwXzsfWmh6q9wez0zbOgZN64dSsqAH1YtlbNAhgMy9OM/B6+0mXGKaIDY2n9cZ5grCppk3P4ystOPpQKUT9ijHEeEnhNJbydHoRXK4BIubnrnk48kURj3wmq7+mJFZjyBaMK327wUjbr5i3vvtkYGx63mzxcgM0IgyZnOlQR8smWYqwbd01OGRMXsVR2wNN8g5BA2WClNI8ao41CuIviSKOo/hHu++UveAuo5AWB3C3xXahI6FUCCwDnoiMtkbWcDCosriyYEEvTw+AWE5QYsbJISvnB/8TE3cLz22iHfjk3DTmqOOjto48+j1/edbeKFpbzRI/JsY4QIyvEbLv2h8GdakuipT6Pa/Ae9ECMDZiv/b23s4X0mbOQVzn/q2/tF6bxTrUAy0SAgpofiwkZQGtv6qpYB4t1HPyXtL/h9Jxn6aEs9H13lG0X9HO02pFZGKT6rhhaYtOQuiHLOciT0XkPk7jmOnVDxwMBbl+QyfjfxvnoNf/G9lNDVKNxgkJvliXejUP0mW2xFDhhFk1A3kLVEuTX2amdx687huHmGW5kRBQexrNNpS7VoZmRWB+OjokFzfCBTE0Lg9Ytvoj+H8vrZelonSzGKXTURlP3C5X5H2PtjL0/uHlLdrRS47J8KpGvmvc3Os4Hd7Lv5Ss9mEsAKjRtrRH92TTaEV7RJyBKk1DRXrgUF0tBXQiG33sz9F5Q1vtxgnfaPrKosmnKrwu9qKM0+uLuI3Ebs6H045KWc85CRy6oIJzPJ0Vt4HioDaNW1Qbf4KnlOdmGv/Mc0vSe4rXpqqMc0D4kCJy39d11bo u6PvixoO AJtrtHZLHcV253c1NnJFjKztvW+dvKOAljchzk0v3WmYUowU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000316, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: For a long time, an 8K kernel stack was large enough. However, since 2014, the default stack size has increased to 16K [1]. To conserve memory at Google, we maintained 8K stacks via a custom patch while verifying that our workload could fit within this limit. As we qualify new workloads and kernels, we find it more difficult to keep the stacks at 8K. Therefore, we will increase the stack size to the mainline value of 16K. However, this translates to a significant increase in memory usage, potentially counted in petabytes. With virtually mapped stacks [2], it's possible to implement auto-growth on faults. Ideally, the vast majority of kernel threads could fit into 4K or 8K stacks, with only a small number requiring deeper stacks that would expand as needed. The complication is that new pages must always be available from within an interrupt context. To ensure this, pages must be accessible to kernel threads in an atomic and lockless manner. This could be achieved by using a per-CPU supply of pages dedicated to handling kernel-stack faults. [1] https://lwn.net/Articles/600644 [2] https://lwn.net/Articles/692608