From patchwork Mon Mar 11 16:46:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 13589076 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 1FD10C5475B for ; Mon, 11 Mar 2024 16:46:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8ED586B00C9; Mon, 11 Mar 2024 12:46:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 89E946B00CA; Mon, 11 Mar 2024 12:46:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A1F36B00CB; Mon, 11 Mar 2024 12:46:48 -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 5BC476B00C9 for ; Mon, 11 Mar 2024 12:46:48 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2A9AB160B0B for ; Mon, 11 Mar 2024 16:46:48 +0000 (UTC) X-FDA: 81885337296.09.B85A2A6 Received: from mail-oa1-f45.google.com (mail-oa1-f45.google.com [209.85.160.45]) by imf08.hostedemail.com (Postfix) with ESMTP id 3676516000E for ; Mon, 11 Mar 2024 16:46:46 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=ymJub6yR; spf=pass (imf08.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.45 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=1710175606; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uRKHBCRgEDsAkh8Uu5g0LvaNrGLtTcS4Fv1I3hMOqvE=; b=odjG0DR8vZhTzPvb3gmN7Gw2OxgZgFCQoo03YPFji4af8TopgnOUt81+hItX837mXRzK91 JyB5Tb+WsG2+zejiYhkMfmCgU2MvthFykhflaLMCSpDhdoyuNytn4UFUk2sTRolMBpIGpW IjSwJl0eBtnHYIw/xQ4bO6kUfH3trb4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710175606; a=rsa-sha256; cv=none; b=MkY/p/H9GBDYlE8bfxWHMs37/ZfJBMLmkF33gF4DeqN3OdiGaEmBPJd7aTuFRaud5prq5r g3ZquXv6vsGfD2myl056ukJ/GWQiohkYuT0U9khNpTMWgNEKC0wq8RdkZDorF8yupIMGYX Zvshntkkyozuzyq4L3t9CeMRi/1m3zw= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=ymJub6yR; spf=pass (imf08.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.45 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com Received: by mail-oa1-f45.google.com with SMTP id 586e51a60fabf-22181888b88so3895613fac.1 for ; Mon, 11 Mar 2024 09:46:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1710175605; x=1710780405; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=uRKHBCRgEDsAkh8Uu5g0LvaNrGLtTcS4Fv1I3hMOqvE=; b=ymJub6yRVXXlsScvjDvtNJ/xmeA+6ueuUB2d35MzSSCdi9YZkNI6qzxhOq+fDAFPFb VMvZKY2eMvAffWyb5EKq4sT48+uZOVlw6jabdwbBXzRBM9DHKVPBo+JmuknwHYXerkyi Yv/QE+M+2JjQuAahP+KJj1CIdPRMiWze1lAcITfo8It9++IuMjVNjf+mkRdR7FNlm/4k mCtM28YwATKorvqGJhWhaQ1WXRoQCd2IYmWPg/q8sL2gF8iWe+/MdQjSU5Xtq3cY7Ne3 rdBBNo6qneOaDbhL2AQXBhxr0Y+7P+Do5ygKQeB2G0eAU3lpcdtG1KLayTvTLRk16B3C XXkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710175605; x=1710780405; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uRKHBCRgEDsAkh8Uu5g0LvaNrGLtTcS4Fv1I3hMOqvE=; b=Fl5h+9AD3hLlmzUZYpcaoaj5fU6IUSYcx6rB342rfc2aqtOQqdoO1ruik6CRvd55wR 5QHETdsvjTQlCMNGC+W3Ex5e/PZLuz/3L85mZdxBrlsk/8vF0msxTik40oYidQffAfpl FB4S+earWptlgABi3H0P/5J0uuTvMGyLGZr36m8ZQFiOy4lQd1yur8xhMBsPkBhWdZna 708Ynp6uNBPpQED01CS6wGGF2MrvgVNYHRKVOJTPnJkUfrfAK6wQlePymQKThMAtbNHP CiL+ooaPz7THu6Dxgoc5GdXNPDX6QalBjhqDl64rbM07TA2LJTDtNMBIsQILFXxBevmQ tmRQ== X-Forwarded-Encrypted: i=1; AJvYcCUa+u2mdTR7znXK2rkJooHhu8h/8uvpu6GOiKhSeJMv2QEcozNM+LeaIKzRQzXAoE2LH38lmPcBdJbS/uCaMrH7xXs= X-Gm-Message-State: AOJu0YzfBS+K41mlZQMHwsAwvAGa+2qJUDkcip7t8po9ASIbaDWlhK02 rMPkjcGKRup17H0iHAYkM64c7iyBnQVRV/T0O/DLBQ9XO5bzxPwtPvltgBXy/pc= X-Google-Smtp-Source: AGHT+IGB8z9Eh2EiOSMQqnmRI9zZB59VQQwcHf8aThINC/aQYO0+ESVp0WJ0ORdeFBqZ+2a6LmE9PQ== X-Received: by 2002:a05:6870:4721:b0:21f:4fe:9ee8 with SMTP id b33-20020a056870472100b0021f04fe9ee8mr7898763oaq.4.1710175605333; Mon, 11 Mar 2024 09:46:45 -0700 (PDT) Received: from soleen.c.googlers.com.com (150.254.86.34.bc.googleusercontent.com. [34.86.254.150]) by smtp.gmail.com with ESMTPSA id d27-20020a05620a137b00b00788228fbe05sm2851589qkl.17.2024.03.11.09.46.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Mar 2024 09:46:45 -0700 (PDT) From: Pasha Tatashin To: 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, 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, pasha.tatashin@soleen.com Subject: [RFC 02/14] fork: Clean-up ifdef logic around stack allocation Date: Mon, 11 Mar 2024 16:46:26 +0000 Message-ID: <20240311164638.2015063-3-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.44.0.278.ge034bb2e1d-goog In-Reply-To: <20240311164638.2015063-1-pasha.tatashin@soleen.com> References: <20240311164638.2015063-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 3676516000E X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: yxwuw8iikm3otm9a5wgi3un4uogdkk4a X-HE-Tag: 1710175606-507001 X-HE-Meta: U2FsdGVkX1/DpyUGy45Rl+A37lKK9EkGmUb4V9v5QtWSZxIQDlglgEm9GVPIt3WWS8XqZ3x0Zp/CnsOJ1rzF/VWIB6G1fzkH3qCFfxQ3Jj4bs3fJLeJGuhwTtVeztFuJhyYq04QLRQqcw9E4E/KuzdZIq/ZjPGl1W28mlaVvBHcFv4on9wRuFB7ojfwooniT9w7BPaIS1B+e/qYduKu8XoNGz5hwn3m38IwkYRqWa2WxDHZCtTYAmi9u6b2O5dfIqBS0gLpKP9pRCujOD6KjLO8W9JlRdA5i4RECl5VLnO0qA6R3iIyjAX04kz6GaRvYUfqzCUhe0djxULYppgU55h2KvVZXIzGpdcRQ4pCBUDahQmYyVrjnaw3ss+xTSqtjGHdXPiV+j3nrjyYzsGTfK+334m+mZ5tBFjoZsHiLBbzjD3Jx0bmiVo2nI1Ik2FG+6r9K8cUtSOt4HKmF8eoQk4L5K7DTazT9wvTCLZYxyk5MTvi2V+QqoDTFb2CdcSCz4SDmXA2GoYzMMRAMrng+U/Oh0eZL/jyn/xbAD1I4Q6wcLMzqXr1kjI5u3CANojimUAafAj1scqQj6pYrmMYKveEF79+LYTlTpva4K01jW25Rm8Z/FA9TZGvdyVj5DtVxWruMAsZrNzxOVP4A3J9AllyaBarB17tJva5uomoddy+4/k03Qvvvdq4GIq3c6sp003mcyUB9oXMLouDA6JB3n5++uOnh4sX2qkOZABaI0KTkPq1ejjAhbKdbRvswhhi8ehIKTGKK5PD2UBqRBFQk91Ue5g1zzC2JwRSTPG8sdmn8UK005Ca6d3ObQtjQrGXlH/9rFB4pwSbbJc270APCV94Q/5TUtYQfqBH0KgdgIdV3k2g44i9JJ3atc5JxYmpXtqe6HoPzjE2jodIqRm6wVqKN5ynPn59U+AGmVG7vgqEct1e8kevpiIEWm8mxPgfo2/59pAxu/+y36q8P8lv 5Olta55b uT9ssLg9t93D1/60M0fZXpwUGBpVNnqp4oWZFzj4jXHVJPS1dC5lnWIasNRY7mZAAfwhzlOvNunun2rInLc+BQ39Z2FJsQwxQ2eP71rjizwmz2Gj+67Hxs/W3+p0F7ATTUAvbCPpmVsKttkq+NtQj0r70yLNbdPqfyKeDc8DTPXxWzC+CGjnQjq7DU73/Y64384YuneGDVshXQG/rmv/QUkDp3LSbU/f5Bs5j2uh/yhEEfAfuVzfEIw/afqTgh64TR8Dr7LMsZibMdrdr2MhLfB5DlGSrTjlhN6/WMroSCtNDuoMcB4nQQguWWwlM6gxIe1EhVdIArK61S/EJjKbM3gynBEjqCsHGuQ5FLPPJ+o8m7SwDCUx4pXG/PKsyAER1Yaz3qTgBm3ki76nts9emp97ouYNL+eq6Ii68JL7DJx4Tha2n6/p4bTmEhTvQnxi5iM0DfN+Sp3J53+Q= 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: There is unneeded OR in the ifdef functions that are used to allocate and free kernel stacks based on direct map or vmap. Adding dynamic stack support would complicate this logic even further. Therefore, clean up by Changing the order so OR is no longer needed. Signed-off-by: Pasha Tatashin --- kernel/fork.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c index 0d944e92a43f..32600bf2422a 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -179,13 +179,7 @@ static inline void free_task_struct(struct task_struct *tsk) kmem_cache_free(task_struct_cachep, tsk); } -/* - * Allocate pages if THREAD_SIZE is >= PAGE_SIZE, otherwise use a - * kmemcache based allocator. - */ -# if THREAD_SIZE >= PAGE_SIZE || defined(CONFIG_VMAP_STACK) - -# ifdef CONFIG_VMAP_STACK +#ifdef CONFIG_VMAP_STACK /* * vmalloc() is a bit slow, and calling vfree() enough times will force a TLB * flush. Try to minimize the number of calls by caching stacks. @@ -337,7 +331,13 @@ static void free_thread_stack(struct task_struct *tsk) tsk->stack_vm_area = NULL; } -# else /* !CONFIG_VMAP_STACK */ +#else /* !CONFIG_VMAP_STACK */ + +/* + * Allocate pages if THREAD_SIZE is >= PAGE_SIZE, otherwise use a + * kmemcache based allocator. + */ +#if THREAD_SIZE >= PAGE_SIZE static void thread_stack_free_rcu(struct rcu_head *rh) { @@ -369,8 +369,7 @@ static void free_thread_stack(struct task_struct *tsk) tsk->stack = NULL; } -# endif /* CONFIG_VMAP_STACK */ -# else /* !(THREAD_SIZE >= PAGE_SIZE || defined(CONFIG_VMAP_STACK)) */ +#else /* !(THREAD_SIZE >= PAGE_SIZE) */ static struct kmem_cache *thread_stack_cache; @@ -409,7 +408,8 @@ void thread_stack_cache_init(void) BUG_ON(thread_stack_cache == NULL); } -# endif /* THREAD_SIZE >= PAGE_SIZE || defined(CONFIG_VMAP_STACK) */ +#endif /* THREAD_SIZE >= PAGE_SIZE */ +#endif /* CONFIG_VMAP_STACK */ /* SLAB cache for signal_struct structures (tsk->signal) */ static struct kmem_cache *signal_cachep;