Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/lib/libsa Add a slow twiddle option. This speeds up a p...



details:   https://anonhg.NetBSD.org/src/rev/0ce6a42c54cf
branches:  trunk
changeset: 976654:0ce6a42c54cf
user:      simonb <simonb%NetBSD.org@localhost>
date:      Tue Sep 29 00:13:12 2020 +0000

description:
Add a slow twiddle option.  This speeds up a pmax netboot by 15% and
is only 1% slower than no twiddle.

diffstat:

 sys/lib/libsa/twiddle.c |  19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diffs (37 lines):

diff -r 0bbe355c9e0e -r 0ce6a42c54cf sys/lib/libsa/twiddle.c
--- a/sys/lib/libsa/twiddle.c   Mon Sep 28 23:31:18 2020 +0000
+++ b/sys/lib/libsa/twiddle.c   Tue Sep 29 00:13:12 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: twiddle.c,v 1.8 2008/04/30 16:18:09 ad Exp $   */
+/*     $NetBSD: twiddle.c,v 1.9 2020/09/29 00:13:12 simonb Exp $       */
 
 /*-
  * Copyright (c) 1993
@@ -40,13 +40,24 @@
 
 char   twiddle_toggle;
 
+#ifdef LIBSA_SLOW_TWIDDLE
+#define        TWIDDLE_DELAY   4
+#else
+#define        TWIDDLE_DELAY   0
+#endif
+
+#define        TWIDDLE_MASK    ((1 << TWIDDLE_DELAY) - 1)
+
 void
 twiddle(void)
 {
-       static int pos;
+       static unsigned int pos;
 
        if (!twiddle_toggle) {
-               putchar(TWIDDLE_CHARS[pos++ & 3]);
-               putchar('\b');
+               if ((pos & TWIDDLE_MASK) == 0) {
+                       putchar(TWIDDLE_CHARS[(pos >> TWIDDLE_DELAY) & 3]);
+                       putchar('\b');
+               }
+               pos++;
        }
 }



Home | Main Index | Thread Index | Old Index