[Bug 275063] kernel using 100% CPU in arc_prune

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 15 Nov 2023 18:00:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275063

--- Comment #3 from Martin Birgmeier <d8zNeCFG@aon.at> ---
Just for information: This condition is triggered reliably as follows:
- Create a sparse/compressed zvol: zfs create -o compress=on -s -V 20g
hal.1/vdisks/903
- In a VM, slice & partition it in the old-fashioned way for carrying UFS
filesystems: ada0s4a, ada0s4d (for / and /usr)
- With the VM not running and from the host side, mount one of these
filesystems
- Run dd if=/dev/zero of=<mountpoint>/<tmpfile> until filesystem full; this is
done to remove unallocated blocks because the sparse/compressed zvol discards
blocks of zeros
- The dd operation reliably triggers the arc_prune issue.

The draining of taskq_zone (see PR 274698) is so slow that it would take many
hours (on an otherwise completely idle system):

[0]# vmstat -z | egrep '^ITEM|taskq' ; sleep 60 ; vmstat -z | egrep
'^ITEM|taskq'
ITEM                   SIZE  LIMIT     USED     FREE      REQ     FAILSLEEP
XDOMAIN
taskq_zone:             192,      0, 2221547,   28456, 2980856,   0,   0,   0
ITEM                   SIZE  LIMIT     USED     FREE      REQ     FAILSLEEP
XDOMAIN
taskq_zone:             192,      0, 2218760,   31243, 2980868,   0,   0,   0
[0]# 

A linear extrapolation results in about 13.3 hours.

-- Martin

-- 
You are receiving this mail because:
You are the assignee for the bug.