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 0ABECC83F1B for ; Thu, 10 Jul 2025 13:40:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 65E0C6B007B; Thu, 10 Jul 2025 09:40:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 636096B0088; Thu, 10 Jul 2025 09:40:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5250C6B0089; Thu, 10 Jul 2025 09:40:46 -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 3F9CF6B007B for ; Thu, 10 Jul 2025 09:40:46 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E6B5E1401DD for ; Thu, 10 Jul 2025 13:40:45 +0000 (UTC) X-FDA: 83648465250.28.17362ED Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf25.hostedemail.com (Postfix) with ESMTP id 4E1E4A000A for ; Thu, 10 Jul 2025 13:40:43 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=eiXbkkkr; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of gmonaco@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=gmonaco@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752154843; a=rsa-sha256; cv=none; b=HsnOqt0nW4VshysuVR6KiCU0I5OPCTEkmS4i6omm2dackRR7gMuAo2Rax9xG0mrDHSaTZ5 DHAEnSpEuWLKd0Sir5agzOVAsOypryxzxyaYm5CjV7yY8lZlnYW1bTCOLTeNSatAj7KCaC 3YrRkMDMUeZQvON9Kak+gaLBkdqZOlo= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=eiXbkkkr; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of gmonaco@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=gmonaco@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752154843; 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=i/bUYQQ3zKfG1yZ9PLs5asl14bRunfwhH8w2aGpBUkw=; b=ilxGfdrsSZZbKHQDLiWnRpGv0OoKiUMUzxmUGtXRvERfr0Ou9qcWWHM8a8UnzwKrIXQ0ey lftZ69NGBAvDocOrFiB4ZquNzBdaAaVdP4c3v+0s/b3oWIs0lBxZT4zGgiUBEDGgNn0qiA vmoL2KWBvEr4jbKz9S0LpOXhX2cluz4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752154842; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=i/bUYQQ3zKfG1yZ9PLs5asl14bRunfwhH8w2aGpBUkw=; b=eiXbkkkry4jNSV0Kbm6bAk1KX0GvFJqQE/WRFomBk3Li7PjBa6a+Hjd4mv42RCBfBqMMiq L8bQH9hHIbfSnK8PBKEyLvv35fRh9uInLhQtfRV5byN3naMQiUU8Iy3WHGPcSZN4PrL3b0 wFSxz29bOPnFTr4sAed+xC0jentiNwQ= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-582-7xdxK3knMBeUh0IouyCOfQ-1; Thu, 10 Jul 2025 09:40:41 -0400 X-MC-Unique: 7xdxK3knMBeUh0IouyCOfQ-1 X-Mimecast-MFC-AGG-ID: 7xdxK3knMBeUh0IouyCOfQ_1752154840 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-450d64026baso5543475e9.1 for ; Thu, 10 Jul 2025 06:40:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752154840; x=1752759640; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=o4YsobBrj+MEQdmCpIc3VlUTTKBLXwGx7WqZOSzhGY4=; b=ElMOsKfTvbx+bEOAVnt9pH/6aWh9tBlBAX+X6I4zbtp29QtF5uXQb/0fuPhPc1jcPV Q0Do778WXflBgD8jZu9deHw96B3ivNBs1CGRFvgQBOAEqzONfIwieb7fnXEQAsL5G/uF osx6Tzin4qFrmLgf6afVxpzfAwfdeC09C6knJcyfiGs1OxtuBT9XLsgrbZVb4Lq2k9Qj 71A7XrS8vUqoHJ3uyFSSiuhA94PzV/QLZxA/WbhKzcmJ1ysHIqTnUcGgDUoKCsKgT+E2 sedeFSmnWW+44c3k3JVZHCBh8dZm6RDx4Ch4qjs9uPPafdmYEkYDDJrZTs6uHshlcjbm OQdg== X-Forwarded-Encrypted: i=1; AJvYcCVSLx9cITdJJ4eg2sxgWzegHK0rd/dyNSsRx0f7sYtFupCTOyZD9v/upwNMCPPj+A1H25lipeSTpQ==@kvack.org X-Gm-Message-State: AOJu0Yyp6dyIS/3RXgoixxL//WLR8SaEbMik9mdP3RwWoMKN8uXbcQ5k 4haShi6hqK0RHJJ5eoYYhHPmAXc5b/tEMgOSyiuhZ2WbQo+dgDcdWRmK+yMz7updBMs1qQnqco7 Zf0MMs51EaBIHeuHX+WwMgXkc7Ysw7+U/fnM2zNGDyHHBUxO2nY8n X-Gm-Gg: ASbGncvmCutvg5hMFZzo2I8LU52LWqhCTTj3iY4s7xzIv11rJ+9H14nLxK0A/bxGyvT NQ/kF/BTFJ8US1vqAJI2ZSr7EZ3nruOkMZl8MitHE03x7BnBgmBffuRInRHtTfUXTH0RYcqI99i 8Tty4tv9gPA3I8FkyK1TKO61u7JbF4HggEbJO8uspPLGyUQnRh8Bq3fg5ofUZ7vmHKm5EogwS5c EX34p8VTSRraD3qvXI7hBB6U4DvaqAJecAMh0GhcXwI0faMLt51dEG0aKXP/LKxgZroAi4NRzeD LOqi3KakiipjrhRHm/AV3uiEuBZAnRr/jAKj1ZA/+t8GHfHF X-Received: by 2002:a05:6000:188d:b0:3a6:d296:feaf with SMTP id ffacd0b85a97d-3b5e450b4ccmr4887232f8f.24.1752154839647; Thu, 10 Jul 2025 06:40:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEy9x5N0/8PpYt+kD67va6hnXk1oZALQPnjh4gJzrRvzZsyp+0N1hfGHmyfe7QHatJNFv3QEQ== X-Received: by 2002:a05:6000:188d:b0:3a6:d296:feaf with SMTP id ffacd0b85a97d-3b5e450b4ccmr4887199f8f.24.1752154838985; Thu, 10 Jul 2025 06:40:38 -0700 (PDT) Received: from gmonaco-thinkpadt14gen3.rmtit.csb ([185.107.56.42]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd540a95sm20251075e9.29.2025.07.10.06.40.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 06:40:38 -0700 (PDT) Message-ID: Subject: Re: [PATCH v14 2/3] sched: Move task_mm_cid_work to mm timer From: Gabriele Monaco To: Mathieu Desnoyers , kernel test robot Cc: oe-lkp@lists.linux.dev, lkp@intel.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, aubrey.li@linux.intel.com, yu.c.chen@intel.com, Andrew Morton , David Hildenbrand , Ingo Molnar , Peter Zijlstra , "Paul E. McKenney" , Ingo Molnar Date: Thu, 10 Jul 2025 15:40:36 +0200 In-Reply-To: References: <202507100606.90787fe6-lkp@intel.com> Autocrypt: addr=gmonaco@redhat.com; prefer-encrypt=mutual; keydata=mDMEZuK5YxYJKwYBBAHaRw8BAQdAmJ3dM9Sz6/Hodu33Qrf8QH2bNeNbOikqYtxWFLVm0 1a0JEdhYnJpZWxlIE1vbmFjbyA8Z21vbmFjb0ByZWRoYXQuY29tPoiZBBMWCgBBFiEEysoR+AuB3R Zwp6j270psSVh4TfIFAmbiuWMCGwMFCQWjmoAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgk Q70psSVh4TfJzZgD/TXjnqCyqaZH/Y2w+YVbvm93WX2eqBqiVZ6VEjTuGNs8A/iPrKbzdWC7AicnK xyhmqeUWOzFx5P43S1E1dhsrLWgP User-Agent: Evolution 3.56.2 (3.56.2-1.fc42) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: dFKIk-uvzzjZPkb8g6ryy7CR1qtzkTCStYCTnpsHbpI_1752154840 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4E1E4A000A X-Stat-Signature: zc8xg7fjrr81y5rgoibgprbkdiaxyyqa X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1752154843-355267 X-HE-Meta: U2FsdGVkX1+0zYC6WN9pLAG1z4LK0HP/9zHmVSDPryHcsuNKY3fAhhPIp7j69Q9bd9Q6qvYjQXnIuEQLvNyi1e7uVwpKDGfmTtH7Cv0s6DoDcWHfxNCbEAZTU1KU5wpQEnY1jBmrpp5z8sL1T6IkoZJA5Z4RF3sOKeSTej2G7Z1+e57eX66DhhBYnebkNDHCvjRDu73x1zXBn6msXYNj60RvkNljqvvGSgaBlSlCK3ZlZBVKwX8hJQ8hwwX1zWXEteiio/rG0agdhgr6iIQHopA2BEVDQUdACVrkQoAzY9zeBgRvQyOGakma3AeVd/rARO/krPs9Blgvu3su6rwrXpNxo4hSc0ec76/TVaCujFHeeM8+tO2+wak9QUGUQg67kRpDf+YkGjV3QVrj5LMD4akdl+0RLvO1Ykvcm82yQN9MmSULz0VYjQW3NUY63BToaKhE31sLO2Ymw327+Jlq6in7kxPA6xDSej451Elcf1b2oFFVFSVOlMCook9UtS31JMU49DQ1/g52DAG/azXaoLCd4IAWFA2wwUQEOqcgmgqq0gC3gX7kVHpnbyvp8EWkTIYnN30oweMqlqNIXYFnCccND32PwH0Y2eky72okFtyv/9XZPFmC/xXluEGJgc427HkjbO9vSs3XU0ZAB1mY1+6M634aNr5LQ6ax6sasFW/NH8+LzEkFqqxTNFgY5CqKAXg1A3Pi/7fYIPLhtUnZqAQBZ5C9Xu2uKJuGvVJrJJ5xHGHKtgVeM2+YDeN/VdrnPaPpTwfiGp/mkvkA/xAE8DfNcladc65IfeGtAHh/iOCrlHGwB7F3dHU2t0kYKly29vMUJvaTEsPtQzdnzt7s8h4+dg8wmibf+PNAhUNPUJj5qCtjzyGVPnoPgnVd+bzW1ztoE41g4GJ2OdkybrNBLS6BI4d6XvSIa9nrK1s0dpqLce6TNukTy0bPymBNTj2iM6O7GQNlftDAfSsTnzB 208iFEZ7 4iu5PwzzTPpWd0BdFoYn7SsNTCUXGyhOxK6IoIyLENTji1h+zfDMdFcFW6jtim7Cx02G1VM76AGrAo3JQdpA5ciNyG0k9I8eg2XdU2z1NcWyl2R7xxgoeC1ywdt3WZmBOrExJPTenuBKthNyK1MnI+IlDn51dKaHUcRIlfVZqH0JFkPnm3RT2sztLVHqLPnSABcEPwzQsSlAqeptz7jx/GHyh98IozQc5jvaVu6gmyU9YdgRhPX653HKwEj1Grlcf2RcRDTKsVMktAESLcxl5I3ggGVKb9BlRRel/+cplhKvwoHiQWRebj1nkeQ+AheAvKgFGHelwcorEYNZn2fFqMA3ZLQXEBmmejn2MqA1E6xDduOq2UyS7oHW8slgs18Fl8EZJQfkbo0EUd43qIcA/0w0FHYGor7W5KYZQbf4Rld9yf9m57rUx2rOBQa+4BdFcAOGe/P5wOfuK51fvxV/YccluOaIholr4pQrB5Q1Dd5oIKHeIdVldsyqeEGljclTcRJ0wdTZZu3qVv24walD5H1Ul9KSpmHwEXOzFb1n+S8omtKE= 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 Thu, 2025-07-10 at 09:23 -0400, Mathieu Desnoyers wrote: > On 2025-07-10 00:56, kernel test robot wrote: > >=20 > >=20 > > Hello, > >=20 > > kernel test robot noticed "WARNING:inconsistent_lock_state" on: > >=20 > > commit: d06e66c6025e44136e6715d24c23fb821a415577 ("[PATCH v14 2/3] > > sched: Move task_mm_cid_work to mm timer") > > url: > > https://github.com/intel-lab-lkp/linux/commits/Gabriele-Monaco/sched-Ad= d-prev_sum_exec_runtime-support-for-RT-DL-and-SCX-classes/20250707-224959 > > patch link: > > https://lore.kernel.org/all/20250707144824.117014-3-gmonaco@redhat.com/ > > patch subject: [PATCH v14 2/3] sched: Move task_mm_cid_work to mm > > timer > >=20 > > in testcase: boot > >=20 > > config: x86_64-randconfig-003-20250708 > > compiler: gcc-11 > > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp > > 2 -m 16G > >=20 > > (please refer to attached dmesg/kmsg for entire log/backtrace) > >=20 > >=20 > > +-------------------------------------------------+------------+--- > > ---------+ > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 50c1dc07e= e | > > > d06e66c602 | > > +-------------------------------------------------+------------+--- > > ---------+ > > > WARNING:inconsistent_lock_state=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | > > > 12=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | > > > inconsistent{SOFTIRQ-ON-W}->{IN-SOFTIRQ-W}usage | 0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | > > > 12=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | > > +-------------------------------------------------+------------+--- > > ---------+ > >=20 >=20 > I suspect the issue comes from calling mmdrop(mm) from timer context > in a scenario > where the mm_count can drop to 0. >=20 > This causes calls to pgd_free() and such to take the pgd_lock in > softirq > context, when in other cases it's taken with softirqs enabled. >=20 > See "mmdrop_sched()" for RT. I think we need something similar for > the > non-RT case, e.g. a: >=20 > static inline void __mmdrop_delayed(struct rcu_head *rhp) > { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct mm_struct *mm =3D= container_of(rhp, struct mm_struct, > delayed_drop); >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __mmdrop(mm); > } >=20 > static inline void mmdrop_timer(struct mm_struct *mm) > { > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Provides a full memor= y barrier. See mmdrop() */ > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (atomic_dec_and_test(= &mm->mm_count)) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 call_rcu(&mm->delayed_drop, __mmdrop_delayed); > } >=20 > Thoughts ? >=20 Thanks for the suggestion. I noticed the problem is in the mmdrop over there, but I'm seeing this is getting unnecessarily complicated. I'm not sure it's worth going down this path, also considering pushing the timer wheel like this might end up in unintended effects like it happened with the workqueue. I am going to try the alternative approach of running the scan in batches [1] still using a task_work but triggering it from __rseq_handle_notify_resume like here. If that works in the original usecase, I guess it's better to keep it that way. What do you think? Thanks, Gabriele [1] - https://lore.kernel.org/lkml/20250217112317.258716-1-gmonaco@redhat.com > Thanks, >=20 > Mathieu >=20 > >=20 > > If you fix the issue in a separate patch/commit (i.e. not just a > > new version of > > the same patch/commit), kindly add following tags > > > Reported-by: kernel test robot > > > Closes: > > > https://lore.kernel.org/oe-lkp/202507100606.90787fe6-lkp@intel.com > >=20 > >=20 > > [=C2=A0=C2=A0 26.556715][=C2=A0=C2=A0=C2=A0 C0] WARNING: inconsistent l= ock state > > [=C2=A0=C2=A0 26.557127][=C2=A0=C2=A0=C2=A0 C0] 6.16.0-rc5-00002-gd06e6= 6c6025e #1 Tainted: > > G=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 T > > [=C2=A0=C2=A0 26.557730][=C2=A0=C2=A0=C2=A0 C0] -----------------------= --------- > > [=C2=A0=C2=A0 26.558133][=C2=A0=C2=A0=C2=A0 C0] inconsistent {SOFTIRQ-O= N-W} -> {IN-SOFTIRQ- > > W} usage. > > [=C2=A0=C2=A0 26.558662][=C2=A0=C2=A0=C2=A0 C0] stdbuf/386 [HC0[0]:SC1[= 1]:HE1:SE0] takes: > > [ 26.559118][ C0] ffffffff870d4438 (pgd_lock){+.?.}-{3:3}, at: > > pgd_free (arch/x86/mm/pgtable.c:67 arch/x86/mm/pgtable.c:98 > > arch/x86/mm/pgtable.c:379) > > [=C2=A0=C2=A0 26.559786][=C2=A0=C2=A0=C2=A0 C0] {SOFTIRQ-ON-W} state wa= s registered at: > > [ 26.560232][ C0] mark_usage (kernel/locking/lockdep.c:4669) > > [ 26.560561][ C0] __lock_acquire (kernel/locking/lockdep.c:5194) > > [ 26.560929][ C0] lock_acquire (kernel/locking/lockdep.c:473 > > kernel/locking/lockdep.c:5873) > > [ 26.561267][ C0] _raw_spin_lock > > (include/linux/spinlock_api_smp.h:134 > > kernel/locking/spinlock.c:154) > > [ 26.561617][ C0] pgd_alloc (arch/x86/mm/pgtable.c:86 > > arch/x86/mm/pgtable.c:353) > > [ 26.561950][ C0] mm_init+0x64f/0xbfb > > [ 26.562342][ C0] mm_alloc (kernel/fork.c:1109) > > [ 26.562655][ C0] dma_resv_lockdep (drivers/dma-buf/dma-resv.c:784) > > [ 26.563020][ C0] do_one_initcall (init/main.c:1274) > > [ 26.563389][ C0] do_initcalls (init/main.c:1335 init/main.c:1352) > > [ 26.563744][ C0] kernel_init_freeable (init/main.c:1588) > > [ 26.564144][ C0] kernel_init (init/main.c:1476) > > [ 26.564402][ C0] ret_from_fork (arch/x86/kernel/process.c:154) > > [ 26.564633][ C0] ret_from_fork_asm (arch/x86/entry/entry_64.S:258) > > [=C2=A0=C2=A0 26.564871][=C2=A0=C2=A0=C2=A0 C0] irq event stamp: 4774 > > [ 26.565070][ C0] hardirqs last enabled at (4774): > > _raw_spin_unlock_irq (arch/x86/include/asm/irqflags.h:42 > > arch/x86/include/asm/irqflags.h:119 > > include/linux/spinlock_api_smp.h:159 kernel/locking/spinlock.c:202) > > [ 26.565526][ C0] hardirqs last disabled at (4773): > > _raw_spin_lock_irq (arch/x86/include/asm/preempt.h:80 > > include/linux/spinlock_api_smp.h:118 kernel/locking/spinlock.c:170) > > [ 26.565971][ C0] softirqs last enabled at (4256): local_bh_enable > > (include/linux/bottom_half.h:33) > > [ 26.566408][ C0] softirqs last disabled at (4771): __do_softirq > > (kernel/softirq.c:614) > > [=C2=A0=C2=A0 26.566823][=C2=A0=C2=A0=C2=A0 C0] > > [=C2=A0=C2=A0 26.566823][=C2=A0=C2=A0=C2=A0 C0] other info that might h= elp us debug this: > > [=C2=A0=C2=A0 26.567198][=C2=A0=C2=A0=C2=A0 C0]=C2=A0 Possible unsafe l= ocking scenario: > > [=C2=A0=C2=A0 26.567198][=C2=A0=C2=A0=C2=A0 C0] > > [=C2=A0=C2=A0 26.567548][=C2=A0=C2=A0=C2=A0 C0]=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 CPU0 > > [=C2=A0=C2=A0 26.567709][=C2=A0=C2=A0=C2=A0 C0]=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 ---- > > [=C2=A0=C2=A0 26.567869][=C2=A0=C2=A0=C2=A0 C0]=C2=A0=C2=A0 lock(pgd_lo= ck); > > [=C2=A0=C2=A0 26.568060][=C2=A0=C2=A0=C2=A0 C0]=C2=A0=C2=A0 > > [=C2=A0=C2=A0 26.568255][=C2=A0=C2=A0=C2=A0 C0]=C2=A0=C2=A0=C2=A0=C2=A0= lock(pgd_lock); > > [=C2=A0=C2=A0 26.568452][=C2=A0=C2=A0=C2=A0 C0] > > [=C2=A0=C2=A0 26.568452][=C2=A0=C2=A0=C2=A0 C0]=C2=A0 *** DEADLOCK *** > > [=C2=A0=C2=A0 26.568452][=C2=A0=C2=A0=C2=A0 C0] > > [=C2=A0=C2=A0 26.568830][=C2=A0=C2=A0=C2=A0 C0] 3 locks held by stdbuf/= 386: > > [ 26.569056][ C0] #0: ffff888170d5c1a8 (&sb->s_type- > > >i_mutex_key){++++}-{4:4}, at: lookup_slow (fs/namei.c:1834) > > [ 26.569535][ C0] #1: ffff888170cf5850 (&lockref->lock){+.+.}- > > {3:3}, at: d_alloc (include/linux/dcache.h:319 fs/dcache.c:1777) > > [ 26.569961][ C0] #2: ffffc90000007d40 ((&mm->cid_timer)){+.-.}- > > {0:0}, at: call_timer_fn (kernel/time/timer.c:1744) > > [=C2=A0=C2=A0 26.570421][=C2=A0=C2=A0=C2=A0 C0] > > [=C2=A0=C2=A0 26.570421][=C2=A0=C2=A0=C2=A0 C0] stack backtrace: > > [=C2=A0=C2=A0 26.570704][=C2=A0=C2=A0=C2=A0 C0] CPU: 0 UID: 0 PID: 386 = Comm: stdbuf Tainted: > > G=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 T=C2=A0=C2=A0 6.16.0-rc5-00002-gd06e66c6025e #1 > > PREEMPT(voluntary)=C2=A0 39c5cbdaf5b4eb171776daa7d42daa95c0766676 > > [=C2=A0=C2=A0 26.570716][=C2=A0=C2=A0=C2=A0 C0] Tainted: [T]=3DRANDSTRU= CT > > [=C2=A0=C2=A0 26.570719][=C2=A0=C2=A0=C2=A0 C0] Call Trace: > > [=C2=A0=C2=A0 26.570723][=C2=A0=C2=A0=C2=A0 C0]=C2=A0 > > [ 26.570727][ C0] dump_stack_lvl (lib/dump_stack.c:122 > > (discriminator 4)) > > [ 26.570735][ C0] dump_stack (lib/dump_stack.c:130) > > [ 26.570740][ C0] print_usage_bug (kernel/locking/lockdep.c:4047) > > [ 26.570748][ C0] valid_state (kernel/locking/lockdep.c:4060) > > [ 26.570755][ C0] mark_lock_irq (kernel/locking/lockdep.c:4270) > > [ 26.570762][ C0] ? save_trace (kernel/locking/lockdep.c:592) > > [ 26.570773][ C0] ? mark_lock (kernel/locking/lockdep.c:4728 > > (discriminator 3)) > > [ 26.570780][ C0] mark_lock (kernel/locking/lockdep.c:4756) > > [ 26.570787][ C0] mark_usage (kernel/locking/lockdep.c:4645) > > [ 26.570796][ C0] __lock_acquire (kernel/locking/lockdep.c:5194) > > [ 26.570804][ C0] lock_acquire (kernel/locking/lockdep.c:473 > > kernel/locking/lockdep.c:5873) > > [ 26.570811][ C0] ? pgd_free (arch/x86/mm/pgtable.c:67 > > arch/x86/mm/pgtable.c:98 arch/x86/mm/pgtable.c:379) > > [ 26.570822][ C0] ? validate_chain (kernel/locking/lockdep.c:3826 > > kernel/locking/lockdep.c:3879) > > [ 26.570828][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570839][ C0] _raw_spin_lock > > (include/linux/spinlock_api_smp.h:134 > > kernel/locking/spinlock.c:154) > > [ 26.570845][ C0] ? pgd_free (arch/x86/mm/pgtable.c:67 > > arch/x86/mm/pgtable.c:98 arch/x86/mm/pgtable.c:379) > > [ 26.570854][ C0] pgd_free (arch/x86/mm/pgtable.c:67 > > arch/x86/mm/pgtable.c:98 arch/x86/mm/pgtable.c:379) > > [ 26.570863][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570873][ C0] __mmdrop (kernel/fork.c:681) > > [ 26.570882][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570891][ C0] mmdrop (include/linux/sched/mm.h:55) > > [ 26.570901][ C0] task_mm_cid_scan (kernel/sched/core.c:10619 > > (discriminator 3)) > > [ 26.570910][ C0] ? lock_is_held (include/linux/lockdep.h:249) > > [ 26.570918][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570928][ C0] call_timer_fn (arch/x86/include/asm/atomic.h:23 > > include/linux/atomic/atomic-arch-fallback.h:457 > > include/linux/jump_label.h:262 include/trace/events/timer.h:127 > > kernel/time/timer.c:1748) > > [ 26.570935][ C0] ? trace_timer_base_idle > > (kernel/time/timer.c:1724) > > [ 26.570943][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570953][ C0] ? wake_up_new_task (kernel/sched/core.c:10597) > > [ 26.570962][ C0] __run_timers (kernel/time/timer.c:1799 > > kernel/time/timer.c:2372) > > [ 26.570970][ C0] ? add_timer_global (kernel/time/timer.c:2343) > > [ 26.570977][ C0] ? __kasan_check_write (mm/kasan/shadow.c:38) > > [ 26.570988][ C0] ? do_raw_spin_lock > > (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic- > > arch-fallback.h:2170 include/linux/atomic/atomic- > > instrumented.h:1302 include/asm-generic/qspinlock.h:111 > > kernel/locking/spinlock_debug.c:116) > > [ 26.570996][ C0] ? __raw_spin_lock_init > > (kernel/locking/spinlock_debug.c:114) > > [ 26.571006][ C0] __run_timer_base (kernel/time/timer.c:2385) > > [ 26.571014][ C0] run_timer_base (kernel/time/timer.c:2394) > > [ 26.571021][ C0] run_timer_softirq > > (arch/x86/include/asm/atomic.h:23 include/linux/atomic/atomic-arch- > > fallback.h:457 include/linux/jump_label.h:262 > > kernel/time/timer.c:342 kernel/time/timer.c:2406) > > [ 26.571028][ C0] handle_softirqs (arch/x86/include/asm/atomic.h:23 > > include/linux/atomic/atomic-arch-fallback.h:457 > > include/linux/jump_label.h:262 include/trace/events/irq.h:142 > > kernel/softirq.c:580) > > [ 26.571039][ C0] __do_softirq (kernel/softirq.c:614) > > [ 26.571046][ C0] __irq_exit_rcu (kernel/softirq.c:453 > > kernel/softirq.c:680) > > [ 26.571055][ C0] irq_exit_rcu (kernel/softirq.c:698) > > [ 26.571064][ C0] sysvec_apic_timer_interrupt > > (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) > > [=C2=A0=C2=A0 26.571076][=C2=A0=C2=A0=C2=A0 C0]=C2=A0 > > [=C2=A0=C2=A0 26.571078][=C2=A0=C2=A0=C2=A0 C0]=C2=A0 > > [ 26.571081][ C0] asm_sysvec_apic_timer_interrupt > > (arch/x86/include/asm/idtentry.h:574) > > [ 26.571088][ C0] RIP: 0010:d_alloc (fs/dcache.c:1778) > > [ 26.571100][ C0] Code: 8d 7c 24 50 b8 ff ff 37 00 ff 83 f8 00 00 > > 00 48 89 fa 48 c1 e0 2a 48 c1 ea 03 80 3c 02 00 74 05 e8 5f f3 f6 > > ff 49 89 5c 24 50 <49> 8d bc 24 10 01 00 00 48 8d b3 20 01 00 00 e8 > > 87 bc ff ff 4c 89 > > All code > > =3D=3D=3D=3D=3D=3D=3D=3D > > =C2=A0=C2=A0=C2=A0 0:=098d 7c 24 50=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=09lea=C2=A0=C2=A0=C2=A0 0x50(%rsp),%edi > > =C2=A0=C2=A0=C2=A0 4:=09b8 ff ff 37 00=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=09mov=C2=A0=C2=A0=C2=A0 $0x37ffff,%eax > > =C2=A0=C2=A0=C2=A0 9:=09ff 83 f8 00 00 00=C2=A0=C2=A0=C2=A0=C2=A0=09inc= l=C2=A0=C2=A0 0xf8(%rbx) > > =C2=A0=C2=A0=C2=A0 f:=0948 89 fa=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09mov=C2=A0=C2=A0=C2=A0 %rdi,%rdx > > =C2=A0=C2=A0 12:=0948 c1 e0 2a=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=09shl=C2=A0=C2=A0=C2=A0 $0x2a,%rax > > =C2=A0=C2=A0 16:=0948 c1 ea 03=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=09shr=C2=A0=C2=A0=C2=A0 $0x3,%rdx > > =C2=A0=C2=A0 1a:=0980 3c 02 00=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=09cmpb=C2=A0=C2=A0 $0x0,(%rdx,%rax,1) > > =C2=A0=C2=A0 1e:=0974 05=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09je=C2=A0=C2=A0=C2=A0= =C2=A0 0x25 > > =C2=A0=C2=A0 20:=09e8 5f f3 f6 ff=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=09call=C2=A0=C2=A0 0xfffffffffff6f384 > > =C2=A0=C2=A0 25:=0949 89 5c 24 50=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=09mov=C2=A0=C2=A0=C2=A0 %rbx,0x50(%r12) > > =C2=A0=C2=A0 2a:*=0949 8d bc 24 10 01 00=C2=A0=09lea=C2=A0=C2=A0=C2=A0 > > 0x110(%r12),%rdi=09=09<-- trapping instruction > > =C2=A0=C2=A0 31:=0900 > > =C2=A0=C2=A0 32:=0948 8d b3 20 01 00 00=C2=A0=09lea=C2=A0=C2=A0=C2=A0 0= x120(%rbx),%rsi > > =C2=A0=C2=A0 39:=09e8 87 bc ff ff=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=09call=C2=A0=C2=A0 0xffffffffffffbcc5 > > =C2=A0=C2=A0 3e:=094c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09rex.WR > > =C2=A0=C2=A0 3f:=0989=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09.byte = 0x89 > >=20 > > Code starting with the faulting instruction > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =C2=A0=C2=A0=C2=A0 0:=0949 8d bc 24 10 01 00=C2=A0=09lea=C2=A0=C2=A0=C2= =A0 0x110(%r12),%rdi > > =C2=A0=C2=A0=C2=A0 7:=0900 > > =C2=A0=C2=A0=C2=A0 8:=0948 8d b3 20 01 00 00=C2=A0=09lea=C2=A0=C2=A0=C2= =A0 0x120(%rbx),%rsi > > =C2=A0=C2=A0=C2=A0 f:=09e8 87 bc ff ff=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=09call=C2=A0=C2=A0 0xffffffffffffbc9b > > =C2=A0=C2=A0 14:=094c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09rex.WR > > =C2=A0=C2=A0 15:=0989=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=09.byte = 0x89 > >=20 > >=20 > > The kernel config and materials to reproduce are available at: > > https://download.01.org/0day-ci/archive/20250710/202507100606.90787fe6-= lkp@intel.com > >=20 > >=20 > >=20 >=20