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 D0165C369AB for ; Mon, 21 Apr 2025 15:55:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC8A16B0005; Mon, 21 Apr 2025 11:55:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C77596B0007; Mon, 21 Apr 2025 11:55:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3FF46B0008; Mon, 21 Apr 2025 11:55:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 948176B0005 for ; Mon, 21 Apr 2025 11:55:55 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 136A5C07D4 for ; Mon, 21 Apr 2025 15:55:56 +0000 (UTC) X-FDA: 83358501912.30.21B725D Received: from out-188.mta0.migadu.com (out-188.mta0.migadu.com [91.218.175.188]) by imf21.hostedemail.com (Postfix) with ESMTP id DE63D1C000C for ; Mon, 21 Apr 2025 15:55:53 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=i3Gidkq3; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf21.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.188 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745250954; a=rsa-sha256; cv=none; b=6ulZfXton1XeimmIW8cIHDwyUxt5YdpUHq0TzS3SuqmDigkag6yUgpTh05fOm77+63jeY/ x9+yBhpaylfBBTqx1c2rZr5SYDvjQc58KFSH2i0C9b2G9wICiqIw2gErBKrjfHOwCSea2k yyDSgqVx19OZSo/WvKqgjrx7G+7QeHU= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=i3Gidkq3; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf21.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.188 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745250954; 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=UoSZJKDzfaKsirHVQWZr7LOj5trZ+TFj4jwsaD9UBbk=; b=bEjTDrEegHeFLuP+BCCG+GC3Wu+aHFPM97wPlYYfQDVS365qf49ji1MayKVEj79/ekmbG5 pvRryP9gZURC98gk0zdcJAOZApPe9TlOvxts2ug/XO+7MaWV1k2F/pLZyYXtfdlo1XfVDP 3NJpON+MSSTHter50AUAVnzAh5PiRg4= Date: Mon, 21 Apr 2025 11:55:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745250951; 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=UoSZJKDzfaKsirHVQWZr7LOj5trZ+TFj4jwsaD9UBbk=; b=i3Gidkq3wzL0nc3C6ICt+faxIb/HU+7DNm0WnMTfZn7OjRRhyqOSuQBm5G+YmdAt6MzKFP kRtT6IzVMA9OmEVrfP1GX6M4Sa2EXWf1b6vKWnKB9vMFdHcl5++aziYGxtxRCc7r+Q8oH2 02lUGZlxpz/VVLs6sqDal/cI+ePoJhw= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Kent Overstreet To: Raghavendra K T Cc: linux-mm@kvack.org, linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, wqu@suse.com Subject: Re: scheduling while atomic on rc3 - migration + buffer heads Message-ID: References: <7b395468-d72d-42c1-b891-75f127a1c534@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7b395468-d72d-42c1-b891-75f127a1c534@amd.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: DE63D1C000C X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: 5nojjjnp9sx7xpc5z5xpx4k3adanyn7y X-HE-Tag: 1745250953-167788 X-HE-Meta: U2FsdGVkX1+ZNdumWGNXx1qa5RGOtI8RaoujSa4hPbcrtMvwvT7su67A11M522BGtyV8BsDSxNRZ+LsqwLT6rXGtWNBeHRCnHQ10Rv2K5I8+Xdqn8NIcKONkU1uPhkqiL6DnrX+YWHK/UcEN3Qh7tSCL5dpzhlsc45ZguXM5h7yZeF2Dix5FlWjgN0IAG/SF3H334s+Cq57hUc43cmM6lgQju0BrjVZ2luBH/fELk2DjAUOCzxO/qh990n8opdPZbc7KW9S2qL3uGwdwMrLiTTcHzFMCHECMzOTREZHAMFd2mZ9esrDVtLKSlQYSyPcq9AP3w3xcXElPNwAALfpJzXuf+GilSkUE6B1+x1qLAliUl018bSh8Wf3iY34dQxAkAp9QuXNDtGL3+ABuvdvFpxT9L6RGjjiSSNE0/C5MpMNplO9te8gfeYfXYXL3F60M4qd5TopRLSK8mQ/uWgAdRjX1AM3eIcKaOOkl/QmD8ltloVZVlZhNGfEMcorNfCcAJ7HteQRboFLUERn8XgKprSb3LoQ2tjY688Fz4jPTrRX/vHZuGPiS6sTCfckEgEtPFVoWaVzTj52ZyycGXOypySiZpULH3v692/v+YltCmhaPozducjIRLYc/fmh/cSYt6dsa/U98KuI1weJjBKsvxEYc1GX0pj5hhgxV+FrLIGJ0dvlWyoCqHtlWlP8CLhHj1hKA1UGmbm6Dxb7y2v4EC6myN2uazs4pL3pFRhqzTzxs5VtCn3r5FDqKIVwG8tgaBLxhwNKcvSjIBJF0AQp/A0VAQHbbjzAFZXHImeTeHwA0bNcn9q/vCij0Ltyr84fdbkcKTmgToabzZZE7vPZTPYVwdlk535qqT4X5M0VeIC5dcTxRZx9owxGveCzTSGsz77x6RuA+aybYH9CnAXTrHMDS2QC2k+34AQ2Re/4Fz0hj5I6fhWa9ya1itFMGfM0iCOgqPLxTPEvzhnei9ap g8uNYTX8 PkYv2MfzfPEENrmFlWLtHKzkczyA3Y/wctORJ9cVjD4huV39DF4bOvB3E+e5+caCUE0TqztCtXU23KNyE0/9CoUynHHepvSNWWVbW2DwJD9r/zdFDMBNVpyMbFETrwrKTDFWi7uhXcy0ptzQoP0fAliFzTWIMTEQMam/YtsIISQwol+hNysW2O974qw== 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 Mon, Apr 21, 2025 at 09:17:18PM +0530, Raghavendra K T wrote: > On 4/21/2025 8:44 PM, Kent Overstreet wrote: > > +Qu as I see similar report from him > > > This just popped up in one of my test runs. > > > > Given that it's buffer heads, it has to be the ext4 root filesystem, not > > bcachefs. > > > > 00465 ========= TEST lz4_buffered > > 00465 > > 00465 WATCHDOG 360 > > 00466 bcachefs (vdb): starting version 1.25: extent_flags opts=errors=panic,compression=lz4 > > 00466 bcachefs (vdb): initializing new filesystem > > 00466 bcachefs (vdb): going read-write > > 00466 bcachefs (vdb): marking superblocks > > 00466 bcachefs (vdb): initializing freespace > > 00466 bcachefs (vdb): done initializing freespace > > 00466 bcachefs (vdb): reading snapshots table > > 00466 bcachefs (vdb): reading snapshots done > > 00466 bcachefs (vdb): done starting filesystem > > 00466 starting copy > > 00515 BUG: sleeping function called from invalid context at mm/util.c:743 > > 00515 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 120, name: kcompactd0 > > 00515 preempt_count: 1, expected: 0 > > 00515 RCU nest depth: 0, expected: 0 > > 00515 1 lock held by kcompactd0/120: > > 00515 #0: ffffff80c0c558f0 (&mapping->i_private_lock){+.+.}-{3:3}, at: __buffer_migrate_folio+0x114/0x298 > > 00515 Preemption disabled at: > > 00515 [] __buffer_migrate_folio+0x114/0x298 > > 00515 CPU: 11 UID: 0 PID: 120 Comm: kcompactd0 Not tainted 6.15.0-rc3-ktest-gb2a78fdf7d2f #20530 PREEMPT > > 00515 Hardware name: linux,dummy-virt (DT) > > 00515 Call trace: > > 00515 show_stack+0x1c/0x30 (C) > > 00515 dump_stack_lvl+0xb0/0xc0 > > 00515 dump_stack+0x14/0x20 > > 00515 __might_resched+0x180/0x288 > > 00515 folio_mc_copy+0x54/0x98 > > 00515 __migrate_folio.isra.0+0x68/0x168 > > 00515 __buffer_migrate_folio+0x280/0x298 > > 00515 buffer_migrate_folio_norefs+0x18/0x28 > > 00515 migrate_pages_batch+0x94c/0xeb8 > > 00515 migrate_pages_sync+0x84/0x240 > > 00515 migrate_pages+0x284/0x698 > > 00515 compact_zone+0xa40/0x10f8 > > 00515 kcompactd_do_work+0x204/0x498 > > 00515 kcompactd+0x3c4/0x400 > > 00515 kthread+0x13c/0x208 > > 00515 ret_from_fork+0x10/0x20 > > 00518 starting sync > > 00519 starting rm > > 00520 ========= FAILED TIMEOUT lz4_buffered in 360s > > > > I have also seen similar stack with folio_mc_copy() while testing > PTE A bit patches. > > IIUC, it has something to do with cond_resched() called from > folio_mc_copy(). > > (Thomas (tglx) mentioned long back that cond_resched() does not have the > scope awareness), not sure where should the fix be done in these > cases.. That's true, calling cond_resched() while a spinlock held is a bug. > (I mean caller of the migrate_folio should call with no spinlock held > but with mutex? ) Yes. migrate_folio() does large data copies, so we don't want all that running in atomic context.