Re: [PATCH v2] mm/vmalloc: use dedicated unbound workqueue for vmap area draining

kernel test robot
2026-03-24T13:32:47Z

Hello,

kernel test robot noticed "RIP:check_flush_dependency" on:

commit: fadd60891595f20eece57c413cc7654e82bf3ea2 ("[PATCH v2] mm/vmalloc: use dedicated unbound workqueue for vmap area draining")
url: https://github.com/intel-lab-lkp/linux/commits/lirongqing/mm-vmalloc-use-dedicated-unbound-workqueue-for-vmap-area-draining/20260319-194106
base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git 8a30aeb0d1b4e4aaf7f7bae72f20f2ae75385ccb
patch link: https://lore.kernel.org/all/20260319074307.2325-1-lirongqing@baidu.com/
patch subject: [PATCH v2] mm/vmalloc: use dedicated unbound workqueue for vmap area draining

in testcase: blktests
version: blktests-x86_64-7baa454-1_20260320
with following parameters:

test: zbd-009

config: x86_64-rhel-9.4-func
compiler: gcc-14
test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (Skylake) with 32G 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/202603242123.12c0dd46-lkp@intel.com

The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260324/202603242123.12c0dd46-lkp@intel.com

[ 68.342260][ T44] ------------[ cut here ]------------
[ 68.347550][ T44] workqueue: WQ_MEM_RECLAIM vmap_drain:drain_vmap_area_work is flushing !WQ_MEM_RECLAIM events:purge_vmap_node
[ 68.347558][ T44] WARNING: kernel/workqueue.c:3801 at check_flush_dependency+0x1bb/0x330, CPU#1: kworker/u16:3/44
[ 68.370043][ T44] Modules linked in: scsi_debug(-) null_blk loop binfmt_misc snd_hda_codec_intelhdmi snd_hda_codec_hdmi snd_ctl_led snd_hda_codec_alc269 snd_hda_codec_realtek_lib snd_hda_scodec_component snd_hda_codec_generic btrfs libblake2b intel_rapl_msr xor intel_rapl_common zstd_compress platform_profile x86_pkg_temp_thermal intel_powerclamp raid6_pq coretemp i915 dell_wmi sd_mod sg snd_hda_intel kvm_intel intel_gtt snd_soc_avs rfkill dell_smbios dcdbas snd_soc_hda_codec drm_buddy snd_hda_ext_core mei_wdt snd_hda_codec wmi_bmof dell_smm_hwmon dell_wmi_descriptor ttm sparse_keymap kvm snd_hda_core snd_intel_dspcfg drm_display_helper snd_intel_sdw_acpi snd_hwdep irqbypass ghash_clmulni_intel rapl intel_cstate ahci snd_soc_core intel_pmc_core cec snd_compress drm_client_lib pmt_telemetry snd_pcm drm_kms_helper libahci snd_timer pmt_discovery intel_uncore pmt_class pcspkr video i2c_i801 intel_pmc_ssram_telemetry libata snd mei_me intel_vsec acpi_pad i2c_smbus intel_pch_thermal mei wmi soundcore drm fuse nfnetlink
[ 68.370231][ T44] [last unloaded: scsi_debug]
[ 68.464263][ T44] CPU: 1 UID: 0 PID: 44 Comm: kworker/u16:3 Tainted: G S 7.0.0-rc4-00075-gfadd60891595 #1 PREEMPT(lazy)
[ 68.476704][ T44] Tainted: [S]=CPU_OUT_OF_SPEC
[ 68.481292][ T44] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.8.1 12/05/2017
[ 68.489337][ T44] Workqueue: vmap_drain drain_vmap_area_work
[ 68.495137][ T44] RIP: 0010:check_flush_dependency+0x1c9/0x330
[ 68.501713][ T44] Code: 00 fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 4f 01 00 00 48 8d 3d 65 c6 0d 05 48 8b 55 18 48 81 c6 c0 00 00 00 4d 89 f8 <67> 48 0f b9 3a 48 83 c4 10 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc
[ 68.521058][ T44] RSP: 0018:ffffc90000357b50 EFLAGS: 00010086
[ 68.526946][ T44] RAX: dffffc0000000000 RBX: ffff88810c9a9500 RCX: ffff88810c8820c0
[ 68.534730][ T44] RDX: ffffffff81e33510 RSI: ffff88810c9accc0 RDI: ffffffff86670070
[ 68.542511][ T44] RBP: ffff88810d566000 R08: ffffffff81e31890 R09: ffffed102191130b
[ 68.550295][ T44] R10: ffff88810c88985f R11: 0000000000000040 R12: ffff88810d8a8000
[ 68.558082][ T44] R13: ffff88810c882000 R14: ffff88810d8a802c R15: ffffffff81e31890
[ 68.565865][ T44] FS: 0000000000000000(0000) GS:ffff8887fa56f000(0000) knlGS:0000000000000000
[ 68.574596][ T44] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 68.580998][ T44] CR2: 000056337e5a7918 CR3: 000000081a872003 CR4: 00000000003726f0
[ 68.588779][ T44] Call Trace:
[ 68.591900][ T44] <TASK>
[ 68.594681][ T44] __flush_work+0x50c/0x8f0
[ 68.599013][ T44] ? purge_vmap_node+0x6f5/0xab0
[ 68.603780][ T44] ? __pfx___flush_work+0x10/0x10
[ 68.608638][ T44] ? __pfx_purge_vmap_node+0x10/0x10
[ 68.613753][ T44] ? _raw_spin_lock+0x80/0xf0
[ 68.618268][ T44] __purge_vmap_area_lazy+0x723/0xaf0
[ 68.623486][ T44] drain_vmap_area_work+0x21/0x30
[ 68.628347][ T44] process_one_work+0x6b4/0xff0
[ 68.633030][ T44] ? assign_work+0x131/0x3f0
[ 68.637461][ T44] worker_thread+0x51d/0xdb0
[ 68.641894][ T44] ? __kthread_parkme+0xb1/0x1f0
[ 68.646660][ T44] ? __pfx_worker_thread+0x10/0x10
[ 68.651597][ T44] ? __pfx_worker_thread+0x10/0x10
[ 68.656535][ T44] kthread+0x353/0x470
[ 68.660436][ T44] ? recalc_sigpending+0x159/0x1f0
[ 68.665377][ T44] ? __pfx_kthread+0x10/0x10
[ 68.669795][ T44] ret_from_fork+0x32f/0x670
[ 68.674215][ T44] ? __pfx_ret_from_fork+0x10/0x10
[ 68.679164][ T44] ? switch_fpu+0x13/0x1f0
[ 68.683412][ T44] ? __switch_to+0x4c9/0xe70
[ 68.687831][ T44] ? __switch_to_asm+0x33/0x70
[ 68.692426][ T44] ? __pfx_kthread+0x10/0x10
[ 68.696845][ T44] ret_from_fork_asm+0x1a/0x30
[ 68.701454][ T44] </TASK>
[ 68.704333][ T44] ---[ end trace 0000000000000000 ]---

--
0-DAY CI Kernel Test Service