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 5B34CC54E5D for ; Mon, 18 Mar 2024 16:58:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE6C66B0087; Mon, 18 Mar 2024 12:58:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B97096B0088; Mon, 18 Mar 2024 12:58:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A37176B0089; Mon, 18 Mar 2024 12:58:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 938E86B0087 for ; Mon, 18 Mar 2024 12:58:13 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2D27AC0461 for ; Mon, 18 Mar 2024 16:58:13 +0000 (UTC) X-FDA: 81910767666.25.B99C27D Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf04.hostedemail.com (Postfix) with ESMTP id 6538C40010 for ; Mon, 18 Mar 2024 16:58:11 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=fq3zOMLR; spf=pass (imf04.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 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=1710781091; 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=Dnlhu+JvaL7929U+6kJvotnI2XXjE1OdgJ5AHBCPlfU=; b=PU8GKGQHZ38vPAEgNE21tYiYTgGCbVq9RkfADsfX+lqxWME5/5TWCDco4NY/alhuNi0NBD Xn10t62/Ojn5dpsAy/yuAuy1rlbrs9jKbcFuxEdUtTdsyyFfob3D1dHLwHFEjupnsAFaKL r0WazgHFS98rmCdqPbDGQT1s6VWj7qI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710781091; a=rsa-sha256; cv=none; b=0wjetz29YrdUylmUJk8x5uACaqxEC4IBI60P1FikAGBFHP2uxhj2fiez93Dg8jZAF0/PO1 c27cY9qGB/NVI+4VxyVYu8OeAld97UePg9yxE5tporH5FeIqj8bPJ5hOOGjOzDvLk4eXJJ QeNmZHVwxaIgqnN2SgRB1kpnnT1aYv8= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=fq3zOMLR; spf=pass (imf04.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-42f2d02fbdeso20653381cf.1 for ; Mon, 18 Mar 2024 09:58:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1710781090; x=1711385890; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Dnlhu+JvaL7929U+6kJvotnI2XXjE1OdgJ5AHBCPlfU=; b=fq3zOMLRMIlkjbg2SQ6Yf/VyDtnt7DnOZgn3TeDvXNumfzzpmQ8Caly7GRqKSLR0Qe 2qr16FSKq6OFLNwBgxLsTrvruYqKsdRvKEjYWnl7jaHzM6dNESBJEVdorRAMegoVCS9q 2l6FyWT5xso2D6Cmh7ARrKHLg0ImCGI8O6riTa16f+DQ/jF14FAJyti0XRa9RBOT4oaW wvFZ+DLhIjxkZkBeCUkDNsq4LsYJw1R8NNbSG8LYZopZiYVZoKqN1HX5eibmo38+TPxC ju4vahuN7atqnbc2+Ayvd+o0Vi4eeHFnt5uJQ3/oGHlYTyr1NbAoBvonIm+8w/KsIg1v sFFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710781090; x=1711385890; h=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=Dnlhu+JvaL7929U+6kJvotnI2XXjE1OdgJ5AHBCPlfU=; b=hp+9LvDa2ONd/uy/PTQsyyXFZgJCPh+7ro4giz5YGbnxorKU4/CRVTTgX5nvhF2Yjk 61Hjt9Pz5lRr/LkVV4SeUv+OcRyehyMf29maw0d56FXQc71KB1Db+5XQQF08jP5BiUb+ UX8GXupONfON21WJ0tMqmj4rXJCQgVNYhglSLNqmTbMjS89Yomkljm4t8C08iWAvLMd7 6yC3gbYw/6Mt29SHVJrRz4cqAMHAYGLO9qc0ssElqWgbFRqqntcu27TdDhtADFYT7PSZ xDL6Ak8Rtw9LsfLd8TDi9WA2cV02mrz6Uhtu7Qoh42kfBX35ysa4m/u9b7udNMNs2V2f wEGg== X-Forwarded-Encrypted: i=1; AJvYcCUcPQbXc30JG6mjq02KSLN+hoYXKxsE3PruCS2gJo0lEIe4rrXGw4q9pRiREUTH7Y84K8Qvp0PepivQb0jnkTkQLfs= X-Gm-Message-State: AOJu0YyKELrp/+m8ZVZxpyyAWE/KS/4S00P3Csl6/Gax6V7+N48zZZgP GHjwi+DcX6dcjZ+WfH0RyWZmeq9cgqpxGFPhLjDMWollmXOWU5gI0bOgoHcvx721WunheS0G2+1 Jb62aA/Yel4oSVblwwaKdBUvm2GrVjLQRPzv9qw== X-Google-Smtp-Source: AGHT+IFN7knHo+WpH6x/WvfzPyMhR/l30Eh/1o058/0FIhxj0EolDI7sDDeyw46SFuISEGDiHFfPukOFEai9cDXY7JQ= X-Received: by 2002:a05:622a:120c:b0:430:d4cd:ebcd with SMTP id y12-20020a05622a120c00b00430d4cdebcdmr3619586qtx.35.1710781090457; Mon, 18 Mar 2024 09:58:10 -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> <4b542b49b2994c9d8c4c73b9e3b42dde@AcuMS.aculab.com> In-Reply-To: <4b542b49b2994c9d8c4c73b9e3b42dde@AcuMS.aculab.com> From: Pasha Tatashin Date: Mon, 18 Mar 2024 12:57:32 -0400 Message-ID: Subject: Re: [RFC 00/14] Dynamic Kernel Stacks To: David Laight Cc: Matthew Wilcox , "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" X-Stat-Signature: sp7wembyt7wdt619fwqci9jfgwzko8fd X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6538C40010 X-Rspam-User: X-HE-Tag: 1710781091-237229 X-HE-Meta: U2FsdGVkX19MagXBW20gPufs8Iqa4gB0nZzD3RCSZOCdWgcrhvVMl4NiMx7dt96ga7Bsn8U+UUegGJ0zILXAZzd407QHaevIUhBAQncBa93p6g0o/AuEJ3Ny56NVjYvQT65Nj39QSvtf+IzLCGway6SyEvPMWk6NXUtfDiLsRb9HC4IbaoHvIsGYmANvgyaDAp1Stlmhmpn6yj4Vx252ln+Bn3nNZwV2eExBhBCZe2JbQ0Ncyb7Rvcywr9mJ3XfuUYqrGHoLNFH0XlxQgzxT6LZIBQyN/pfJLwh7YNDQE4I7F9T15s3R6GJucIaWH1NLO2XF9XQGDhZ/NoMa4nvNB1GLVScn5ktDyW2Ru5xQ2P7vo/mfyaGwbk7iOY0iA2LLFjX3TAieqzaU6MW4ezVy+00YlXNX+7qlpTFbkpVBNdEQNuLCtxj7AhfTtqdJcnZpqZzGuBJTzpfdis858jVHI4yibLXZy3RnYb4vTTee3Tw2sRBivUYxQLKrcW/ozUoDHCdoSu3ON77hoXIqFlHmehYMfBgHQ6MwMPKgQvOnidwkhZJ8I/WknFReuhJEES7R527q8yJ4ibKD/u08pQIINmzkcDx2o8icfUZPxlOCaLiYp/YmOpyWWbgYPUyS16xFMnB0ds8SvlUPbbO2PNE9fT9nJ0WVNgwQjCUEknxBjV5b+RbYftxieEpN1Lw4Ouicaxp2UaZ/zAmfeVOHKUyXrCa1g6kM626+td/yx547wvuk6QNd7x/F6oYd6q8Nhva62GCjkErmgHL02gfuIDkUGxvQ2KfMaypJdhf/IwWWfnxk4LPbQZmcWgYhd/TPQeBrtl6tSwu2tXkE4cOxfleaWSkTTR+UwvWGoDtVysvkztJdQfPXcCsFfWDKnGLxBzteO74iJiJAy7NIoTfUGN+o+wfAvXCh7zhnCwz3Q6ZNPvEmUsXG0hSs63xRaeJEC8kNWFTG9rFRE9xjfCsj5v9 2kLTECuZ chsLUANSoAZZfou3so/X/u896h5M+jLvvzIbsjTIzJBR9qyhyBCkwqm+wGUG+C0fMaRsuY+CHHiK1w6c29Sh5vuqbpZK7H7q/+4DM/WvQWNa5HQmATRPMq1JeKvNYGW7CK5I83BTdTQdRQgXbCOgN35XdZjKCTOsiv6AWyFdXkMv61eqaCCUpkLy37Qnhlx3Tq492BoUkcLbbf7IY6zYSW5JxJi7sbGsMENwfE1oSfojnTFqplsFgApS4czJ/Ajp4vhnsdRDxBtEhYVapL86gZdZAzzh7pcyTRSHLR13whGmPM3sUrfoP9EiFLtMhcvuQQnQiiOdlBvuf/48= 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: > I think you'll need to broadcast an invalidate. > Consider: > CPU A: task allocates extra pages and adds something to some list. > CPU B: accesses that data and maybe modifies it. > Some page-table walk setup ut the TLB. > CPU A: task detects the modify, removes the item from the list, > collapses back the stack and sleeps. > Stack pages freed. > CPU A: task wakes up (on the same cpu for simplicity). > Goes down a deep stack and puts an item on a list. > Different physical pages are allocated. > CPU B: accesses the associated KVA. > It better not have a cached TLB. > > Doesn't that need an IPI? Yes, this is annoying. If we share a stack with another CPU, then get a new stack, and share it again with another CPU we get in trouble. Yet, IPI during context switch would kill the performance :-\ I wonder if there is a way to optimize this scenario like doing IPI invalidation only after stack sharing? Pasha