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 C8DD1C021B2 for ; Tue, 25 Feb 2025 17:05:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B5E828000A; Tue, 25 Feb 2025 12:05:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 564CC6B0085; Tue, 25 Feb 2025 12:05:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4059528000A; Tue, 25 Feb 2025 12:05:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 23E0B6B0083 for ; Tue, 25 Feb 2025 12:05:54 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C24B6C1B87 for ; Tue, 25 Feb 2025 17:05:53 +0000 (UTC) X-FDA: 83159094186.08.8C19FC4 Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) by imf03.hostedemail.com (Postfix) with ESMTP id 923AB20008 for ; Tue, 25 Feb 2025 17:05:49 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WEYHZ7Zy; spf=pass (imf03.hostedemail.com: domain of keith.busch@gmail.com designates 209.85.166.170 as permitted sender) smtp.mailfrom=keith.busch@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740503149; 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=VYV21KgAAK9DCaC1N/igtqqjHAXsIGmsKhB8/dHzdzw=; b=hK8YUg39AtacCB5NtFJkYWG/1pkm6wPGQM1zVpk+NLe79aiiZWrOf/jF/mZgeABDpr8WEX 4GqOOgvm7wQvM2PX0ut4XlZISQi1J5az6cHKxHk2NfH8fAn3PQ8JLpne9KH9m+dRgKcGRF aebnbb1m5neVrwIfK3UapJBEwbiiris= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WEYHZ7Zy; spf=pass (imf03.hostedemail.com: domain of keith.busch@gmail.com designates 209.85.166.170 as permitted sender) smtp.mailfrom=keith.busch@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740503149; a=rsa-sha256; cv=none; b=LDq1O1qxvA7PfZNNd241KDRPMUFSSgIs/odkyq/4rDVT8+KKyZQa5rUrJU7Ez/2JJ02egC V4/5uIovtyFZRhFi9Rqjh7jqUzWXWNWTlPXOC23UUCYZPwScwOh6XQesa46mmgLFSgB0yl YNFAH8KoTX+8Ana+cEfsj0kZjalSwv8= Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-3d2b71fbcc9so1898035ab.1 for ; Tue, 25 Feb 2025 09:05:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740503148; x=1741107948; 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=VYV21KgAAK9DCaC1N/igtqqjHAXsIGmsKhB8/dHzdzw=; b=WEYHZ7ZyFIlgDYzIhDTxf80aVncORywjZCypk+Pc6v0He85zKQDLQKosJL8YQnol2N 5HNwW6FKggmWGgD3LXwQdnKghcN4+SZYF2a4c0EkpzWB92Q6BcGxfAEQHJOp068sVBnT XYswcw7NCxSKGpYNXV5MddmvaFwYVLarMayoPJ2CkgXadFkdU58sBkycnTRNK2NkqFyF u2zEfiX9t44EObdN5OOtHrTVSuoqdWAucbnB/4tfyXhQCglG0gLUFPVss3s7KXQIfCFS snz34yMiGfREpsjAE/faHuwxzQ4//oEYQk3pGucL99MfMg3T/WGwWRAXti2L2t5EndEj ccWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740503148; x=1741107948; 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=VYV21KgAAK9DCaC1N/igtqqjHAXsIGmsKhB8/dHzdzw=; b=PEdik86Y7nM+8ugCBB4gu0HF27yf5LnG6NoSoJlC887Uc6eoqPW5cCSNrbL2Wf6tCm DZy+8w2aHF4jA+55QrYpAlgrz8k1eXXCqirwJxTThrNiF6qDEjrqY1WTUhr+9xaNGGc6 AxYG8EOhBvxLpQOfp6CMz11+v0oOqXbzeZWyWAbNSqoX8P40qdDtOpXf/q+7gbeAl2zo tZds18QI9n0c5luQsm1Ak+Cft1MZU2fzA3mWdAEgqCpfvtaTocFmPyD8urJuEwnNYUdY rk8c1BwMSXqPZeg264A32ONZYIIE2+1a2LsKiitlVVWDNqMa8SyT31VPbMPvgrpuzwj3 SV3Q== X-Forwarded-Encrypted: i=1; AJvYcCUwHyEEME8dZfL8JqSqkee6/4qa30rroKm6jcFTlc6it7KsQ7TTmVIn2qM4um//riuFcGaw3RZoaw==@kvack.org X-Gm-Message-State: AOJu0YyA6m4+pP7qW9SR0H/8hE199iLR4QonHfN7pY/G2tE/II2H30QL NC4bc/LwAe4GngL1jhTZqrgoduZnDHik9tMPYn7h4FsuhkaHPuxQGDHsfRyONbT+6d6kPtUPkL8 hR0qLzvoyig5iNyMluNOpwaHIzmM= X-Gm-Gg: ASbGnctoZnrDJYFP8E1bP7RUHHqilvFplYUAFqJq9EmNhoa/9+hDEsrcPGKDDgr9H6n Ua/kiL9OurrI3WjI8jhwLMgJZaikZuPQacLcJb/Di55tQRuiiJeg/eHczuzxh4D0aI90hDZjAUz WNwLWnmg== X-Google-Smtp-Source: AGHT+IF93EFtJ6oPsAu3p+R2151Bs9lgZsKeK3XtmcLvapwsdOCh6mvoMCN5/c279RrUn/GUfkqIUe5+Fw08pLAioIU= X-Received: by 2002:a05:6e02:1646:b0:3d0:4ae2:17b6 with SMTP id e9e14a558f8ab-3d2cad72c9fmr48331585ab.0.1740503148188; Tue, 25 Feb 2025 09:05:48 -0800 (PST) MIME-Version: 1.0 References: <20240807-b4-slab-kfree_rcu-destroy-v2-0-ea79102f428c@suse.cz> <20240807-b4-slab-kfree_rcu-destroy-v2-6-ea79102f428c@suse.cz> <2811463a-751f-4443-9125-02628dc315d9@suse.cz> In-Reply-To: From: Keith Busch Date: Tue, 25 Feb 2025 10:05:37 -0700 X-Gm-Features: AQ5f1Jrz3qY3MDeCKERua2dr5bSa2550jia32PBjWFTFKImY0jy7IP8cCbQl7FM Message-ID: Subject: Re: [PATCH v2 6/7] mm, slab: call kvfree_rcu_barrier() from kmem_cache_destroy() To: Vlastimil Babka Cc: Uladzislau Rezki , "Paul E. McKenney" , Joel Fernandes , Josh Triplett , Boqun Feng , Christoph Lameter , David Rientjes , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Julia Lawall , Jakub Kicinski , "Jason A. Donenfeld" , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, rcu@vger.kernel.org, Alexander Potapenko , Marco Elver , Dmitry Vyukov , kasan-dev@googlegroups.com, Jann Horn , Mateusz Guzik , linux-nvme@lists.infradead.org, leitao@debian.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 923AB20008 X-Stat-Signature: y3xfy1nie9hfu7y1m39subqjxnighdqf X-Rspam-User: X-HE-Tag: 1740503149-28650 X-HE-Meta: U2FsdGVkX18aksuCtSPwCwmQoCssevkc30qzDd3+1ViDYWmsLYDKDmcRt1M9T3voNQQJFuPIW1oFD1oP3CKZKOsBAW6Own/vYwfO5igDU0q96PLpn1WBFOK0a0HbrTLOq31zkPQDiz3yhcUVhNTnBrGBoYLvfjLz0HUW6Rxajo/dQlkB1IbRIOy8NXG51iSAqB7vkdI05MhxaqkOOd0HMDH3kSoHyQ8cveGFRznxc1rQZAPdjibrr8EhL+k+EI0uwpD9Rv/5sTXvPJKCL2HwQUchrIE2Ube/gPzod7M8Asy4CuIlL01F1rKepvK+c1Pg9yJmZjcG2eiEAuNKg9jV9IIzw3jx3nFZdjKRBTQEtlmlUTqGDHMy9zEJ9HpraPEravPhXxEdz2l0IneVILRZ+AU0vh13sHq6KAd/HJFMF9RwC9LDx+0aPU7zxKswaNJRznZUmZCM7LX4NJI8B6Hk7K36UQvOVxlykMsSQ4WNOwNFlUuvOO+kDtk1539lDSbwbBk8nor9/mNEUpQ4haQ6+Oyp1Cm4KPmrVozB+MjtDOnkcbtxMczpgivF5ixakY1HaIjiHvBToAt/kypVVF8Lyu2YMVAkOKMclYsthT0TXi2NP3yl/tSOMMwhCKCDNzFJ3QHEsFZwKQMmpe9ZuWqYW359ZBt2SS1sJIIOT+VV6IuKj0TkzxgoHJeeE9mJ0R9X0BfAOZNGAT6qurB9Wn7wiyoV0hKO+PazlMpBmgmkRnnUr2IO4taASYvM0dU7EJL3OcsuzviVISVnRKccaLEf14wNG9/G1XL7zVBFNWxCMbjUky1q11SvMatWA2p93+MTM8vaUsoess3CX3Exc4bsnuU1l+J9RBOSmNlYIe4TfNDOF8c/rupkLBodxOIxgO7TBCm2nZnv4I1r6b5wUEmO97aHbin0oK0+WovUmwbpPXQgB0SWTPWto3tfRsgk7tm0PRvzK9pVyk4OG9w1wz4 Y6F/R8ey oC8/UspADYra/7kNj9A+/r/Y8WPQQX85hMr4XTqZtiQXte8IDDp1ZGZWQJ97WlOYxUwvP8aTHii7eZv0yKsvovRM6QxeaAja6r7BBemzrpx/3rGdJ3U44tioGvEZSot0vkNxs+OGY5LPnUkldA35ITIOhq2GBqIlx9ixJ+2wIEbmupxM6eaheBEvlWzR93akhiaUDAOFtaQHvy0tB9W2oculCusFCWWM/gDwQf2rsRujeuzo4ZM82nteohaWWgvTDUtpX4v3qjhHRVOoO/m0scdFOVmh2ejUQRqSpWnB4j762y40dOsVQTWD4311CIhsfDAsmu7pT+B68mqBap6jBV28V0KcAd1NvB9QfcBcDRmtOVPr6GUx4XvNngrxqdQ450HuwCbWchoI7kriY/2BN2lhrZz78YU1vAV3G04rk5gzcEs4sxvLoatk9AJogxzFBAImqbcgwbK6H3tHng9y1k1Efuukh53ptnMrSFJ4T6p273xdL5cnLv2g8zgwmbu/lL0ysu03h1CMhNUypNhkV8Lypd5cv7i53IL/jeuBdtUvmSDfodvZ2OAIOFQ== 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 Tue, Feb 25, 2025 at 09:03:38AM -0700, Keith Busch wrote: > On Tue, Feb 25, 2025 at 10:57:38AM +0100, Vlastimil Babka wrote: > > I tried to create a kunit test for it, but it doesn't trigger anything. Maybe > > it's too simple, or racy, and thus we are not flushing any of the queues from > > kvfree_rcu_barrier()? > > Thanks, your test readily triggers it for me, but only if I load > rcutorture at the same time. Oops, I sent the wrong kernel messages. This is the relevant part: [ 142.371052] workqueue: WQ_MEM_RECLAIM test_kfree_rcu_destroy_wq:cache_destroy_workfn [slub_kunit] is flushing !WQ_MEM_RECLAIM events_unbound:kfree_rcu_work [ 142.371072] WARNING: CPU: 11 PID: 186 at kernel/workqueue.c:3715 check_flush_dependency.part.0+0xad/0x100 [ 142.375748] Modules linked in: slub_kunit(E) rcutorture(E) torture(E) kunit(E) iTCO_wdt(E) iTCO_vendor_support(E) intel_uncore_frequency_common(E) skx_edac_common(E) nfit(E) libnvdimm(E) kvm_intel(E) kvm(E) evdev(E) bochs(E) serio_raw(E) drm_kms_helper(E) i2c_i801(E) e1000e(E) i2c_smbus(E) intel_agp(E) intel_gtt(E) lpc_ich(E) agpgart(E) mfd_core(E) drm_shm] [ 142.384553] CPU: 11 UID: 0 PID: 186 Comm: kworker/u64:11 Tainted: G E N 6.13.0-04839-g5e7b40f0ddce-dirty #831 [ 142.386755] Tainted: [E]=UNSIGNED_MODULE, [N]=TEST [ 142.387849] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 142.390236] Workqueue: test_kfree_rcu_destroy_wq cache_destroy_workfn [slub_kunit] [ 142.391863] RIP: 0010:check_flush_dependency.part.0+0xad/0x100 [ 142.393183] Code: 75 dc 48 8b 55 18 49 8d 8d 78 01 00 00 4d 89 f0 48 81 c6 78 01 00 00 48 c7 c7 00 e1 9a 82 c6 05 4f 39 c5 02 01 e8 53 bd fd ff <0f> 0b 5b 5d 41 5c 41 5d 41 5e c3 80 3d 39 39 c5 02 00 75 83 41 8b [ 142.396981] RSP: 0018:ffffc900007cfc90 EFLAGS: 00010092 [ 142.398124] RAX: 000000000000008f RBX: ffff88803e9b10a0 RCX: 0000000000000027 [ 142.399605] RDX: ffff88803eba0d08 RSI: 0000000000000001 RDI: ffff88803eba0d00 [ 142.401092] RBP: ffff888007d9a480 R08: ffffffff83b8c808 R09: 0000000000000003 [ 142.402548] R10: ffffffff8348c820 R11: ffffffff83a11d58 R12: ffff888007150000 [ 142.404098] R13: ffff888005961400 R14: ffffffff813221a0 R15: ffff888005961400 [ 142.405561] FS: 0000000000000000(0000) GS:ffff88803eb80000(0000) knlGS:0000000000000000 [ 142.407297] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 142.408658] CR2: 00007f826bd1a000 CR3: 00000000069db002 CR4: 0000000000772ef0 [ 142.410259] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 142.411871] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 142.413341] PKRU: 55555554 [ 142.414038] Call Trace: [ 142.414658] [ 142.415249] ? __warn+0x8d/0x180 [ 142.416035] ? check_flush_dependency.part.0+0xad/0x100 [ 142.417182] ? report_bug+0x160/0x170 [ 142.418041] ? handle_bug+0x4f/0x90 [ 142.418861] ? exc_invalid_op+0x14/0x70 [ 142.419853] ? asm_exc_invalid_op+0x16/0x20 [ 142.420877] ? kfree_rcu_shrink_scan+0x120/0x120 [ 142.422029] ? check_flush_dependency.part.0+0xad/0x100 [ 142.423244] __flush_work+0x38a/0x4a0 [ 142.424157] ? find_held_lock+0x2b/0x80 [ 142.425070] ? flush_rcu_work+0x26/0x40 [ 142.425953] ? lock_release+0xb3/0x250 [ 142.426785] ? __mutex_unlock_slowpath+0x2c/0x270 [ 142.427906] flush_rcu_work+0x30/0x40 [ 142.428756] kvfree_rcu_barrier+0xe9/0x130 [ 142.429649] kmem_cache_destroy+0x2b/0x1f0 [ 142.430578] cache_destroy_workfn+0x20/0x40 [slub_kunit] [ 142.431729] process_one_work+0x1cd/0x560 [ 142.432620] worker_thread+0x183/0x310 [ 142.433487] ? rescuer_thread+0x330/0x330 [ 142.434428] kthread+0xd8/0x1d0 [ 142.435248] ? ret_from_fork+0x17/0x50 [ 142.436165] ? lock_release+0xb3/0x250 [ 142.437106] ? kthreads_online_cpu+0xf0/0xf0 [ 142.438133] ret_from_fork+0x2d/0x50 [ 142.439045] ? kthreads_online_cpu+0xf0/0xf0 [ 142.440428] ret_from_fork_asm+0x11/0x20 [ 142.441476] [ 142.442152] irq event stamp: 22858 [ 142.443002] hardirqs last enabled at (22857): [] _raw_spin_unlock_irq+0x24/0x30 [ 142.445032] hardirqs last disabled at (22858): [] _raw_spin_lock_irq+0x43/0x50 [ 142.451450] softirqs last enabled at (22714): [] __irq_exit_rcu+0xac/0xd0 [ 142.453345] softirqs last disabled at (22709): [] __irq_exit_rcu+0xac/0xd0 [ 142.455305] ---[ end trace 0000000000000000 ]---