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 B3DCBC25B6E for ; Fri, 27 Oct 2023 06:35:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 125F76B03BD; Fri, 27 Oct 2023 02:35:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B0066B03BE; Fri, 27 Oct 2023 02:35:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E429C6B03BF; Fri, 27 Oct 2023 02:35:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D25476B03BD for ; Fri, 27 Oct 2023 02:35:35 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9368381102 for ; Fri, 27 Oct 2023 06:35:35 +0000 (UTC) X-FDA: 81390280230.14.4D41501 Received: from wnew4-smtp.messagingengine.com (wnew4-smtp.messagingengine.com [64.147.123.18]) by imf09.hostedemail.com (Postfix) with ESMTP id 3D64B140005 for ; Fri, 27 Oct 2023 06:35:33 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm2 header.b=Co3DoD8b; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=G8VR12s6; dmarc=none; spf=pass (imf09.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.18 as permitted sender) smtp.mailfrom=arnd@arndb.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698388533; 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=ijn9LKOmAMUGBGwJHsN1qvv5KR6XAd5/U4/K/UeLB/A=; b=QftS80BeXVyrZaNVF52JNhVdKX5GojwvlVAAugErZac6DtR0OtiJgilxqa+xwtIwpOGwW5 YFI9JZ/PL5y7Vd0jSnS/004OjsoYFfUTOAoBZ0t0BY9fFk4jp7sv4E5ee2d6XCDth1FroV fGMcfv5vIR6W+gzg5yEdBd3cBOE/T7Y= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm2 header.b=Co3DoD8b; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=G8VR12s6; dmarc=none; spf=pass (imf09.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.18 as permitted sender) smtp.mailfrom=arnd@arndb.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698388533; a=rsa-sha256; cv=none; b=43QMe4YelIccz8UG+BLVQrd6eeKWINEohUglc+Vvl2neFFqMf02o5F0NsVsXT62glZrnAj 2DsyTFFtLZrgU+lRCVoW4zw5Nu8pYTuHWKbYsNa7yqrGLkmetE5zTBKHXhnzo/9rKM+pcS 1a2/pHDuV7oPT+gyXJhnLkwIXJJDho8= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.west.internal (Postfix) with ESMTP id 453572B001CD; Fri, 27 Oct 2023 02:35:27 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Fri, 27 Oct 2023 02:35:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1698388526; x=1698395726; bh=ijn9LKOmAMUGBGwJHsN1qvv5KR6XAd5/U4/ K/UeLB/A=; b=Co3DoD8btCq5pcN2ZpOcl/pHAJ8LsxexQkk/R+VnS6HWH+J9Vdv zglhQPOHiQ0g59MqPsF5DU3qQCT9Sab1f/y6hBl2Lx7dgPoimeySBETMdgqTjGmQ B21d2XtP/60HnMzy2fM+TpGKlHZYmWMsEUooV2h6hThxnbpq5a6W43Pr3VUSuz7D xm6ZzzHpkcd3OQQzPAbQ1TqSwzmW3Xr3f48mOi9rF7W7VnYATXoJDp1GtusfEp/I ipB3yib06b5P/V8z8HBew16Uq3ITP60P7K+ElKE8bINa9BpsLTq5mcFUfwduP4Le QBitsI5k6C0ZN9+4Ie+srxYVG9cXf7RVZnw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1698388526; x=1698395726; bh=ijn9LKOmAMUGBGwJHsN1qvv5KR6XAd5/U4/ K/UeLB/A=; b=G8VR12s6GGnvpmRHziUy0Qho1CIqnEEDL76zhFru3tJyc2Ax/91 yVXSjDj6KNjTxbN6RAm+VqD35HQVZTOjQJABjBINF7jqJ8eUHTGeyjv4l2xEZfsU YRpvxyvdSlevP//ZiQTVehUw+pssjeoP05Siix5cBSn1z5AnaKK3UgUBUjpBjqX/ KDz9/FPorCW96qkzhTXnb6oRj2yOqZtBzppzOMdZCI0Ij79PAglUoaeYVOOhknC7 3Ku0aC+6X2UQuNt1y3kmWB8mIWdl8oSNJ7kQCFqoEkNxYX5WAEisUO7DrpDrAEPz VOsMMiu2eL4p3tiH+RgiCtVXnrfv8vTmMyw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrleefgdduudduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdet rhhnugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrg htthgvrhhnpeegfeejhedvledvffeijeeijeeivddvhfeliedvleevheejleetgedukedt gfejveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe grrhhnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id F0DD6B60089; Fri, 27 Oct 2023 02:35:24 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-1048-g9229b632c5-fm-20231019.001-g9229b632 MIME-Version: 1.0 Message-Id: In-Reply-To: <20231026235433.yuvxf7opxg74ncmd@moria.home.lan> References: <20231024134637.3120277-1-surenb@google.com> <20231024134637.3120277-29-surenb@google.com> <87h6me620j.ffs@tglx> <87jzr93rxv.ffs@tglx> <20231026235433.yuvxf7opxg74ncmd@moria.home.lan> Date: Fri, 27 Oct 2023 08:35:03 +0200 From: "Arnd Bergmann" To: "Kent Overstreet" , "Thomas Gleixner" Cc: "Suren Baghdasaryan" , "Andrew Morton" , "Michal Hocko" , "Vlastimil Babka" , "Johannes Weiner" , "Roman Gushchin" , "Mel Gorman" , "Davidlohr Bueso" , "Matthew Wilcox" , "Liam R. Howlett" , "Jonathan Corbet" , void@manifault.com, "Peter Zijlstra" , juri.lelli@redhat.com, ldufour@linux.ibm.com, "Catalin Marinas" , "Will Deacon" , "Ingo Molnar" , "Dave Hansen" , x86@kernel.org, peterx@redhat.com, "David Hildenbrand" , "Jens Axboe" , "Luis Chamberlain" , "Masahiro Yamada" , "Nathan Chancellor" , dennis@kernel.org, "Tejun Heo" , "Muchun Song" , "Mike Rapoport" , "Paul E. McKenney" , pasha.tatashin@soleen.com, yosryahmed@google.com, "Yu Zhao" , "David Howells" , "Hugh Dickins" , "Andrey Konovalov" , "Kees Cook" , "Nick Desaulniers" , vvvvvv@google.com, "Greg Kroah-Hartman" , "Eric Biggers" , ytcoode@gmail.com, "Vincent Guittot" , dietmar.eggemann@arm.com, "Steven Rostedt" , bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, "Christoph Lameter" , "Pekka Enberg" , "Joonsoo Kim" , "Hyeonggon Yoo" <42.hyeyoo@gmail.com>, "Alexander Potapenko" , "Marco Elver" , "Dmitry Vyukov" , "Shakeel Butt" , "Muchun Song" , "Jason Baron" , "David Rientjes" , minchan@google.com, kaleshsingh@google.com, kernel-team@android.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, Linux-Arch , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, cgroups@vger.kernel.org Subject: Re: [PATCH v2 28/39] timekeeping: Fix a circular include dependency Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 3D64B140005 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: epd4ybexoosktgrftir3c178fh7jsoss X-HE-Tag: 1698388532-50662 X-HE-Meta: U2FsdGVkX193UBCOxwUs5HTGIKfNBFtKK6ZuWlw9A4cGgCqa7qY7w8oj1l6ftTtvmex6wqhv+De/qEvrHshnLnfb9E8co5JFxuHfLseb3CC+Xcvu2qzv4OlJMNfblIZFjQCjlO4mB9eV2NNsQB7TF7Hh7RN6AXoSy+7mi14pbx7ZVTh83rnUUcLheLTwwE/OVgCqOAj/k5ONOLLmCUFTEigK5Q6H7gY14yNRE2g8jm3OUQ3LviBRbxG6z7GVZAe0ENQixheRVxBjJdKFj75T3QKbI1VUKkqaUGwGGDE2uXv9LaBZzwULxuvL+X8n8V0pVaVboWXH1hTBmgKzyPS6NsyIoDBSZl7K1X/YmaPS0kwr6efljlEOP7Ix5voRezHWku6khIunBE/vyRk0yAsklBzvVL0vHRDy1lBkAJbeGNkNl+rrrV5yIsp7LnbdId7mgvpuodUYRXAGckHYjXr3XF79uuk7idrjlhya101QQiqXZ1ZWDojK7JBuRe7Vav81e9fzKHxB91UN4fKkDWJsV4y4f+kk/I0EgbsjKsTVDjTRRJ9xGZtHUubob08ZANkqzvUs+0CWEyt8fOKfw1rBvir+YtMxoKczV6QF9Wjki/zycc7WtHE48fZbyr9CQHsP2b8ymnXRe0EdVI3Cd/CKeFEmCMi4RORvDK8UuD58mhHlh1hw6hsWKrLxnZYVkOcq8M4CJCS0VhPoH+6C62nR85zolxyWiN2eAoZ92PECu3xzxjWTdHcMyK0lpyGpDqTiVJN127IH7cTabTMtLVO8+bft1JuKe+clBoVMv2HWfoPH/wYdlIJGNKiQcf0pCsVrodkzfNzKCR87ZxWqLCB55VdUrTR+VUUZh3G3z+zSYH7cpdjFUj++7SMcusk3SbZqjKE388YjWBrghc1MXIvb4BCrRaiXwk2SPUXt5AACfnbRtmneVn85Vfi+c74FKqhOgPHRsfjgjTYXEKzUegC 1+zv61sh k+DLxfpjhzeYJXHOwRPdg2I4FgkfbZ/fxck6c3v+/BM3FnXPKxm4oAxd+ThY7jdL7ATP7YCV1/Fw8H5NuOM9AGC2lDRQs5Ik1xoaPCNvt+gn0qqyMV9Hnmt0gM+y+A5HHIr/slPfYNGzJxEQHUZGZQiGGp971UvLnk/eKMS69zYSdgh+gB2zGc5wk9raD0VpD0QXr8m3cRmo87spJ5dP7ep+1dc1+SweePe4i9nyJHpUDcS5IntZt/yv+CI4ddNmCgvspZWbJXRkYp9E= 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 Fri, Oct 27, 2023, at 01:54, Kent Overstreet wrote: > On Fri, Oct 27, 2023 at 01:05:48AM +0200, Thomas Gleixner wrote: >> On Thu, Oct 26 2023 at 18:33, Suren Baghdasaryan wrote: >> > On Wed, Oct 25, 2023 at 5:33=E2=80=AFPM Thomas Gleixner wrote: >> >> > This avoids a circular header dependency in an upcoming patch by= only >> >> > making hrtimer.h depend on percpu-defs.h >> >> >> >> What's the actual dependency problem? >> > >> > Sorry for the delay. >> > When we instrument per-cpu allocations in [1] we need to include >> > sched.h in percpu.h to be able to use alloc_tag_save(). sched.h >>=20 >> Including sched.h in percpu.h is fundamentally wrong as sched.h is the >> initial place of all header recursions. >>=20 >> There is a reason why a lot of funtionalitiy has been split out of >> sched.h into seperate headers over time in order to avoid that. > > Yeah, it's definitely unfortunate. The issue here is that > alloc_tag_save() needs task_struct - we have to pull that in for > alloc_tag_save() to be inline, which we really want. > > What if we moved task_struct to its own dedicated header? That might be > good to do anyways... Yes, I agree that is the best way to handle it. I've prototyped a more thorough header cleanup with good results (much improved build speed) in the past, and most of the work to get there is to seperate out structures like task_struct, mm_struct, net_device, etc into headers that only depend on the embedded structure definitions without needing all the inline functions associated with them. Arnd