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 34DD4C27C4F for ; Wed, 26 Jun 2024 10:40:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DAC26B0088; Wed, 26 Jun 2024 06:40:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 98A146B0089; Wed, 26 Jun 2024 06:40:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8519E6B008A; Wed, 26 Jun 2024 06:40:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 669566B0088 for ; Wed, 26 Jun 2024 06:40:37 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E3679806A4 for ; Wed, 26 Jun 2024 10:40:36 +0000 (UTC) X-FDA: 82272696072.06.24B94BD Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf09.hostedemail.com (Postfix) with ESMTP id 01A5C140020 for ; Wed, 26 Jun 2024 10:40:33 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JUnj1Rij; spf=pass (imf09.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.49 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=1719398426; 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=IQLJslRmp35dAty14Bkyn/09X3ZFzPi4C80P20DsF14=; b=4rDbhRlYS45SKfC6SbE39IEcqPix55YvXmTmfxJ12mvGNZ4ybpztJBI76107YsXSGQDinC XBcDihbgub7mtrMF/5Rpm9bPslfwRAagK1HBw5VaD3DixqlvWdtG8iPgtBl476rp4KkKM7 jokXEXMJEyNW6Iw2WeE2pKFPjHjUahM= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JUnj1Rij; spf=pass (imf09.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.49 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719398426; a=rsa-sha256; cv=none; b=DVZRm+IyRTQD4UO2TJc/36NBZb+EBr+s2ZevfPwCfOgjfxKZiMR+wSk51ZX5kM3H+veWh3 1Pycg9rxP9cFQoUILnUQaSdn3cZrFSm6awFA7Iw/md3C2EXSmw4p18SBZ8N5D8OUglEAyG vPpcBS1o/5msQ2QNLTvEBQMtPZoVtEU= Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a6f8ebbd268so75748666b.0 for ; Wed, 26 Jun 2024 03:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719398432; x=1720003232; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=IQLJslRmp35dAty14Bkyn/09X3ZFzPi4C80P20DsF14=; b=JUnj1RijIVbqZLCY4T+YV88FlsB48plgevq2dI6o1XjT0o52Yn/Oas65bFGaRkqG/u 8TfNd4lakiz9XYlg6++vWozseN2d5PVXwk/q3PTTnOXcD0rwd4jTPX37GG02asL4ThTC Zbd/mdAUPCu4DzFjcLkll+dgBhXfojBvvV53slD2nOLZhoHkgPUC7YlzcPphssbuoms/ vqrDFb1eI9r4m0vgqsNQCXRcx8/QNOyjk6B8+YmDDH25DXiDLFRCj1ioXyfj4rywQIN4 4fWljfjNVmfHzxaHJDcnsHe7SfoU9z+pyT6oDBCc9ZrkHHri07UzoVqLC7GJInthly1H Z7GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719398432; x=1720003232; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=IQLJslRmp35dAty14Bkyn/09X3ZFzPi4C80P20DsF14=; b=KjqK6E7/b7OaCS38g55BJ21luKD5r+yMyNunPXzycs8OCigEe5UWPzApzVSbu4BEEG oRWeAyeEaRFr7ScfwWB3WQXx7pEPzE3k+DlO2zCDU6o2QEtcgkP1/lVbSnDbb31dMFM2 01XxxPkvJ87OFLbMcXuzi0qnoJMpwSwEAQbaYa7GbkvJT1Nx3dKJOfPqFhW9uq+cTZci m4PTrZ+Sfaio9p4KR1K/DkYLBsyg0PTtDamUl/579gPj6tb7++m5z83w9ocNIjD8qzpE ecwOmMiitXreOUaQuKj9/azsVMvD7egHpdcpl0fMzDJpT+2MQ+u7L2wU4m4CZI81/67W tFpg== X-Forwarded-Encrypted: i=1; AJvYcCUQqeslgcLY9JzSEq0cuJD1pcZ1TVubIgkhmEe5cmLqNPJNOxJb7xC3UAq9NJqIF3fbSR/NY7m5mdZVcugB3m9siAA= X-Gm-Message-State: AOJu0Yx8UNlTQDqxfpbdXpTGfeNY4QZ2UfH4gjY9m7f7TjsXJws6CCHE Z50s4mY7wozHiR2PJDA0qAW85XnpNvnwXYnkY+DUUs7onJVblznr X-Google-Smtp-Source: AGHT+IHs8dGwUI4zun9DFWLUhqAKKJkZxNvyOpUKz6Y4pU+UdQ/YA2tgGiq4xp9nJnwP4O2G8PZKBQ== X-Received: by 2002:a17:907:d309:b0:a72:5760:1424 with SMTP id a640c23a62f3a-a727f9394ffmr290434666b.0.1719398431946; Wed, 26 Jun 2024 03:40:31 -0700 (PDT) Received: from f (cst-prg-81-171.cust.vodafone.cz. [46.135.81.171]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7260bfb85csm224652966b.40.2024.06.26.03.40.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Jun 2024 03:40:31 -0700 (PDT) Date: Wed, 26 Jun 2024 12:40:19 +0200 From: Mateusz Guzik 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 Subject: Re: [PATCH 13/18] maple_tree: simplify mas_commit_b_node() Message-ID: References: <20240604174145.563900-1-sidhartha.kumar@oracle.com> <20240604174145.563900-14-sidhartha.kumar@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240604174145.563900-14-sidhartha.kumar@oracle.com> X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 01A5C140020 X-Stat-Signature: 7hs8dxxp4wpbfyp57apmadc318fbobqs X-HE-Tag: 1719398433-368341 X-HE-Meta: U2FsdGVkX1+NVptV0393XyNowOT9JWm9vFm88MI01yF6Bc6BamjhLgL8HCGCHdriO+79zRhrOiy1qumFFCk6F3osfmqMUoWrEZ+CV1vrwKBhn2PC2PuUUEpwyNmgk60DsjNlcLSsphV8ymCunbwXnztGXs9bkTB1epzKPUT3DxvAyRm+jfogtquOHZYwkqRxxdh2v2hQhGOJlY5Qk0/8gN3H6YSXOlwIZp86jF6K2kEbSZ/SUNodbQPhZSBb84dvyFynu0QaHAGEbZNRuo/C0KX5SefFZ0pI9TBk2BDy/44ti50/3/zWjC7SP4nKKNLxciZ+uMV53BMWlDAptHiCCO2iylwToC0OKMzitpkcZ6x4F6cwuRKwgP0XiBYgRqnPxm0flBriQ6Hwk/GtSaS34SYOlso57xxpQJerGdAUscYRPFpqkc07pEN26mvGCNeDcN2FqYcxwUwB/SQLYGrDmwe+f7V4piKZVXYgYbl0pL60jdHoNPVCVqkmcvz4RAV4W4R8yNkAXEQB5h/6Bpk2YzsVPBdS/lASr8vlEGag3BndIJXUQD9W14zA5Tgk+fQEGZAhiTJVd2J+qT5tLR6LNOMdcXvJtXYGIdQkKNGHQMolk3Ce9/95ZdcuGERME4UwjsI1hBcAbuvO1LUsXG31PLLJuddtf14JE3OkY9bGqG0nR0Y6GdaxtKUoCZQdWCNLhM4VaawXCdlaV4ZH4plh84d8+kzFBDQX9smfR6Q3QfYshvh469M5/6kZC6iCCoMRrB6hrU7Uowhl7fDXzeX/H0k7hHIBfznWjTMIoINAnB5vlRQgSvxblQHLTfrkhxpDWoOKVaMgAcoEyPmIt2jQ0iILCSqpJFFiKteOTzQq0BmAkpj1/2tbjK3+qFVIHwcUfNs3x6jhHu/rl7NUViTMNva/zD6ri2Ul8nV4WJknh2R6K7PQZwtDgcIl/1awJXLJrls4gAOpEVs+NT6InKI RfkxccPG nlgCzLTErtIX9xD0sOsE/1+gTNoTfrmsc4vGAhX1T6u3Xzo1ekfH2DCkfJp43DpL+k1P50oo9rWLakoHGxEUv/ElcDzx3VpduDlhxHl0BKnIUAzghOKlz+cFtcERDfsrluuiHD/c8YRJU6BScFzpJdUUCgxEHCPyuc/ZvmdpvUnyMpA4U3uPCj7T7q4y4i/Ooq8JtEkYArXXctAt3QN/vPUn35fqk80QUj07kzW7Knoi2t7/c4nPDUgld4uny/RTwivH7M3gbWkVM+VCZeLt8J2J15d7SoPKHdNqJm3y1FAjTk3kG6YGvDcOhNwyRiRA/UoXEY4tEGZ1L6kZtC1wIB2AK7+BYJSHJj4sie2AIHYZ1I/o8czgUiIKcmftX2kwb0gB4bD3i5O40qsmNg16aYsBp+W3d2Db3KDflJv8KGAMirv8wNSJhXR0+twY+brjkPIlYmHP+itx0Csf4JA5PlkPEeY+ECze2MmJQd/DyT8F3jBAG8v62OKV9Gc3QT0UDRN9/by9em3Wg3KG09O5g3++UUA== 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, 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_node(struct ma_wr_state *wr_mas, > enum maple_type b_type = b_node->type; > > old_enode = 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 == wr_rebalance) > return mas_rebalance(wr_mas->mas, b_node); > > - if (b_end >= mt_slots[b_type]) > + if (wr_mas->mas->store_type == 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. 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: 0000000000000000 [ 35.831398] RDX: ff39fe34499c3c00 RSI: 0000000000000001 RDI: ff39fe34499c3c08 [ 35.832705] RBP: ff39fe3441a28580 R08: 000000000000000c R09: 0000000000000060 [ 35.834010] R10: ff39fe3450ad5600 R11: 0000000000000000 R12: 00000000000000e8 [ 35.835295] R13: 0000000000003593 R14: ff39fe3441a28628 R15: ff39fe3441a285c0 [ 35.836569] FS: 0000000000000000(0000) GS:ff39fe39a7700000(0000) knlGS:0000000000000000 [ 35.838042] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 35.839093] CR2: 00007efd624f39ed CR3: 000000010130e001 CR4: 0000000000371ef0 [ 35.840389] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 35.841892] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 [ 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: 000000000000003b [ 35.862170] RAX: ffffffffffffffda RBX: 000055e5736a44e3 RCX: 00007efd624f3a17 [ 35.863472] RDX: 000055e59c315000 RSI: 00007efd48bf9050 RDI: 000055e5736a44e3 [ 35.864768] RBP: 00007efd48bf8e40 R08: 0000000000000000 R09: 00007efd48c006c0 [ 35.866475] R10: 00007efd62430e50 R11: 0000000000000202 R12: 00007efd48bf9050 [ 35.868167] R13: 000055e59c315000 R14: 0000000000000001 R15: 0000000000000001 [ 35.869873] [ 35.870676] Modules linked in: [ 35.871944] ---[ end trace 0000000000000000 ]---