I am observing live-core dump taking longer using FreeBSD12.
For 600M size of core takes 6-7 seconds on FreeBSD11. However on FreeBSD12 it takes 30-40 seconds.
Dtrace shows that the function “bus_dma_run_filter” is called 5804 times in FreeBSD12 as compared 2 in FreeBSD11.
return : proc name kern_dump_proc 2436
Why in FreeBSD12 calling bounce_buf/bus_dma_run_filter path after adastrategy()?
=====
For 600M size of core takes 6-7 seconds on FreeBSD11. However on FreeBSD12 it takes 30-40 seconds.
Dtrace shows that the function “bus_dma_run_filter” is called 5804 times in FreeBSD12 as compared 2 in FreeBSD11.
return : proc name kern_dump_proc 2436
Code:
3 -> bus_dma_run_filter
kernel`bounce_bus_dmamap_load_ma+0x12b
kernel`_bus_dmamap_load_bio+0x102
kernel`bus_dmamap_load_ccb+0x92
kernel`ata_dmaload+0x11b
kernel`ata_begin_transaction+0x105
kernel`ataaction+0x998
kernel`xpt_run_devq+0x46a
kernel`xpt_action_default+0x7fa
kernel`adastart+0x96a
kernel`xpt_run_allocq+0x182
kernel`adastrategy+0x88
kernel`g_disk_start+0x36e
kernel`g_io_request+0x28b
kernel`g_part_start+0xf9
kernel`g_io_request+0x28b
kernel`g_io_request+0x28b
kernel`ufs_strategy+0x83
kernel`VOP_STRATEGY_APV+0x7b
kernel`bufstrategy+0x2c
kernel`bufwrite+0x189
=====