The branch main has been updated by trasz:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=456666408f64d18c68b79ae13f5ae063df3c7293

commit 456666408f64d18c68b79ae13f5ae063df3c7293
Author:     Edward Tomasz Napierala <tr...@freebsd.org>
AuthorDate: 2024-11-27 22:33:23 +0000
Commit:     Edward Tomasz Napierala <tr...@freebsd.org>
CommitDate: 2024-11-28 07:47:52 +0000

    Speed up syncer shutdown
    
    When shutting down, the syncer kernel deamon needs to iterate over all
    32 of its queues, pausing for 1/4 of second each time waiting for 
essentially
    nothing.  Bump the SYNCER_SHUTDOWN_SPEEDUP so that it takes just a second to
    iterate.  It will still wait for another second afterwards; that bit is left
    unchanged.
    
    Reviewed By:    kib
    Differential Revision:  https://reviews.freebsd.org/D47647
---
 sys/kern/vfs_subr.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 8f582eb4ca01..feb808c0d4c7 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -323,9 +323,10 @@ DPCPU_DEFINE_STATIC(struct vdbatch, vd);
 static void    vdbatch_dequeue(struct vnode *vp);
 
 /*
- * When shutting down the syncer, run it at four times normal speed.
+ * The syncer will require at least SYNCER_MAXDELAY iterations to shutdown;
+ * we probably don't want to pause for the whole second each time.
  */
-#define SYNCER_SHUTDOWN_SPEEDUP                4
+#define SYNCER_SHUTDOWN_SPEEDUP                32
 static int sync_vnode_count;
 static int syncer_worklist_len;
 static enum { SYNCER_RUNNING, SYNCER_SHUTTING_DOWN, SYNCER_FINAL_DELAY }

Reply via email to