Date: Sun, 12 Dec 2021 21:49:54 GMT From: Robert Wing <rew@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 0b29683b32df - main - bhyve: set EV_CLEAR for EVFILT_VNODE mevents Message-ID: <202112122149.1BCLns6u046462@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=0b29683b32df0233a85f597836e61cc6432a3e4f commit 0b29683b32df0233a85f597836e61cc6432a3e4f Author: Robert Wing <rew@FreeBSD.org> AuthorDate: 2021-12-12 21:39:40 +0000 Commit: Robert Wing <rew@FreeBSD.org> CommitDate: 2021-12-12 21:39:40 +0000 bhyve: set EV_CLEAR for EVFILT_VNODE mevents When an EVFILT_VNODE filter event is triggered, reset it. This fixes the issue where a virtio-blk resize event would cause the mevent thread to consume 100% of the cpu. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33326 --- usr.sbin/bhyve/mevent.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/mevent.c b/usr.sbin/bhyve/mevent.c index eb84dc15ad47..5170251e008b 100644 --- a/usr.sbin/bhyve/mevent.c +++ b/usr.sbin/bhyve/mevent.c @@ -175,7 +175,14 @@ mevent_kq_filter(struct mevent *mevp) static int mevent_kq_flags(struct mevent *mevp) { - return (mevp->me_state); + int retval; + + retval = mevp->me_state; + + if (mevp->me_type == EVF_VNODE) + retval |= EV_CLEAR; + + return (retval); } static int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112122149.1BCLns6u046462>