Module Name: src
Committed By: riastradh
Date: Wed Nov 22 13:19:50 UTC 2023
Modified Files:
src/sys/kern: vfs_vnode.c
Log Message:
vfs(9): Make sure to kpause at least one tick, not zero.
kpause(9) forbids zero.
Local workaround for wider problem in PR kern/57718, to address
immediate symptom of crash on any system with hz=50, e.g. alpha in
qemu:
panic: kernel diagnostic assertion "timo != 0 || intr" failed: file
"/usr/src/sys/kern/kern_synch.c", line 249
XXX pullup-10
XXX pullup-9
XXX pullup-8
To generate a diff of this commit:
cvs rdiff -u -r1.150 -r1.151 src/sys/kern/vfs_vnode.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/vfs_vnode.c
diff -u src/sys/kern/vfs_vnode.c:1.150 src/sys/kern/vfs_vnode.c:1.151
--- src/sys/kern/vfs_vnode.c:1.150 Mon Nov 6 12:17:50 2023
+++ src/sys/kern/vfs_vnode.c Wed Nov 22 13:19:50 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_vnode.c,v 1.150 2023/11/06 12:17:50 hannken Exp $ */
+/* $NetBSD: vfs_vnode.c,v 1.151 2023/11/22 13:19:50 riastradh Exp $ */
/*-
* Copyright (c) 1997-2011, 2019, 2020 The NetBSD Foundation, Inc.
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.150 2023/11/06 12:17:50 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnode.c,v 1.151 2023/11/22 13:19:50 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_pax.h"
@@ -540,7 +540,7 @@ lru_requeue(vnode_t *vp, vnodelst_t *lis
listhd == &lru_list[LRU_VRELE])
cv_signal(&vdrain_cv);
if (d > 0 && numvnodes > desiredvnodes + desiredvnodes / 16)
- kpause("vnfull", false, mstohz(10), &vdrain_lock);
+ kpause("vnfull", false, MAX(1, mstohz(10)), &vdrain_lock);
mutex_exit(&vdrain_lock);
}