Received: by 2002:ab2:5c0e:0:b0:1ef:a325:1205 with SMTP id i14csp255440lqk; Thu, 14 Mar 2024 02:04:06 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVotG22C4kcbXrvfnkcKPB5+8NMbn1V6/F0ESEg+KIm8oMVnyrJajf53ejbPUfrzECEW5+So1lOfEmCZ5QsTEjS/gKvye3GmlpFqXIHbA== X-Google-Smtp-Source: AGHT+IGUGqX/AOg/5kP7JPFlJuyh5n32Pqe/sm0SnMVx/AShxnmPYj+vnMdF+4rOd7wgY5s7umtZ X-Received: by 2002:a05:622a:1a1a:b0:430:93b8:6b56 with SMTP id f26-20020a05622a1a1a00b0043093b86b56mr1218708qtb.7.1710407046523; Thu, 14 Mar 2024 02:04:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710407046; cv=pass; d=google.com; s=arc-20160816; b=n+QtFh1SEoKevkmmpTnyNM76ZEmQ+y28lwITVW6ZSmy49AZW6lCyBgLR/7NDV1I+fK Yxr8xMqdIaTU75CjTNPRtT95ODZODCXkvZ9hrQI2S7d+AOILDP3P2VmgcP2hrUDeKSq9 6g8grABlUn69mRpV4eADUCspmcIDR4RsB3OL8FPKWiVKg8OJmGntPPrB7EmIa0F9fiVS cTrr/T4XcMjZ6dSuyVYV+2hkPB81v7zIQjZKpuK/RSlKznLAqKUf9dmeAuq+4kETgXIk 0GqTp1xMb79wAZQCNf6PKfmS1JbWGiut4xpYvLksxRWEGf0d3Ps41TVd/dGgQRtzo6kQ Yg0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:date:references:in-reply-to:subject:cc:to:dkim-signature :dkim-signature:from; bh=TKAp8OP3y/ucUXi0rHldBVn3ObfqTk3XL0OTWhkFLcQ=; fh=diKGMZcB2sXmQYYeigy3728RxN2Ovmh1peMRHfHjFBg=; b=uXcCQOm9DCtx+JhWcKd65ZGmLWMzRttGmGhT3/UMkdrZYnejHoerlL9IaU1/3RxXxb Sa9UGNfBxknobPpFok+p80Nrb0fKVTtaF62Off/Isw/MEtmX/QFHcN1O4Pdrgo7uyEyW xIEUljAAsdaRrlHKL16q09Y1zPpgvAfuwxoL9RaEVpQ0C+PzBF9ZmVyVV/WkTrB5bUv0 DqfbU3qEo3sb+8L0r9kBZixi1zz72T+i0ypNZv/AQGim/aLsgdwSFJJ3+zsJ07xdXF8X 2qONeMbM9Q2wrWbWjNJ57qhlJL20vPh+aWUC/MW4AQZvrg49iy43Z33nHlWQlcvGRgzh 9LyA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=44ExDuYW; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-103017-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-103017-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id a6-20020a05622a02c600b0042f0d5594eesi1063846qtx.588.2024.03.14.02.04.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Mar 2024 02:04:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-103017-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=44ExDuYW; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-103017-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-103017-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 430B71C223B8 for ; Thu, 14 Mar 2024 09:04:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D0DC26BFA3; Thu, 14 Mar 2024 09:03:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="44ExDuYW"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="GDSzqqu+" Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 875DA6BB45; Thu, 14 Mar 2024 09:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710407039; cv=none; b=R2v49/tZabFBl7cibpa3u4DJk2xrFleYByuN4s3qIcd3LhtyZMDP9HlDtzuAK03wnJ95nfZ1Jk2NRVOxSWjDXoxCknhamlb1MhT+iSs39yK+z5LT6CXNlHp2JGEYYCCkhIIHD9kkMEvsTzyZOJRJVDhwevHW0rY2atOgOYQKFYU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710407039; c=relaxed/simple; bh=xJm1bOn3DAxTHQvhFKMBuTXVKSGj1Wo2H74AdAjv1dE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=M5UGl1E2iQGLO7I/yY9abOsJEwXaN4ryNqK+gX+VP829ViRbolQeInvKAciDhFEZE7F7DA+9brTq7bE8g2Ot0BenW793x2QaltUYUTlENsdXLeWv2kzd/oy6vunPgI/10v/lfVsWY4wTfpYXrqkk7tEoL1MS5lSsV44NxdDvOfc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=44ExDuYW; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=GDSzqqu+; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1710407035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=TKAp8OP3y/ucUXi0rHldBVn3ObfqTk3XL0OTWhkFLcQ=; b=44ExDuYWr+WNNRYpKA6eKyLpRxJVtsVzx5lZNlN5dGyMAz+cXWxxPm6r7faNRCxbrz/GEm 6LxwghwZo8C7OLu2pTn6zCZj1NEZjqXzW7AvY1n9MLRj4bF/FvZDaVVbZmIP+YHayUeMn3 RaIl9yvxR+TYLWIGdniVvRvvqwIFc/Qvgc4vtgG0KxhwKlL4inF/sySJWlZQfiMoRZLpX8 J1gMmIOWhNdZwbCYE7ho5OgvsC6QxX8AcwpRPHEHd8i37Pr9FhshTgn9iDIwIkBRuooy0L 9AdZFdHYuo4QF764pebIpi7B47ePGuOrX3vRn43uOElCgNa6HTHKuDVoHs7DXw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1710407035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=TKAp8OP3y/ucUXi0rHldBVn3ObfqTk3XL0OTWhkFLcQ=; b=GDSzqqu+kMUCZkPu2hAu/90kFtJnk19gEJZWot8xZBC/Qp3xdHRQ0jJF+31gn/vEfny1u/ if2mHWn7rO3IwDAQ== To: "Russell King (Oracle)" , Florian Fainelli Cc: Joel Fernandes , Boqun Feng , Anna-Maria Behnsen , Linus Torvalds , linux-kernel@vger.kernel.org, kernel-team@meta.com, paulmck@kernel.org, mingo@kernel.org, rcu@vger.kernel.org, neeraj.upadhyay@amd.com, urezki@gmail.com, qiang.zhang1211@gmail.com, frederic@kernel.org, bigeasy@linutronix.de, chenzhongjin@huawei.com, yangjihong1@huawei.com, rostedt@goodmis.org, Justin Chen Subject: Re: Unexplained long boot delays [Was Re: [GIT PULL] RCU changes for v6.9] In-Reply-To: References: <4274be61-60bd-4e1e-9c16-26e6e5e06f65@gmail.com> <2fb110ed-ba04-4320-9ef0-8766c9df5578@gmail.com> Date: Thu, 14 Mar 2024 10:03:55 +0100 Message-ID: <87o7bhmbgk.ffs@tglx> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Wed, Mar 13 2024 at 21:59, Russell King (Oracle) wrote: > On Wed, Mar 13, 2024 at 02:30:43PM -0700, Florian Fainelli wrote: > I haven't understood the code there yet, and how it would interact with > arch code, but one thing that immediately jumps out to me is this: > > " As long as a CPU is busy it expires both local and global timers. When a > CPU goes idle it arms for the first expiring local timer." > > So are local timers "armed" when they are enqueued while the cpu is > "busy" during initialisation, and will they expire, and will that > expiry be delivered in a timely manner? The local timers are timers which are pinned on a CPU. Global ones do not care about the CPU they expire on. So if the CPU goes idle then it arms for the first local timer. If the first global timer expires after the first local, nothing to see. If it expires before then that timer is queued in the migration hierarchy and some other busy CPU will take care of it. If the last CPU goes idle then it has to arm for the first timer (it's own local, global and the hierarchy). So it's all covered in theory, but there seems to be an issue somewhere. We'll figure it out. Thanks, tglx