Date: Wed, 13 Sep 2017 14:57:00 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 222288] g_bio leak after zfs ABD commit Message-ID: <bug-222288-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222288 Bug ID: 222288 Summary: g_bio leak after zfs ABD commit Product: Base System Version: 11.1-STABLE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: dnelson@allantgroup.com It looks like the ABD commit may have introduced a leak of geom bio structs. It's a slow leak so it's not obvious, but after a few weeks of uptime, one of my 8GB-RAM systems had accumulated a couple million g_bio objects according to vmstat (over 2GB of RAM) and was starting to swap. I rebooted it, and after 11 hours, I'm up to 310182: # uptime 9:55AM up 11:08, 11 users, load averages: 0.50, 0.54, 0.55 # vmstat -z | egrep 'ITEM|g_bio' ITEM SIZE LIMIT USED FREE REQ FAIL SLEEP g_bio: 376, 0, 310182, 818, 38182778, 0, 0 Looking at base r321610 itself, it looks like there's a g_bio_destroy() call that got relocated from vdev_geom_io_intr() to vdev_geom_io_done(); maybe there are cases where vdev_geom_io_intr is called, but vdev_geom_io_done isn't? I don't know enough about ZFS internals to get any farther than this. Rolling the kernel back to r321609 makes the leak stop, and updating to r321610 makes it appear again. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-222288-8>
