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); }