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 6ACBAC54E58 for ; Mon, 18 Mar 2024 15:31:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB8A06B0087; Mon, 18 Mar 2024 11:31:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E69036B0088; Mon, 18 Mar 2024 11:31:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D30F46B0089; Mon, 18 Mar 2024 11:31:21 -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 C3FF76B0087 for ; Mon, 18 Mar 2024 11:31:21 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9AD52A0917 for ; Mon, 18 Mar 2024 15:31:21 +0000 (UTC) X-FDA: 81910548762.04.CDD8E1F Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by imf30.hostedemail.com (Postfix) with ESMTP id B3D688002A for ; Mon, 18 Mar 2024 15:31:19 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=IfjokNoL; spf=pass (imf30.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710775879; 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=BnbQuLUwlY/yZQSEJ6UKuPd4bJoloGALr8ZQRUHT1Jc=; b=zLRuOGO6BOLXZzK/V93cbORfYhlvv3DH1352o52KunqLVrVxcTfIHe8EXKJEyd1ZHPHW63 w4jZeMZTQPrmFSB4sRw1P46qV/bq1ogte5O9j/+8sUdG2IXG8MlPp2d0T3n4slfSpYEkgJ pBEUGYkzfQlTQW65RuvC/EP1KbyQnso= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=IfjokNoL; spf=pass (imf30.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710775879; a=rsa-sha256; cv=none; b=lBzDWL9LjDlupttgGhSyYQNU4HKlFP5nQCsG7AEGmVN8jRtXTmtp0aHQr02r3GZ2tZoO72 mGzqY3vNgA/1/c+BcxSEb8djmhmRUHMLRWdz2l1kHI+rSbOU8fXv55TMQELpLUckSLo48O n260iiOVy2HY5RSaXoAlM+h3gnE/W8I= Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-42e29149883so18685651cf.2 for ; Mon, 18 Mar 2024 08:31:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1710775879; x=1711380679; 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=BnbQuLUwlY/yZQSEJ6UKuPd4bJoloGALr8ZQRUHT1Jc=; b=IfjokNoL5ZFZHSguVfVKTgjyRhd+oHwnh2MNL2ntF9Xxw+AY1hwyjjFvp8CwqAlxr4 TvNKAPdh6kKawMEvL/p2/BQNsR2Gxe9rH8MynRtXnbOFRSXOMeW2FUkrMPv8m7QE/BGz IdsCJwB6FDS7HjikvQgS/KUDAuFL4we7PG//q542i8BsO7c1VEYrXRUJgcZd0hoJtmNk vzvksNeWmOt9kKo2h/4QPt+OMGLfKP64yyK7OPLMYAF/s7P4gn4VF1FJsflHA58AxyyT bdgVlhKapJIBQ2/hSeg0KjTfsennFefp8AWYmWsJprLjBVmUcIqYczQ3HAWARYJvydez QcCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710775879; x=1711380679; 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=BnbQuLUwlY/yZQSEJ6UKuPd4bJoloGALr8ZQRUHT1Jc=; b=aj+yoaW8uW8WGViKf6kY2G8QZqpqhwHx9rFWx7H0uHI8Wo8pVIXSNjm3LAlav6i81G T9R6yvdKSwB8yy54S8CsTapA+MUGOU0yCbq6CYg6fb+pGWvNGOu1dZYdJUNgjcpCwgcy 3A+JBi/1x1x3eLyh1GprLwNZduTz9fNDhl8QiZPfPROqNi1p4w+2Tcey7JDXwf/prAId K2CGuio7sMYRliE3m5aDF1DX0VVCGYwC0NHsI4dIcjrAYS2BzgChw8jqDM2979xvn3+K If4NVBJjJ0JTLnvz9ZJEaf+N/hMchRyJduvFyZGQVaRyXbb6Mv6aCygMyL4mPukPKjoY jeSQ== X-Forwarded-Encrypted: i=1; AJvYcCWam6lEHzPD1hXl1oJvPjfb7DtSY31TeqcjLacLdyQ/WYutRLrovxNMM//hvpFfISgdnnPxpOtY9pMJgTBrKqDqjAg= X-Gm-Message-State: AOJu0YwPNWfNPq/h1gC5ETDHjru2hoWlkUuuM3iVWmD1YbAZbnFU2W6o iMcP8IZPr6Ctr2BU5vpC5zeklLvbZWnWKFcft5I929Ofx9mNa1LSwjFeJ4S+103uGdJV+Ble/A2 9weJbtojhcKtcnCCDLor+tAYcDsoWIJkHz15Chw== X-Google-Smtp-Source: AGHT+IEHJI3BKnTNZ4pHvdvXvf6ScyD+ygtuclFrnt6J3mDPUAzP6GAAk2aJt67Hogo1BqGPjrMe4sHxSLrZLo1EbcE= X-Received: by 2002:ac8:5d8c:0:b0:42e:f950:d225 with SMTP id d12-20020ac85d8c000000b0042ef950d225mr18462982qtx.1.1710775878637; Mon, 18 Mar 2024 08:31:18 -0700 (PDT) MIME-Version: 1.0 References: <20240311164638.2015063-1-pasha.tatashin@soleen.com> <2cb8f02d-f21e-45d2-afe2-d1c6225240f3@zytor.com> <2qp4uegb4kqkryihqyo6v3fzoc2nysuhltc535kxnh6ozpo5ni@isilzw7nth42> <39F17EC4-7844-4111-BF7D-FFC97B05D9FA@zytor.com> In-Reply-To: From: Pasha Tatashin Date: Mon, 18 Mar 2024 11:30:42 -0400 Message-ID: Subject: Re: [RFC 00/14] Dynamic Kernel Stacks To: Matthew Wilcox Cc: David Laight , "H. Peter Anvin" , Kent Overstreet , "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" , "jacob.jun.pan@linux.intel.com" , "jgg@ziepe.ca" , "jpoimboe@kernel.org" , "jroedel@suse.de" , "juri.lelli@redhat.com" , "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" , "mjguzik@gmail.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" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B3D688002A X-Rspam-User: X-Stat-Signature: tswohsnxmmc4uayjb3dwqp9eeepsu4fb X-Rspamd-Server: rspam01 X-HE-Tag: 1710775879-529049 X-HE-Meta: U2FsdGVkX19sMkQB8v5CrcSVIxJ6pUSa40c5csU4C0OkxCF43NIfYhSnON+/iBBPa7WRTjlCAG8vUIthMFVf+pusnUuBZNskxPHPrIOoqvLwOidqrU9iYXNkNG/2IIaenT4yx94Fa+7V42bqeySjre5TAfJ84L6fNVsj9J/GOVjleQViseN69E0YLxxi5Q6vmU5WhpJAM1kU2DBsYW/bC/mK1/r2LmEGI0aTxdmJRRyi+snQ49zDn3akPnoa3VPuic9YESChMe0mZMvjvkI1ahgdCBexZlnWGVznt4vmf5aHUyPG5dBO4BHndxJhn+enOIV3PBoKJ3c6NFVt+DRdmXfDvJHURPhB2Wg/X0L+Z+JPb4n8RXOQRAUM46lAkjjMAZYD0iSJZ9DwQbuUqoMDlturTf2CAUSW06agdtcuuDzphbKj40F4zGnHIJgXQIIHzCi7gZnlQnwrQXnftaUtuMuoit3tkcc0vMNIaCJDUo1cEHgeRtXFsp6fsTN50geE5e0T1aJ7Rv/T6BBzEHeWxwPBMv7ujkgsoW1//Ss2pEUmwhSTpkyV06UdnD1AQN3XDf4vlJ6GofPTGNr4o7uxZJo343IpgpR9eD8IOcYgBFKh+cPphJ+Zpip5xuZJ+ke/bCod96+JFbP9ase9W1M9PSXMC7P1usQGkE6YNmEaAd48/tCJM3tH365jwEmdEG8fv8G+MAQHMmA+vhnpMhX9oufHrOFZMGqYPmi+GK902Yh2HFMTyQxiwbK04YOWdcDroky1JtpeYaFq+s8O/uuiuFlnArytL3nbTb/qCziPSebmVKnoQLAgIcjc4x0K+0zg/4ka8GXDS1vH1Z9vO8ti3H4Z8WS3PDQvZdlK/D1rWWPVGV0wg013BXbVehOA7L9x1d6bL+jG0GIHtaBkWAMuzQFChinROSC+3pPhYZ/EVQ64Ex8DEAe04lC6ZbruVy4c01Ty4V/f5SDcv4QN4cs HWl0ivtd qFWCNVdGgc7KQSiuqyJF0BFe7Kq2IiWZ0cpoAnd3ipX9yatNSTT2qujDl4Re3zsm+4aaTsAZhIYOti76Sbty7WDWb9fI0uzjckvkJ 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 Mon, Mar 18, 2024 at 11:19=E2=80=AFAM Matthew Wilcox wrote: > > On Mon, Mar 18, 2024 at 11:09:47AM -0400, Pasha Tatashin wrote: > > The TLB load is going to be exactly the same as today, we already use > > small pages for VMA mapped stacks. We won't need to have extra > > flushing either, the mappings are in the kernel space, and once pages > > are removed from the page table, no one is going to access that VA > > space until that thread enters the kernel again. We will need to > > invalidate the VA range only when the pages are mapped, and only on > > the local cpu. > > No; we can pass pointers to our kernel stack to other threads. The > obvious one is a mutex; we put a mutex_waiter on our own stack and > add its list_head to the mutex's waiter list. I'm sure you can > think of many other places we do this (eg wait queues, poll(), select(), > etc). Hm, it means that stack is sleeping in the kernel space, and has its stack pages mapped and invalidated on the local CPU, but access from the remote CPU to that stack pages would be problematic. I think we still won't need IPI, but VA-range invalidation is actually needed on unmaps, and should happen during context switch so every time we go off-cpu. Therefore, what Brian/Andy have suggested makes more sense instead of kernel/enter/exit paths. Pasha