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 7F771C54E58 for ; Mon, 11 Mar 2024 17:09:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 105EF6B00E2; Mon, 11 Mar 2024 13:09:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 08F966B00F2; Mon, 11 Mar 2024 13:09:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E726E6B00F3; Mon, 11 Mar 2024 13:09:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D4B626B00F1 for ; Mon, 11 Mar 2024 13:09:13 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AA9CF1604DA for ; Mon, 11 Mar 2024 17:09:13 +0000 (UTC) X-FDA: 81885393786.29.86BFF15 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf11.hostedemail.com (Postfix) with ESMTP id D0ECF40029 for ; Mon, 11 Mar 2024 17:09:10 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aXh2roPT; spf=pass (imf11.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@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=1710176950; 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:in-reply-to:references:references:dkim-signature; bh=gcxaYy4HdUQtSCgmVUifcbC4d1XVexgxS1H8yyjyPBk=; b=FqCwWu3Af9z7rDKtYqQY3sQ8/xHNr3Ghpn1C6gNMUTp9AMnSuc1UzHMQ/oUQQfu/N1myrD OYo0CIZMxvWs1quM/26V98VGYJC8yYcYcwAL8lUfTWnDjaNnMD2cjKc5U+oL7jdL43pC12 JA3KWOmJVNO9ymQZ1xkmJ6Kx8bd0U+w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710176950; a=rsa-sha256; cv=none; b=cEjhYMZhqBlHddKrXkNZ7Jxs0iLZ5UadwlxT82fvLFTVSYpF4yZZt6cE3UEiCA9WFzmJa1 RrW1gQs4pDYI2Hov+1VUl5AqvGQU/XQppSWagGXA+Boc6Y0htqI5qTid1m/weO23UeQPA+ YEd4q96g9ouvmlPyUrO895UfBIVrpBs= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aXh2roPT; spf=pass (imf11.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a45c006ab82so539521266b.3 for ; Mon, 11 Mar 2024 10:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710176949; x=1710781749; darn=kvack.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gcxaYy4HdUQtSCgmVUifcbC4d1XVexgxS1H8yyjyPBk=; b=aXh2roPTOlkbGbOstQ6E0Cy4Bo76ROdNpgUQWNhxHlCNypBwZ4NzPN807Uk+RlrENf hVKMrScIS3m2GV9LI3EORBfJ3g1HXW9e4mJJlCxaYuWqequbdS0SterAxx1KHUTz0RKf jyt+jhmB4VAS1YR8SdtnoBnV51oPta6HfU6P77L1peHIWVzzDYVMeXiPeNfmOkXYLJ21 Oyxv8EQDJnRRTlFUgXuueOuxH4SvTJlyM5DEWJAlYoRphvzZcTRo5I9llfSPA9QpJsIf 6Bbo2tc0Wqo9u2ZHRCfZO0ARFKW0Mn7EhRp6iy9h8k0YtaR/MpLD+l6UlUrfwHi7eYa1 u4AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710176949; x=1710781749; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gcxaYy4HdUQtSCgmVUifcbC4d1XVexgxS1H8yyjyPBk=; b=f6vVzpcsUzv223msus3Tcr9oJo7plkG8lMsRNSQVEBLfFPZR6epyxcad110Emptrc9 JECgXQrIpQ9vmpFUN8jX1wI8b+NW55X9wdwVOoPbeeDurf220PUpHetecM/q2tWkFWb4 MVnarxDUGB3VZhi+v+Zvp2bIKwg0Gy5ff3oggycmDkUzJYlAapV/5bgnCCsejLPI0D7C B24XKgfP50UQ9Ksw0W5Jn/lXkNMviaOGChXBIhHaLqdDHsDKymihEd0p+tIg+7mMvyKW kb5m4T8Jd3fWLOcXQmTTt/kkNWciKq09TiwmIQssZyPIJcXAdqT2ry/gGvIDCnW41RFx ogLQ== X-Forwarded-Encrypted: i=1; AJvYcCUbB103jQXtYA/2rZ/aPjc/YSXNMEKUGA1TtdqMKbzFYsQkDL35oCV6nozcMQ24NYzfdUSdCrJS6ZIC3RhFL0nSUq8= X-Gm-Message-State: AOJu0Yz/fMR31HoGGFPW4B+hT1jZZbQpdNAvq5zU/UvULkobIRCAw8wN YrLspxpnfNqUztsMcYO9x3BqEMqI4b6HHUSgju7UhzQFmjie4iKuca8gUINVWJVlxpsv1PX22w6 ScTdULd2V9win5Tlhv7xednxuo7s= X-Google-Smtp-Source: AGHT+IHE2dEZK2oineSipFKnyOWGd3+fSAGb0nn5YD8UZEwcnKjbTYFTKyCU3SwNXJqBqRRQ8AHxFGJnllfxQxj+Blo= X-Received: by 2002:a17:906:1849:b0:a45:f5e1:1050 with SMTP id w9-20020a170906184900b00a45f5e11050mr703781eje.18.1710176949030; Mon, 11 Mar 2024 10:09:09 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:6f02:f0d:b0:65:b649:35ec with HTTP; Mon, 11 Mar 2024 10:09:07 -0700 (PDT) In-Reply-To: <20240311164638.2015063-1-pasha.tatashin@soleen.com> References: <20240311164638.2015063-1-pasha.tatashin@soleen.com> From: Mateusz Guzik Date: Mon, 11 Mar 2024 18:09:07 +0100 Message-ID: Subject: Re: [RFC 00/14] Dynamic Kernel Stacks To: Pasha Tatashin Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, x86@kernel.org, bp@alien8.de, brauner@kernel.org, bristot@redhat.com, bsegall@google.com, dave.hansen@linux.intel.com, dianders@chromium.org, dietmar.eggemann@arm.com, eric.devolder@oracle.com, hca@linux.ibm.com, hch@infradead.org, hpa@zytor.com, jacob.jun.pan@linux.intel.com, jgg@ziepe.ca, jpoimboe@kernel.org, jroedel@suse.de, juri.lelli@redhat.com, kent.overstreet@linux.dev, kinseyho@google.com, kirill.shutemov@linux.intel.com, lstoakes@gmail.com, luto@kernel.org, mgorman@suse.de, mic@digikod.net, michael.christie@oracle.com, mingo@redhat.com, mst@redhat.com, npiggin@gmail.com, peterz@infradead.org, pmladek@suse.com, rick.p.edgecombe@intel.com, rostedt@goodmis.org, surenb@google.com, tglx@linutronix.de, urezki@gmail.com, vincent.guittot@linaro.org, vschneid@redhat.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: D0ECF40029 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5pxoio189ay3nx4oma9cc7afd1ec41q3 X-HE-Tag: 1710176950-979580 X-HE-Meta: U2FsdGVkX19k5FhGpll44bxsCYiNpulY8pSnA8FjWD6cq3Wj2wSfLmVomK8nUi2PPQj11CB7+E9CECIlOcw2uGam3pijrhzjBLA/uJPRiTHOK+e55UiYQMPsTjBpPOVQy1JM5EozuMZW4I7Ww+t/fqvVs9PS1RsazjDvFdcuS4T3Jcen2uToCd32aPoJbEVEpeulnH++39sCNzMMNuKWYoyJKyCjOLIFR0bd1ZaZ0/8ga8HsPjN1wetDD7ZhcxinzBllqqpkF6NHDc36LyDKUVqmVvlFsKzYlsf5kcWpzRXhV77z1mdgIKGSFEy09n+2V68hShGWDlF7UBki0v7VSUAIaTK8wWIxeeQeG9BhPZ5zhDgbekdDYCKYt6K0WE5eH0PKHQCSErmt13FDqQ2PzdlJHHYKyuexxcbA+vi7YLn8iuGTGME/Dnza9ukbJ/mED29OlrmKvYBdmQHS0BKZOluP6U+uQwbX5PWL1PAjcorulBjy7sFgYIlKxwdS9toknWMAQMjHHZbpApRGh7MiSKaYuRMVhBIPP08Jd7mM3zcgl58AbiAQQcvfTUCt9hp8gOkI7m1fdosK6PNTi4vpUzoNEmDVNhD8KmMjVRO25LlblhiJIsXKAYK2RdNXBzf83klSyDOTaCUUQHjLS8vqPLxpXb2k0zZrwDKX2wcj4sbiiNVCoeraMppUYXeJ1WnA8x5QcBe3WODcamTUzNtJ8xKHEm3wNhBjhfQlEMEAgwsAvz08kHK+gOokCvTmJgn2EjopRvMcu+2QNM5ZgU1+U34FvA/OW/PfK042sQJFli4wJrB2MErUGpQC/tlJxHusmpRg3l/EGdgaH9ec/FYYlOADvigZhTQohCYr+dvslB/mFYvqL7PjxbkY/hFlUi/3L4seICHEeCNGML4pFI4zaza3OhFWXyucwYMk/oRUrKblbzRzxnYJ+54KSkMGaGA9lgAlqfLjnzSYksRfgJr lS0CzOzb uQu/vulqWvkmNv2QfVphFIa/d4hTcnjfRzBOE6NSbME4cLeilVnMg9deIIbjjx6byAqt7Cfs/94NUJJ7LKJJGISRFI2JirDrBOupbtnlSf4Cf+E22rTZxmLKdiUilR1B+0uSCnln/YYZ3xD1rXBurDCl6xbNEeDoP1Wht+pZgehF9ZIAn7IR/tk8TQbk6aLIWR0f657hXhKgwFQ2ome/DnGp+w3UeQb22nVAlbG0mKh/VmwVVfDdieTXWQZe3qsnlGqEso6KmVbj/dHtqM7y3d94J/aoz8fTW2GQV1hsO27ikqVhqC8Zo2ydj7m6q29RkT8zauHqk9XjeUhOxbc8CSNQ+S10GupCb/6PBJ2/urHln3GjHN9GKznG1TRQ8nxtHcgZQbvuHcCy52qazdbKrl13ks7blUUm1U6HYPAA/pCdcJ1B0Iq0sMzQ6mQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.084788, 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 3/11/24, Pasha Tatashin wrote: > This is follow-up to the LSF/MM proposal [1]. Please provide your > thoughts and comments about dynamic kernel stacks feature. This is a WIP > has not been tested beside booting on some machines, and running LKDTM > thread exhaust tests. The series also lacks selftests, and > documentations. > > This feature allows to grow kernel stack dynamically, from 4KiB and up > to the THREAD_SIZE. The intend is to save memory on fleet machines. From > the initial experiments it shows to save on average 70-75% of the kernel > stack memory. > Can you please elaborate how this works? I have trouble figuring it out from cursory reading of the patchset and commit messages, that aside I would argue this should have been explained in the cover letter. For example, say a thread takes a bunch of random locks (most notably spinlocks) and/or disables preemption, then pushes some stuff onto the stack which now faults. That is to say the fault can happen in rather arbitrary context. If any of the conditions described below are prevented in the first place it really needs to be described how. That said, from top of my head: 1. what about faults when the thread holds a bunch of arbitrary locks or has preemption disabled? is the allocation lockless? 2. what happens if there is no memory from which to map extra pages in the first place? you may be in position where you can't go off cpu -- Mateusz Guzik