From: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
To: "max.kellermann@ionos.com" <max.kellermann@ionos.com>
Cc: Xiubo Li <xiubli@redhat.com>, Alex Markuze <amarkuze@redhat.com>,
"idryomov@gmail.com" <idryomov@gmail.com>,
"stable@vger.kernel.org" <stable@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: RE: [PATCH] fs/ceph/addr: always call ceph_shift_unused_folios_left()
Date: Thu, 4 Sep 2025 21:43:49 +0000 [thread overview]
Message-ID: <25a072e4691ec1ec56149c7266825cee4f82dee3.camel@ibm.com> (raw)
In-Reply-To: <CAKPOu+8Eae6nXWPxV+BGLBVNwSu5dFEtbmo3geZi+uprkisMbg@mail.gmail.com>
On Thu, 2025-08-28 at 23:37 +0200, Max Kellermann wrote:
> On Thu, Aug 28, 2025 at 9:08 PM Viacheslav Dubeyko
> <Slava.Dubeyko@ibm.com> wrote:
> > And which practical step of actions do you see to repeat and reproduce it? :)
>
> Apply the patch in the link. Did you read that thread/patch?
By applying the patch [1], enabling CONFIG_DEBUG_VM, and returning -E2BIG from
ceph_check_page_before_write(), I was able to reproduce this warning:
[ 123.147833] ------------[ cut here ]------------
[ 123.147861] WARNING: CPU: 5 PID: 72 at ./include/linux/huge_mm.h:482
folios_put_refs+0x4c2/0x600
[ 123.147900] Modules linked in: intel_rapl_msr intel_rapl_common
intel_uncore_frequency_common intel_pmc_core pmt_telemetry pmt_discovery
pmt_class intel_pmc_ssram_telemetry intel_vsec kvm_intel kvm irqbypass joydev
polyval_clmulni ghash_clmulni_intel aesni_intel rapl input_leds psmouse
i2c_piix4 vga16fb pata_acpi bochs vgastate i2c_smbus serio_raw floppy
qemu_fw_cfg mac_hid sch_fq_codel rbd msr parport_pc ppdev lp parport efi_pstore
[ 123.147988] CPU: 5 UID: 0 PID: 72 Comm: kworker/u32:2 Not tainted 6.17.0-
rc4+ #9 PREEMPT(voluntary)
[ 123.147995] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.17.0-5.fc42 04/01/2014
[ 123.148002] Workqueue: writeback wb_workfn (flush-ceph-1)
[ 123.148021] RIP: 0010:folios_put_refs+0x4c2/0x600
[ 123.148031] Code: cc c6 db 05 0f 85 19 01 00 00 48 81 c4 b8 00 00 00 5b 41
5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9 31 f6 31 ff c3 cc cc cc cc <0f> 0b e9
1e fe ff ff e8 c2 fe 24 00 e9 da fb ff ff 4c 89 ef e8 b5
[ 123.148035] RSP: 0018:ffff888101c6f228 EFLAGS: 00010246
[ 123.148051] RAX: ffffed102038dea4 RBX: 0000000000000000 RCX:
0000000000000000
[ 123.148057] RDX: 0000000000000001 RSI: 0000000000000000 RDI:
ffff888101c6f520
[ 123.148060] RBP: ffff888101c6f308 R08: 0000000000000000 R09:
0000000000000000
[ 123.148063] R10: 0000000000000000 R11: 0000000000000000 R12:
0000000000000000
[ 123.148066] R13: ffff888101c6f520 R14: 0000000000000000 R15:
dffffc0000000000
[ 123.148069] FS: 0000000000000000(0000) GS:ffff88824a034000(0000)
knlGS:0000000000000000
[ 123.148072] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 123.148075] CR2: 0000700798000020 CR3: 0000000111b6a005 CR4:
0000000000772ef0
[ 123.148082] PKRU: 55555554
[ 123.148085] Call Trace:
[ 123.148088] <TASK>
[ 123.148093] ? __pfx_folios_put_refs+0x10/0x10
[ 123.148099] ? __pfx_filemap_get_folios_tag+0x10/0x10
[ 123.148110] __folio_batch_release+0x52/0xe0
[ 123.148115] ceph_writepages_start+0x277a/0x45f0
[ 123.148129] ? update_load_avg+0x1bd/0x1fe0
[ 123.148145] ? dequeue_entity+0x3e5/0x1450
[ 123.148151] ? ata_sff_qc_issue+0x443/0xa90
[ 123.148175] ? kvm_sched_clock_read+0x11/0x20
[ 123.148198] ? sched_clock_noinstr+0x9/0x10
[ 123.148203] ? sched_clock+0x10/0x30
[ 123.148216] ? __pfx_ceph_writepages_start+0x10/0x10
[ 123.148221] ? psi_group_change+0x3fa/0x8a0
[ 123.148233] ? __pfx_sched_clock_cpu+0x10/0x10
[ 123.148238] ? set_next_entity+0x325/0xb40
[ 123.148245] ? ncsi_channel_monitor.cold+0x36d/0x553
[ 123.148269] ? __kasan_check_write+0x14/0x30
[ 123.148283] ? _raw_spin_lock+0x82/0xf0
[ 123.148293] ? __pfx__raw_spin_lock+0x10/0x10
[ 123.148298] do_writepages+0x1e1/0x540
[ 123.148303] ? do_writepages+0x1e1/0x540
[ 123.148308] __writeback_single_inode+0xa7/0x940
[ 123.148312] ? _raw_spin_unlock+0xe/0x40
[ 123.148315] ? wbc_attach_and_unlock_inode+0x440/0x610
[ 123.148325] ? __pfx_call_function_single_prep_ipi+0x10/0x10
[ 123.148336] writeback_sb_inodes+0x563/0xe40
[ 123.148341] ? __pfx_writeback_sb_inodes+0x10/0x10
[ 123.148348] ? __pfx_move_expired_inodes+0x10/0x10
[ 123.148360] __writeback_inodes_wb+0xbe/0x210
[ 123.148364] wb_writeback+0x4e4/0x6f0
[ 123.148368] ? __pfx_wb_writeback+0x10/0x10
[ 123.148416] ? get_nr_dirty_inodes+0xdc/0x1e0
[ 123.148426] wb_workfn+0x5a9/0xb30
[ 123.148430] ? __pfx_wb_workfn+0x10/0x10
[ 123.148433] ? __pfx___schedule+0x10/0x10
[ 123.148438] ? __pfx__raw_spin_lock_irq+0x10/0x10
[ 123.148442] process_one_work+0x611/0xe20
[ 123.148448] ? __kasan_check_write+0x14/0x30
[ 123.148452] worker_thread+0x7e3/0x1580
[ 123.148456] ? __pfx_worker_thread+0x10/0x10
[ 123.148458] kthread+0x381/0x7a0
[ 123.148463] ? __pfx__raw_spin_lock_irq+0x10/0x10
[ 123.148466] ? __pfx_kthread+0x10/0x10
[ 123.148468] ? __kasan_check_write+0x14/0x30
[ 123.148471] ? recalc_sigpending+0x160/0x220
[ 123.148478] ? _raw_spin_unlock_irq+0xe/0x50
[ 123.148481] ? calculate_sigpending+0x78/0xb0
[ 123.148484] ? __pfx_kthread+0x10/0x10
[ 123.148487] ret_from_fork+0x285/0x350
[ 123.148490] ? __pfx_kthread+0x10/0x10
[ 123.148493] ret_from_fork_asm+0x1a/0x30
[ 123.148499] </TASK>
[ 123.148501] ---[ end trace 0000000000000000 ]---
The warning has been eliminated by applying suggested fix. The suggested patch
has been tested by xfstests and no regression or issue has been detected.
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Tested-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Thanks,
Slava.
[1]
https://lore.kernel.org/all/20250826231626.218675-1-max.kellermann@ionos.com/
next prev parent reply other threads:[~2025-09-04 21:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-27 18:17 Max Kellermann
2025-08-27 19:07 ` Viacheslav Dubeyko
2025-08-28 18:54 ` Viacheslav Dubeyko
2025-08-28 19:05 ` Ilya Dryomov
2025-08-28 19:08 ` Viacheslav Dubeyko
2025-08-28 21:37 ` Max Kellermann
2025-09-04 21:43 ` Viacheslav Dubeyko [this message]
2025-09-05 3:41 ` Max Kellermann
2025-09-05 17:11 ` Viacheslav Dubeyko
2025-09-05 18:35 ` Max Kellermann
2025-09-08 18:40 ` Viacheslav Dubeyko
2025-09-08 10:32 ` Ilya Dryomov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=25a072e4691ec1ec56149c7266825cee4f82dee3.camel@ibm.com \
--to=slava.dubeyko@ibm.com \
--cc=amarkuze@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=max.kellermann@ionos.com \
--cc=stable@vger.kernel.org \
--cc=xiubli@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®