[LTP] [PATCH 7/8] btrfs: use extent_io_tree_release() to empty dirty log pages
kernel test robot
oliver.sang@intel.com
Tue Sep 26 08:25:06 CEST 2023
Hello,
kernel test robot noticed "BUG:sleeping_function_called_from_invalid_context_at_fs/btrfs/extent-io-tree.c" on:
commit: 84b23544b95acd2e4c05fc473816d19b749fe17b ("[PATCH 7/8] btrfs: use extent_io_tree_release() to empty dirty log pages")
url: https://github.com/intel-lab-lkp/linux/commits/fdmanana-kernel-org/btrfs-make-extent-state-merges-more-efficient-during-insertions/20230922-184038
base: https://git.kernel.org/cgit/linux/kernel/git/kdave/linux.git for-next
patch link: https://lore.kernel.org/all/459c0d25abdfecdc7c57192fa656c6abda11af31.1695333278.git.fdmanana@suse.com/
patch subject: [PATCH 7/8] btrfs: use extent_io_tree_release() to empty dirty log pages
in testcase: ltp
version: ltp-x86_64-14c1f76-1_20230715
with following parameters:
disk: 1HDD
fs: btrfs
test: ltp-aiodio.part2-01
compiler: gcc-12
test machine: 4 threads 1 sockets Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz (Ivy Bridge) with 8G memory
(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202309261438.d1bebb50-oliver.sang@intel.com
kern :err : [ 179.301033] BUG: sleeping function called from invalid context at fs/btrfs/extent-io-tree.c:132
kern :err : [ 179.301247] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3670, name: aiodio_sparse
kern :err : [ 179.301432] preempt_count: 1, expected: 0
kern :err : [ 179.301544] RCU nest depth: 0, expected: 0
kern :warn : [ 179.301708] CPU: 1 PID: 3670 Comm: aiodio_sparse Not tainted 6.6.0-rc2-00143-g84b23544b95a #1
kern :warn : [ 179.301924] Hardware name: Hewlett-Packard p6-1451cx/2ADA, BIOS 8.15 02/05/2013
kern :warn : [ 179.302126] Call Trace:
kern :warn : [ 179.302242] <TASK>
kern :warn : [ 179.302351] dump_stack_lvl (lib/dump_stack.c:107 (discriminator 1))
kern :warn : [ 179.302489] __might_resched (kernel/sched/core.c:10188)
kern :warn : [ 179.302630] ? preempt_notifier_dec (kernel/sched/core.c:10142)
kern :warn : [ 179.302781] ? extent_io_tree_release (fs/btrfs/extent-io-tree.c:132) btrfs
kern :warn : [ 179.303082] ? walk_down_log_tree (fs/btrfs/tree-log.c:2711) btrfs
kern :warn : [ 179.303368] extent_io_tree_release (include/linux/sched.h:2097 fs/btrfs/extent-io-tree.c:132) btrfs
kern :warn : [ 179.303657] free_log_tree (fs/btrfs/tree-log.c:3214) btrfs
kern :warn : [ 179.303922] ? walk_log_tree (fs/btrfs/tree-log.c:3173) btrfs
kern :warn : [ 179.304123] ? free_log_tree (fs/btrfs/tree-log.c:330) btrfs
kern :warn : [ 179.304323] btrfs_free_log (fs/btrfs/tree-log.c:3227) btrfs
kern :warn : [ 179.304519] commit_fs_roots (fs/btrfs/transaction.c:1539) btrfs
kern :warn : [ 179.304721] ? btrfs_read_block_groups (fs/btrfs/block-group.c:2668) btrfs
kern :warn : [ 179.304934] ? __btrfs_run_delayed_refs (fs/btrfs/extent-tree.c:2135) btrfs
kern :warn : [ 179.305142] ? trace_btrfs_transaction_commit (fs/btrfs/transaction.c:1501) btrfs
kern :warn : [ 179.305357] btrfs_commit_transaction (fs/btrfs/transaction.c:2508 (discriminator 3)) btrfs
kern :warn : [ 179.305566] ? cleanup_transaction (fs/btrfs/transaction.c:2243) btrfs
kern :warn : [ 179.305769] ? dput (fs/dcache.c:900)
kern :warn : [ 179.305879] ? dget_parent (fs/dcache.c:971)
kern :warn : [ 179.305988] btrfs_sync_file (fs/btrfs/file.c:1987) btrfs
kern :warn : [ 179.306184] ? start_ordered_ops+0x100/0x100 btrfs
kern :warn : [ 179.306400] ? find_vma (mm/mmap.c:1853)
kern :warn : [ 179.306506] ? find_vma_intersection (mm/mmap.c:1853)
kern :warn : [ 179.306630] __do_sys_msync (mm/msync.c:97)
kern :warn : [ 179.306742] do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
kern :warn : [ 179.306852] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
kern :warn : [ 179.306986] RIP: 0033:0x7f3b83d45740
kern :warn : [ 179.307093] Code: 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 80 3d a1 8e 0d 00 00 74 17 b8 1a 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 48 83 ec 28 89 54
All code
========
0: 00 f7 add %dh,%bh
2: d8 64 89 01 fsubs 0x1(%rcx,%rcx,4)
6: 48 83 c8 ff or $0xffffffffffffffff,%rax
a: c3 retq
b: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
12: 00 00 00
15: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
1a: 80 3d a1 8e 0d 00 00 cmpb $0x0,0xd8ea1(%rip) # 0xd8ec2
21: 74 17 je 0x3a
23: b8 1a 00 00 00 mov $0x1a,%eax
28: 0f 05 syscall
2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction
30: 77 58 ja 0x8a
32: c3 retq
33: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
3a: 48 83 ec 28 sub $0x28,%rsp
3e: 89 .byte 0x89
3f: 54 push %rsp
Code starting with the faulting instruction
===========================================
0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax
6: 77 58 ja 0x60
8: c3 retq
9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
10: 48 83 ec 28 sub $0x28,%rsp
14: 89 .byte 0x89
15: 54 push %rsp
kern :warn : [ 179.307439] RSP: 002b:00007ffdafb85f58 EFLAGS: 00000202 ORIG_RAX: 000000000000001a
kern :warn : [ 179.307615] RAX: ffffffffffffffda RBX: 0000000006400000 RCX: 00007f3b83d45740
kern :warn : [ 179.307777] RDX: 0000000000000004 RSI: 0000000006400000 RDI: 00007f3b7d800000
kern :warn : [ 179.307938] RBP: 00007f3b7d800000 R08: 0000000000000004 R09: 0000000000000000
kern :warn : [ 179.308098] R10: 00007f3b83c50168 R11: 0000000000000202 R12: 0000000000000004
kern :warn : [ 179.308287] R13: 000055b86e53d033 R14: 000055b86e53d140 R15: 0000000000000000
kern :warn : [ 179.308454] </TASK>
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20230926/202309261438.d1bebb50-oliver.sang@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the ltp
mailing list