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 04106C27C4F for ; Wed, 26 Jun 2024 18:29:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E8636B0089; Wed, 26 Jun 2024 14:29:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 571216B008C; Wed, 26 Jun 2024 14:29:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3EAE16B0092; Wed, 26 Jun 2024 14:29:22 -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 1DED76B0089 for ; Wed, 26 Jun 2024 14:29:22 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id BE3FF16159B for ; Wed, 26 Jun 2024 18:29:21 +0000 (UTC) X-FDA: 82273877322.23.DE17F52 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf11.hostedemail.com (Postfix) with ESMTP id D74FE4001A for ; Wed, 26 Jun 2024 18:29:19 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eGB4bvnI; spf=pass (imf11.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@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=1719426543; 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=rHth2jg03MyzlLGWwQhmcfXuJ3Ll6vS/X6TQn7gC9gU=; b=NJv07n685CgswVEraQc2Qe+cwU06Aw/VR38rw7aT8rVQSySY5VPlYiBdBLyKLgqKGfgBi2 ZjRyC7andz4dE94sG/A9WA7HI/e4vMg6DhRz4av94DSqrjLk/VMzXkyeOngkCDqmsGJoEe N6JLjmAx3hIxprdDUcl2ta/aYOvC4Iw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719426543; a=rsa-sha256; cv=none; b=B059mwdTG6kaKE2/LpxCgegxA5MFcSYgXzQqojc8HdGtAAijmqnvTcNaIrbsPj+oTt71TL ctuSrbam3oCXPZCYRfS0Bd82FkVbCvYos6doxPNvy2Vre91VVxgJE6+/nruutVJObUllPd EvBvzK1BUwve34D1LDLXtTdse6Fj2hA= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eGB4bvnI; spf=pass (imf11.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a6265d3ba8fso809571466b.0 for ; Wed, 26 Jun 2024 11:29:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719426558; x=1720031358; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rHth2jg03MyzlLGWwQhmcfXuJ3Ll6vS/X6TQn7gC9gU=; b=eGB4bvnIobAIk1bBqrC3cgcHwtM9ZxU3rbNbMErPwkGR7rOBHNiN0MOLE+kef2s1TW PdTHx2QSbyY0zqcE4TfIem7V9aX0LJ4l833LdJtGMU/790lOwxOEx3RjF9kKOCGwKWYb 1afMjFaqE4sOy7E1iUVCf/ZEpjM36XFqSs8kjsmoG9R7SKg/E6GdoWGTSilhQcAnBiug EHZja5GqHtOGehm8aSdKVOdanUntFqKNSUJq/ErHURhknmUjO1dea3PO7noQVveWMXku QImtHn6O1Br3Ns2bdChQWMF8fLvDGmvS1fM26SgoQo9NpRH/2ZI4tWoz1dswSBAIvHW5 dgcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719426558; x=1720031358; 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=rHth2jg03MyzlLGWwQhmcfXuJ3Ll6vS/X6TQn7gC9gU=; b=rS66N7qGxlrzgjox3aExLv36K9DId+Rwd22UxQThc1jqPcbk0wa+fK7KWvQCJdJmxx UbtD/Hpwn9LZwGRsKClMT3fB8xu7maxn94P27INaNTx0zEIm2LXNgLR0w5GrHx2cIKMV z37pneMp2x3qAOxErIKUymLmfBdxFNv8roT9Duh89Gn5PP2hCeutKezYdwd04uUzhirC YdIZjuV/Zw210fx2J+51OW6RCAswSm51ZBQsbeeINPByIUgIgZI1HF//ihS1aUx/VMgO pFvSCRX05w7dRFV1DKDLba3JYEFMScwiONm0ONorZISXU/rjWiYhzzv6nkkt81cX5nTs XrQg== X-Forwarded-Encrypted: i=1; AJvYcCW7Frf3Osy5FF/MieFyZ9Hoj/DTEcUj1gduKvEzQ9Eh3rQknOGD2+7d66925eWRHU+NrVHRP5KpQfmJgJs+JuokJC8= X-Gm-Message-State: AOJu0YxL1elraF8xRWXEg4nzbw0Matmgq50VkKlIJLmyDKi73q3aRCBF W0huomFoFGHDZVV0cvTrZjZsa88QCie01/9ssxlHII252GTApv7VoT6yG35wjKzoWgTmt6iNFc7 8OihF07Ocv0zTlGwycgDC86aiL1M= X-Google-Smtp-Source: AGHT+IE56tMz5yJHM6jMYjSTITH/k6cETcRVV8HNXzURrHqxIY57xRea3BG/AgPCMtmm2DbAUKqHnhnoRWbcYilqhMg= X-Received: by 2002:a17:906:11d8:b0:a6f:b284:4279 with SMTP id a640c23a62f3a-a7242cb6f1dmr732413566b.36.1719426557823; Wed, 26 Jun 2024 11:29:17 -0700 (PDT) MIME-Version: 1.0 References: <20240604174145.563900-1-sidhartha.kumar@oracle.com> <20240604174145.563900-14-sidhartha.kumar@oracle.com> In-Reply-To: From: Mateusz Guzik Date: Wed, 26 Jun 2024 20:29:05 +0200 Message-ID: Subject: Re: [PATCH 13/18] maple_tree: simplify mas_commit_b_node() To: Sidhartha Kumar Cc: linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, akpm@linux-foundation.org, liam.howlett@oracle.com, zhangpeng.00@bytedance.com, willy@infradead.org, linux-next@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: euroewxot71ynth3mhu45yh1ddcuz4z5 X-Rspamd-Queue-Id: D74FE4001A X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719426559-815350 X-HE-Meta: U2FsdGVkX1+LFWObd0hzUb56bDkRFnv5cf4td7VT/chnOy6ux3JmwWtC5Pkm+THsfutByg2qgrj83XWUgoBWUwvV+c1dUBzDOAOmkRrfzCHKmf1TylXxQ0winHUuT4Jqdhu51EEJ41XbloWQN0PvBjIYGBBFMAZhwsZiIeDQfoU2TGBCaWqoc49UvXAVOGwJe3iizJo9BkHKkwTRuaSkNxzANgwwYrzqP0z8KrcS2XdPQuWaGS5WZBJ3BaCPgmLoWSOM18QsJcAmtlbcp005A3m+n0dppz0p0Cbo3hAh9zVp/WcD6PvFcOQjS3RRpZtYS/Dx4QPa8bE/Uecxrrvwmvrwq3+sKD23w8fD681jlXWQYYBnNQ5Kkzv/gEVamN7LAg+c+iYL8ZAJNMzG+lJitYdRGr4G4iHMVYV56KFy+A/MUabJB9VaJBrN9w7X/O/kIPaivEPlD51914wDJ4lj8H4PLlS0YVS/ac55rxAgQ0LiqgkGS4zd5yTCkVZaehcSAkRC3fl6NZGtJedZ/edngD/rpxwBqIoFt4sVbnPKBoIeI6B8DHWdntBGzOHKMbvO0PxKAdWBF02Vj2QZ+xeELhmKnfZSdyHNvz+SLnjWro+mjF9vEB928mv3jibWNRhS5AglkHylrmCYxsi/BmXf0bqIb1WamAoTtBnwpXWqaSt1/undOZBOYbnkCOVEhaIidiIMoGYuKyI1FZMSrWUyMpMqf8G1PbzLU5rm4nqlFOZCwERfuW9Gy9bvX2jNI73w3ZjhJ6GDcJlgO7F344bbJov0RzlBdKZ7PP90QAFaxkz6IBQTcYZNQRn2dmayOsIIur+XnJY21u+qZGxzYE8PGb0g+RJPmeVtYiZQkg2lMjrKzKK7s+/w7slBmDqtu1Eb6DqUaxDi2jVxT9uN2bRFc36tRjaEBMCgTV8hsFvqP7UHssMpwo5iU+Rd9jcKKrctV5mmv37NT5vj5KArbOT 7Q7VVa/z mjOrOlVA4B1AOGMrUt+mNATy47UyOB5Cn2TOJ+9UdpmALrG/UYBvmbnzHl1fCINBlgyDmPcQwlzRwnjQDTBLwN1qJ+KkBNrAz66sMqtnDC12UTtNX9WPACMOXe1+SLYlrNGQN2WMCmKG/Uz7QoyfXPuqk/+KHUMkmAdJtfjPy5mZeINP+gdmZxbJJOYuz+pJly4bTRqg6bfw8jhHBlP7Ja9CEClZLz2Q/bDyUIwy4hSIwJfWoSvmOfQAYYY5JY5Eoqj3pArj/mpuBhlxVY2y8g424nFpSRhujG3xQ40fE8y0rgAKUxeHdlbNNv/NY0uF+pSk4LNfijGgvOQOiBswmW78DRrlIARpwLjz62y28RIJjuRt838SeON/x2NlKoxKZ/7tfKxgQssfvjMi6/5hgF4uYu9YMXuMvwrVD61ZVmdxQL4FNxVbDmIkcyt0tJsPIwXTRQlBGkOW8HUXhRDbHGP8aCwthqmjaxiCFgWdKw1aFCdZr1AphVquvFzkaSzQMByM/L26plsRdpoXhLI9sbzy6GFodhniwW25I9M2PnSNDNs9QX23DkNXe5t99r7/q5ZcitP7ot9MyLfA+JiokVxlPg/bEPJyWOROjvUgswewzl+REeCvIz9C+3x64DqPriBcjIfiREgnUP1AVILvr/rDKpQ== 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 Wed, Jun 26, 2024 at 7:45=E2=80=AFPM Sidhartha Kumar wrote: > > On 6/26/24 3:40 AM, Mateusz Guzik wrote: > > On Tue, Jun 04, 2024 at 10:41:40AM -0700, Sidhartha Kumar wrote: > >> Use mas->store_type to simplify the logic of identifying the type of > >> write. > >> > >> Signed-off-by: Sidhartha Kumar > >> --- > >> lib/maple_tree.c | 6 ++---- > >> 1 file changed, 2 insertions(+), 4 deletions(-) > >> > >> diff --git a/lib/maple_tree.c b/lib/maple_tree.c > >> index 314691fd1c67..faadddbe2086 100644 > >> --- a/lib/maple_tree.c > >> +++ b/lib/maple_tree.c > >> @@ -3437,12 +3437,10 @@ static noinline_for_kasan int mas_commit_b_nod= e(struct ma_wr_state *wr_mas, > >> enum maple_type b_type =3D b_node->type; > >> > >> old_enode =3D wr_mas->mas->node; > >> - if ((b_end < mt_min_slots[b_type]) && > >> - (!mte_is_root(old_enode)) && > >> - (mas_mt_height(wr_mas->mas) > 1)) > >> + if (wr_mas->mas->store_type =3D=3D wr_rebalance) > >> return mas_rebalance(wr_mas->mas, b_node); > >> > >> - if (b_end >=3D mt_slots[b_type]) > >> + if (wr_mas->mas->store_type =3D=3D wr_split_store) > >> return mas_split(wr_mas->mas, b_node); > >> > >> if (mas_reuse_node(wr_mas, b_node, end)) > > > > > > This reliably results in "kernel BUG at mm/mmap.c:3412!". > > > > bt below > > > > reliably reproduces as follows: spawn "perf top", hit enter twice to > > disassemble a func. tui hangs indefinitely, console shows the splat > > below. > > > > Hello, > > Thanks for your report. When I run perf top and disassemble a function tu= i > doesn't hang. In dmesg I see: > > [ 17.836399] perf: interrupt took too long (2705 > 2500), lowering > kernel.perf_event_max_sample_rate to 73000 > [ 17.837532] perf: interrupt took too long (3561 > 3381), lowering > kernel.perf_event_max_sample_rate to 56000 > [ 17.838818] perf: interrupt took too long (4654 > 4451), lowering > kernel.perf_event_max_sample_rate to 42000 > [ 17.840267] perf: interrupt took too long (5930 > 5817), lowering > kernel.perf_event_max_sample_rate to 33000 > > > but not the bug that your seeing. Could you send your config file so I co= uld > test with that? > https://people.freebsd.org/~mjg/.linux-crap/.config-maple-crash I verified again this reliably crashes when going to: commit 30e5748b1d44e3eefc41773e27c63e51910ed718 (HEAD) Author: Sidhartha Kumar Date: Tue Jun 18 13:47:45 2024 -0700 maple_tree: simplify mas_commit_b_node() on linux-next Userspace is Debian 12 (which may be of significance), but just in case I'll note I'm building the kernel on a Ubuntu 24.04. > Thanks, > Sid > > > > > I verified going one commit down produces a working kernel. > > > > kernel BUG at mm/mmap.c:3412! > > [ 35.820042] Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI > > [ 35.821101] CPU: 4 PID: 1066 Comm: perf-top-UI Tainted: G W = 6.10.0-rc5-00304-g30e5748b1d44 #155 > > [ 35.822929] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS= rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org 04/01/2014 > > [ 35.824957] RIP: 0010:exit_mmap+0x392/0x3a0 > > [ 35.825794] Code: ef e8 02 9f fe ff eb d7 be 01 00 00 00 48 89 ef e8= 73 a3 fe ff eb be 31 f6 48 89 ef > > e8 a7 a2 fe ff eb a8 0f 0b e9 75 fe ff ff <0f> 0b e8 a7 b2 c1 00 0f 1f = 80 00 00 00 00 90 90 90 90 90 90 90 90 > > [ 35.829141] RSP: 0018:ff7fe6c8c2393c40 EFLAGS: 00010293 > > [ 35.830103] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000= 000000000 > > [ 35.831398] RDX: ff39fe34499c3c00 RSI: 0000000000000001 RDI: ff39fe3= 4499c3c08 > > [ 35.832705] RBP: ff39fe3441a28580 R08: 000000000000000c R09: 0000000= 000000060 > > [ 35.834010] R10: ff39fe3450ad5600 R11: 0000000000000000 R12: 0000000= 0000000e8 > > [ 35.835295] R13: 0000000000003593 R14: ff39fe3441a28628 R15: ff39fe3= 441a285c0 > > [ 35.836569] FS: 0000000000000000(0000) GS:ff39fe39a7700000(0000) kn= lGS:0000000000000000 > > [ 35.838042] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > [ 35.839093] CR2: 00007efd624f39ed CR3: 000000010130e001 CR4: 0000000= 000371ef0 > > [ 35.840389] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000= 000000000 > > [ 35.841892] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000= 000000400 > > [ 35.843182] Call Trace: > > [ 35.843646] > > [ 35.844051] ? die+0x36/0x90 > > [ 35.844602] ? do_trap+0xdd/0x100 > > [ 35.845226] ? exit_mmap+0x392/0x3a0 > > [ 35.845915] ? do_error_trap+0x65/0x80 > > [ 35.846614] ? exit_mmap+0x392/0x3a0 > > [ 35.847287] ? exc_invalid_op+0x50/0x70 > > [ 35.847999] ? exit_mmap+0x392/0x3a0 > > [ 35.848662] ? asm_exc_invalid_op+0x1a/0x20 > > [ 35.849437] ? exit_mmap+0x392/0x3a0 > > [ 35.850120] __mmput+0x3d/0x130 > > [ 35.850713] begin_new_exec+0x4ed/0xb00 > > [ 35.851428] ? load_elf_phdrs+0x6c/0xc0 > > [ 35.852150] load_elf_binary+0x2ca/0x15a0 > > [ 35.852890] ? __kernel_read+0x1d8/0x2f0 > > [ 35.853621] ? __kernel_read+0x1d8/0x2f0 > > [ 35.854348] ? load_misc_binary+0x1f6/0x310 > > [ 35.855113] bprm_execve+0x243/0x600 > > [ 35.855784] do_execveat_common.isra.0+0x1bd/0x220 > > [ 35.856672] __x64_sys_execve+0x36/0x40 > > [ 35.857384] do_syscall_64+0x52/0x150 > > [ 35.858088] entry_SYSCALL_64_after_hwframe+0x76/0x7e > > [ 35.859014] RIP: 0033:0x7efd624f3a17 > > [ 35.859677] Code: Unable to access opcode bytes at 0x7efd624f39ed. > > [ 35.860790] RSP: 002b:00007efd48bf8dc8 EFLAGS: 00000202 ORIG_RAX: 00= 0000000000003b > > [ 35.862170] RAX: ffffffffffffffda RBX: 000055e5736a44e3 RCX: 00007ef= d624f3a17 > > [ 35.863472] RDX: 000055e59c315000 RSI: 00007efd48bf9050 RDI: 000055e= 5736a44e3 > > [ 35.864768] RBP: 00007efd48bf8e40 R08: 0000000000000000 R09: 00007ef= d48c006c0 > > [ 35.866475] R10: 00007efd62430e50 R11: 0000000000000202 R12: 00007ef= d48bf9050 > > [ 35.868167] R13: 000055e59c315000 R14: 0000000000000001 R15: 0000000= 000000001 > > [ 35.869873] > > [ 35.870676] Modules linked in: > > [ 35.871944] ---[ end trace 0000000000000000 ]--- > > > --=20 Mateusz Guzik