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 99852EDEC51 for ; Wed, 13 Sep 2023 12:58:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 033416B018F; Wed, 13 Sep 2023 08:58:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F26326B0190; Wed, 13 Sep 2023 08:58:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DEDBF6B0191; Wed, 13 Sep 2023 08:58:37 -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 D0F6F6B018F for ; Wed, 13 Sep 2023 08:58:37 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 95EBB1C988B for ; Wed, 13 Sep 2023 12:58:37 +0000 (UTC) X-FDA: 81231578274.18.30CFAFC Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf25.hostedemail.com (Postfix) with ESMTP id A2C0DA0025 for ; Wed, 13 Sep 2023 12:58:34 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694609914; 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; bh=xxeNViXmBE9aJ+D4KbNZSYMYxw6j4hA0qNGsj2aEsME=; b=CqSSX3XTDrsuPcmD0q7itfwYKnQshvuIvZu89Gg8nkzlj8uGib3lpXRq5x9zwKwpesKNXF 3qLqcQNCrm955wGmT5D6pHUSx48dodffAY8cLhEnovSSPzwrk5lS6PCpuQzBrKEb8yVOK2 9wwn/GaEAP1uSGcgF84dHqF7ukOWBqE= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694609914; a=rsa-sha256; cv=none; b=3BpBGJyvZcYIBRgchotl5VCQuv5KH76WsM2dxrr8cDTX79qIDDJ4a4TnBHAEdblYsmVnYP xMgfWIuxO30aoUhe+gGZJemj62CVkgUMv9xpgWfl1frz55CVurtYdAoldNYWYQAOpgYxat iRJ/x2BMbLyHNB25/GKVdyyU3jNKEAo= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-59b50b4556eso56721777b3.1 for ; Wed, 13 Sep 2023 05:58:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694609913; x=1695214713; 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=xxeNViXmBE9aJ+D4KbNZSYMYxw6j4hA0qNGsj2aEsME=; b=eciRFO6G2fLzjzIF9jNF3E1c+ElEo8v70rrsB+VqDfXwl2SfvThJJXPHu4GOx2M89K JXMq7hQzaAJb4daQqUcNdYN6kTOD7p23XXEzGcvpeC1N5Q1XYCO8plPy+jHDvth9UnCk 1DCys3uIq17TUHfqu5XZ5jTPgrbnziL+n0bhpyeM0usEqrhqdUAbbjT2u/GVKEYYAWyC rkDGk7+uehhAuNpmN9hA/PoJ47HLeQcrzZkiz2kiAG+9AUC+q9Uj/H29ZGfB7JENCgne 7XJb5kB9BBzrVMAWNCRlHh1TNOmeXu0XYK/zxZKobxwRqrMQy0kJtcYXc0pMWqXcrlS0 +Wiw== X-Gm-Message-State: AOJu0YzawhQgKx+si6ThSmQRUfBsoKiLGQNdA1OPG1mUvrGvIMNFVr4w SNqI4M2TCd+kdm9WvIZKPBk83IDSoDwKAA== X-Google-Smtp-Source: AGHT+IEMzvmJfFSoAo43s7cmmBCANgi44OxjibMF/wqFvT9TY/qlgFsTdRI8KL12WW+ayU5nus9s1w== X-Received: by 2002:a0d:d856:0:b0:579:16e0:b1bf with SMTP id a83-20020a0dd856000000b0057916e0b1bfmr2640887ywe.12.1694609913518; Wed, 13 Sep 2023 05:58:33 -0700 (PDT) Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com. [209.85.128.179]) by smtp.gmail.com with ESMTPSA id n126-20020a0dcb84000000b00583cf4ed41esm3127553ywd.2.2023.09.13.05.58.32 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Sep 2023 05:58:32 -0700 (PDT) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-59b8f5b6c0aso31048727b3.0 for ; Wed, 13 Sep 2023 05:58:32 -0700 (PDT) X-Received: by 2002:a25:c7cb:0:b0:d7f:8e1f:6df0 with SMTP id w194-20020a25c7cb000000b00d7f8e1f6df0mr2208489ybe.2.1694609912250; Wed, 13 Sep 2023 05:58:32 -0700 (PDT) MIME-Version: 1.0 References: <20230913005647.1534747-1-Liam.Howlett@oracle.com> In-Reply-To: <20230913005647.1534747-1-Liam.Howlett@oracle.com> From: Geert Uytterhoeven Date: Wed, 13 Sep 2023 14:58:20 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] init/main: Clear boot task idle flag To: "Liam R. Howlett" Cc: Andrew Morton , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, "Paul E. McKenney" , Christophe Leroy , Andreas Schwab , Matthew Wilcox , Peng Zhang , Peter Zijlstra , Ingo Molnar , Juri Lelli , Vincent Guittot , "Mike Rapoport (IBM)" , Vlastimil Babka , Linux-Renesas Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A2C0DA0025 X-Stat-Signature: au6aexipk3fhir7pd38gfu6p6c1zig5p X-Rspam-User: X-HE-Tag: 1694609914-844065 X-HE-Meta: U2FsdGVkX1/tH9ZhyFpEQBcAQcccZ2svA1q/VjcSfvOUu3RsR4w4s6lNIfnVg9ya+K+2J7Hwgg3zjfkmo0ZVtMB87ZJJA3GQ7aO65ap8N1MQu92A2rLtPYfl3bfITre5qBMXiAYp47ZmAsmt212WlqvV37fqnc5e2ojSn4G2ozhmd9qQ65JKA8r2CmDv2X/LJXe332eDGQXcnxV+2OuvSOyCxq+PtUKbkLkiN9ZhhOn97Olu9DhdyAcIV8PpufTQUo/T6/hOLGJrN/lY+RhIqQFghhyrXf3sRy6j7W047tbbqVPDRgWj13kNIAzg9uvvMT0yh15YHAgu0vmM0rr2n8LmS0A9z7lu5o/wqJsn6rZNu7VytDeQFKoSfqnbAgRxMkS7jLa+j3xYoaZr/wIuMqLvV8iFj23UfUoHeHegVXQyTcclSR6g58BGdGUFmj29d45XHK9BI0nt0BdnLsGDorYaQw8GBraaXb46M6D3VlfI9XWJXCvc00qDzVSrXK/z2MQB8A7dHvyYRHFVquQv7VRK0o8A0JAga0OJmtWSuuHSpYpCWY44Ijrx0Rh0nly6Pz9Bmq359id6R40F+8ZpW66fVxQpn3agQwcSTJNGv4KkhlxbYf3RUCddJe0jk5DSrYd5K/W2ZdLdg/7BqoNvkbtaDjbxMGdyQO7QNrwU2lgGQ5kIuOYdHUWa3EYlnuvdyjTpZhrR20tWExMIB8c2FwoNLy3ON9aEEfEAwNeWe0q95aAs5XeBDJZjqMJy08E4B4VI8Lq2ytXHJxVt8d/iRUHldLS2lHT0nipeuXLX3PEcXrqQayEPrMztXOmbkdLuLME3Ba5Bo7lXxOL7vsHJRMCHsjLq+GtMhWmOlmCxG3Uy5iLr837j+XUAhCXtDQaWHTuVegD5gb2S6HXo2mo1EwsfRQsiEysGAVlr0sONRCe5w59XNil4TQrgUWdigjjJqQbWKbML2aMB/Gze4Ym 3BXAm3Q/ a8+xTA/7smlyHo6W2S6ZClw/4GcGt7XyXLpD4BSQwd0hQnSKFOn5OkzAgrhqMEzT/WK5CH9z2m8aRDtZbrm/90he5ZApqrF4/J7+C+fxS28CJOlgUFbzd12TCKqZDlL+NgD3WKsSeycMd0wlbKbDj1rBrzRGPyn4KaxooYO27UbUhSn2owSg2mEK5ba8bFCeELXpUXbPyNK8tZk3nSSyrcz8Nk4pTuPpSa7ZmK7ed/5dxxpgMUatx6Zd3eE9xCUw0SCpwpInjLrDewCFvEpIFK/s96wMbTFaP15COO3sR1Wb/ZyAp/0hBY5xACs73T7z/mKNY1bxmDBV8V5U0ZkevqNTb9ThVcC5SZOwT5TJBfAffhsw6rLbUIzTOW3UL4wymnvTihK3Wp3A7jgc6WBAMZfidRTYe/r3yzyb+xP0bVpxw9VlHCB440HBnEpJX5FWWLRPlHsPG+LG4QpHwVJaoxtelMF8a1LKDkNyT5RB5O86HB8RUk5xltIygWMM+hovDHwO2mIygdRFaI9KceQzemuz78m+r8Qz85adTVabKM/VxyrPswYGuYmlt+9VDAUE2j2m276SJNpUhNhyalm4OBbz//IxjsI/0rH3ojC1b73PMlJtF3k+AZQda9H0BgLZyios73falnknJOZwcODfaxtNKxQZBo9KHfb1dK7aeDHiBTHkx9Mb1PQKtoTFxmcayhyR1lCVogd14csI/Ca2oNck9HwVZCVQ0PC11AEj56kw162pTyLwwLr9CjUQTxAHdd9T6LWLF4EG8c5BZgQChdn/rPbfY8kvn9AuLpmwBm/tq5U0PHAUpB49/7kVHE/4iBbR6t3QFb5I0xVXTuT70gqzka9dWomnmFUmSVCzbZnBC0kiufpc10xKbmnE3RemfkXPm 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: Hi Liam, On Wed, Sep 13, 2023 at 2:57=E2=80=AFAM Liam R. Howlett wrote: > Initial booting is setting the task flag to idle (PF_IDLE) by the call > path sched_init() -> init_idle(). Having the task idle and calling > call_rcu() in kernel/rcu/tiny.c means that TIF_NEED_RESCHED will be > set. Subsequent calls to any cond_resched() will enable IRQs, > potentially earlier than the IRQ setup has completed. Recent changes > have caused just this scenario and IRQs have been enabled early. > > This causes a warning later in start_kernel() as interrupts are enabled > before they are fully set up. > > Fix this issue by clearing the PF_IDLE flag on return from sched_init() > and restore the flag in rest_init(). Although the boot task was marked > as idle since (at least) d80e4fda576d, I am not sure that it is wrong to > do so. The forced context-switch on idle task was introduced in the > tiny_rcu update, so I'm going to claim this fixes 5f6130fa52ee. > > Link: https://lore.kernel.org/linux-mm/87v8cv22jh.fsf@mail.lhotse/ > Link: https://lore.kernel.org/linux-mm/CAMuHMdWpvpWoDa=3DOx-do92czYRvkok6= _x6pYUH+ZouMcJbXy+Q@mail.gmail.com/ > Fixes: 5f6130fa52ee ("tiny_rcu: Directly force QS when call_rcu_[bh|sched= ]() on idle_task") > Cc: stable@vger.kernel.org > Cc: Geert Uytterhoeven > Cc: "Paul E. McKenney" > Cc: Christophe Leroy > Cc: Andreas Schwab > Cc: Matthew Wilcox > Cc: Peng Zhang > Cc: Peter Zijlstra > Cc: Ingo Molnar > Cc: Juri Lelli > Cc: Vincent Guittot > Cc: Andrew Morton > Cc: "Mike Rapoport (IBM)" > Cc: Vlastimil Babka > Signed-off-by: Liam R. Howlett Thanks for your patch! This fixes the WARNING: CPU: 0 PID: 0 at init/main.c:992 start_kernel+0x2f0/0x480 I was seeing during boot on Renesas RZ/A1 and RZ/A2 since commit cfeb6ae8bcb96ccf ("maple_tree: disable mas_wr_append() when other readers are possible") in v6.5. However, this causes lots of new warnings on e.g. R-Car M2-W, which wasn't affected before, like: +BUG: sleeping function called from invalid context at kernel/sched/completion.c:111 +in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 +preempt_count: 0, expected: 0 +no locks held by swapper/0/1. +CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 6.6.0-rc1-koelsch-02359-g9a5bed6a8bd8 #1864 +Hardware name: Generic R-Car Gen2 (Flattened Device Tree) + unwind_backtrace from show_stack+0x10/0x14 + show_stack from dump_stack_lvl+0x68/0x90 + dump_stack_lvl from __might_resched+0x1b0/0x22c + __might_resched from __wait_for_common+0x38/0x170 + __wait_for_common from kernel_init+0x10/0x130 + kernel_init from ret_from_fork+0x14/0x30 +Exception stack(0xf0815fb0 to 0xf0815ff8) +5fa0: 00000000 00000000 00000000 00000= 000 +5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000= 000 +5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 and +BUG: sleeping function called from invalid context at kernel/locking/mutex.c:580 +in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1, name: systemd +preempt_count: 0, expected: 0 +no locks held by systemd/1. +CPU: 1 PID: 1 Comm: systemd Tainted: G W N 6.6.0-rc1-koelsch-02359-g9a5bed6a8bd8 #1864 +Hardware name: Generic R-Car Gen2 (Flattened Device Tree) + unwind_backtrace from show_stack+0x10/0x14 + show_stack from dump_stack_lvl+0x68/0x90 + dump_stack_lvl from __might_resched+0x1b0/0x22c + __might_resched from __mutex_lock+0x34/0x3a8 + __mutex_lock from mutex_lock_nested+0x18/0x20 + mutex_lock_nested from do_epoll_wait+0x220/0x5ac + do_epoll_wait from sys_epoll_wait+0x44/0x6c + sys_epoll_wait from ret_fast_syscall+0x0/0x1c +Exception stack(0xf0815fa8 to 0xf0815ff0) +5fa0: beff75e0 00000004 00000004 beff75e0 0000003b fffff= fff +5fc0: beff75e0 00000004 ffffffff 000000fc 00000000 ffffffff 0000003b 00000= 004 +5fe0: 000000fc beff75b8 b6ef8511 b6e75786 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k= .org In personal conversations with technical people, I call myself a hacker. Bu= t when I'm talking to journalists I just say "programmer" or something like t= hat. -- Linus Torvalds