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 01E0ECA0EEB for ; Tue, 12 Sep 2023 16:38:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 59FDA6B0101; Tue, 12 Sep 2023 12:38:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 54F566B012B; Tue, 12 Sep 2023 12:38:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 418166B012C; Tue, 12 Sep 2023 12:38:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 334DE6B0101 for ; Tue, 12 Sep 2023 12:38:06 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0123EC0452 for ; Tue, 12 Sep 2023 16:38:05 +0000 (UTC) X-FDA: 81228502530.21.8E33E78 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by imf27.hostedemail.com (Postfix) with ESMTP id 6F3154000D for ; Tue, 12 Sep 2023 16:38:03 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=cn8zQUzX; dmarc=none; spf=pass (imf27.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694536683; 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=N2auG8foOocIuOhvl2TVEXZ5ad6D4FgqQPWyc6fW1H0=; b=o3WsMp+FTItpnelKb+XE1WlpRWNN2mc9U/pHPkPUvDzsi+ZVG/qdXYQ9YmciLWUt/vIzOT EqOEC+i/QxEl87VmdYr4CRAlqITuOKnsH4oQMDpak85ZqdSvwJgWFSiU7upRar1qfVM8D0 15abg2AQi1VWvUpA50+u0BTa7z+CA0Y= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=cn8zQUzX; dmarc=none; spf=pass (imf27.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694536683; a=rsa-sha256; cv=none; b=cWAMsENnc7XbwVwG3BKVSjuEbUcf2UZ/SVO3Yx9GEhVWtSbrDPjjPA5CFHbs1XAm7+TQe+ mHunhZHWS0nkDlK1AqYUr54m3iHRfaSyUw1us2Gg1lnZ5ZxVV/xRTOFm4Q3pc3yL7P63nF J3JyNKgJBx6zowzzB4G4iVFoQSVuhWc= Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-52a49a42353so7562334a12.2 for ; Tue, 12 Sep 2023 09:38:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1694536681; x=1695141481; 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=N2auG8foOocIuOhvl2TVEXZ5ad6D4FgqQPWyc6fW1H0=; b=cn8zQUzX5XH6zFrQbkumbWW0Qq5mKqmltsrLWpXBVy14meSA/Z7uVO8B18qadpGENE 2R1EK3PEG+iKFF2z9bmNj5Flwjc0m4yjh8qNCQALl3fqYpzsJWe/rN3+A7WxxJ6ProWc 4pyQBegO0d72f8E7T5HH8QZ/gCHKT1th+WToU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694536681; x=1695141481; 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=N2auG8foOocIuOhvl2TVEXZ5ad6D4FgqQPWyc6fW1H0=; b=nY65INFMs4zVXCtAPM+vCxsHsqkQP9tyE5SPcvAtQDCM6RYq2Reu6mmE2q7w8pifJm /2Gq36IHRVgRFVfjvDT93jktoeJpB/zdKW9TiMN03cbbEs8YxtRgsSc07lmiPD+iT31p y7T/PypAHehPQ23tbgNQJBlUQVEWBs6fMR4ehCY9a/EHUou4FLaKO0Jba0rvnLb4cX2N c56o6Kr/xaWq26NiqYMksaKXsLyI5NqrGiMAS1qdLWHSBysvBz0jtADhSdjYZjjT8Q8w 3dJtjuENdfCZK6CcvuMKZBMCrkkB56DOLdM9Z6m1N78FU/NmQwxg282arQc3R/N9UfmV GP2A== X-Gm-Message-State: AOJu0YyX40qF9E3PLyWZz3qpeNgbDM0ZVZjeUa6e+8tijzoZo4Xdeisb 2nKi9LFMHof4thbchQ88SBDUzc3TKdz9gA/m4QfPpBYY X-Google-Smtp-Source: AGHT+IEuRTkNu0uFTaB5j3xJqMU78D83TjQPuRe2m7T1KpQe+SOeMhFOcvke3JK/UY4515puNbFI/g== X-Received: by 2002:a17:907:60c6:b0:9a6:5696:388e with SMTP id hv6-20020a17090760c600b009a65696388emr8786530ejc.77.1694536681257; Tue, 12 Sep 2023 09:38:01 -0700 (PDT) Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com. [209.85.221.53]) by smtp.gmail.com with ESMTPSA id o6-20020a17090611c600b0099cf9bf4c98sm7161222eja.8.2023.09.12.09.38.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 12 Sep 2023 09:38:00 -0700 (PDT) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-307d58b3efbso5373018f8f.0 for ; Tue, 12 Sep 2023 09:38:00 -0700 (PDT) X-Received: by 2002:a17:906:214:b0:9a2:86b:bb18 with SMTP id 20-20020a170906021400b009a2086bbb18mr13138181ejd.26.1694536250111; Tue, 12 Sep 2023 09:30:50 -0700 (PDT) MIME-Version: 1.0 References: <20230830184958.2333078-1-ankur.a.arora@oracle.com> <20230830184958.2333078-8-ankur.a.arora@oracle.com> <20230908070258.GA19320@noisy.programming.kicks-ass.net> <87zg1v3xxh.fsf@oracle.com> <87edj64rj1.fsf@oracle.com> <20230911124856.453fba22@gandalf.local.home> <20230911182012.7f1f35c1@gandalf.local.home> In-Reply-To: <20230911182012.7f1f35c1@gandalf.local.home> From: Linus Torvalds Date: Tue, 12 Sep 2023 09:30:33 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 7/9] sched: define TIF_ALLOW_RESCHED To: Steven Rostedt Cc: Ankur Arora , Peter Zijlstra , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, akpm@linux-foundation.org, luto@kernel.org, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, willy@infradead.org, mgorman@suse.de, tglx@linutronix.de, jon.grimm@amd.com, bharata@amd.com, raghavendra.kt@amd.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 6F3154000D X-Stat-Signature: xot7jfmdmkfkot63iyb86t9kk4fa4n9m X-Rspam-User: X-HE-Tag: 1694536683-925205 X-HE-Meta: U2FsdGVkX1+EkblevUn+YWm5zpcfBoy6NcoRqCnYuZFEbwBPMxeH6SXStBLWob2XYLmhpThD/Amn5tycp7x+ngQoPXIKZ/S+8eZAGhfpEK+nBfMRX5oz4LAdKrtAhgYjCSyt7JHCGvzMPrbNMLULh0w/VqvL/lPHwZoRiE0sceTgk9v9Sc3d6wOwjkGN+MtXkg71yxUSezkp63wG4VOGCxOmC3zRAyEVXXF5poJAtaaLoMHruNMjCauHbvyLwAWKT9sMGX5k+CS/3ouUYU+2l6xzt3CbBKnjDrInJKwK+E8W9oZR82yQZg3Q/XByruZU0s5/O7b6EVIfpgI+XHYGMYWwAv+xVcDbkMHMRtdTTztiaRG13jEYscC9mrQHi8cUBYHZ41VnrxL97JvRu0oqUAga7Fm0Z7hBuehsvcGOwH8tuOawwuBswtkrTcE6UlNNGozInmPHqGLvhhsN1VCyI9O8b0xAvjPKDDVjlb4aZsBv3xYI1jWX1Q2+whPSnjNVRNlBgM8xEgK1fDhH74QiE19jsmgyj8Kv4h17JzjC4BFDWU4VnwQbOBioeSzCLLbuqM1qm/Nz6jpxmthFdP2lgX78T3dFjkMrVfSNr7/K/sxtf7OhGc0Z/xnAViCs9bkvUN44UzsSnODzyVwLBlWpoAAwv6HmPd7TcCmCuxboPaGrhlITLSBeb1LCQIrolnEYsbR4y/5msv84EoB1yjbi5qU6ikazZFPla4jiivE2d/h1NCtwTluQaxfhFOvYTInr0tv9LjzcT3XY5ioiz1kOrZUn7LeFMMeq3RdRHUXJ1cc078DN9tTWw6QdvqVfsgVLIwGqY1mlbiWOWEAn2vcqOm0OlZyst70J94IyrSAcimYyE3cvSS6YUR8HEoa26Lgj3Q5RmqDGzndMUn4cqbdts9a1kz0bxZPaxmDNd7lO1I5RJ3Wsri5xQfaZOKhZX8VLUDbocUUiX0qYihGhjiN 0IohQJGD g/72tkKqd5jEXMom2yRUJYEszm0eD+MUWnvToveBHaKm6LsRY2ggpeo1gM+M0IioyliMRqM+Xv3xgEpvN76TcXGmv2E8hIpoK2ZugO4yY1T/Az6hNcx86YC2STmGMwbotaclzzEfwRQ+BRqePm/y6p2gnP2JHsL8AXG6otgk3aheCBuypmx5t0CbhF7AaNpsuNgtZTnQ8kVmuA1xe3cuf1/YtzavBQyjr63V1vthx5LXpb0FcLbzR1ySuAdh+2CRfBBU6L8z7udXd/Kn1yaQyv3GYY5k7jkyhK+agOfB9umIyMkX+4oCOHs4Qv78855u8KNeQzA79NLyCLTYx6RM8Dnzd4rE/1ShcLkLpscEuX4k4zLhQzJWnNsSCBddj6fI8MHv/P7a1kkSDEHUqcrnfcCIrHyr2gSYVwoT9vSHc3q+JQHfARlPkuPustWN0NemhQxn/tDSTtJfjN0NZyotrb3ruk+bza1m/EpdVu2zRLLUMpmUYxTzTCJmVd0aBxy3BKnQprkMgNWSl9qNncDOCxnr54nLgIsKU7Zn6nRGkgzOi0B8KJksGL1dPGnaH5WRi4QyTiWePUw4n5QZd0QwHDg+oV5aYZlAw4S2vHk/31s1ENig= 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: On Mon, 11 Sept 2023 at 15:20, Steven Rostedt wrote: > > Going out on a crazy idea, I wonder if we could get the compiler to help us > here. As all preempt disabled locations are static, and as for functions, > they can be called with preemption enabled or disabled. Would it be > possible for the compiler to mark all locations that need preemption disabled? Definitely not. Those preempt-disabled areas aren't static, for one thing. Any time you take any exception in kernel space, your exception handles is all dynamically preemtible or not, possibly depending on architecture details) Yes, most exception handlers then have magic rules: page faults won't get past a particular point if they happened while not preemptible, for example. And interrupts will disable preemption themselves. But we have a ton of code that runs lots of subtle code in exception handlers that is very architecture-dependent, whether it is things like unaligned fixups, or instruction rewriting things for dynamic calls, or a lot of very grotty code. Most (all?) of it could probably be made to be non-preemptible, but it's a lot of code for a lot of architectures, and it's not the trivial kind. And that's ignoring all the code that is run in just regular process context with no exceptions that is sometimes run under spinlocks, and sometimes not. There's a *lot* of it. Think something as trivial as memcpy(), but also kmalloc() or any number of stuff that is just random support code that can be used from atomic (non-preemtible) context. So even if we could rely on magic compiler support that doesn't exist - which we can't - it's not evenb *remotely* as static as you seem to think it is. Linus