On Sun, 2014-12-14 at 10:32 +0000, Poul-Henning Kamp wrote:
> The rotating swirlie ('-/|\') in the loader accounts for a surprisingly
> large part of our boot time on systems with slow-ish serial consoles.
> I think right now it takes a step for each 512 byte read, reducing that
> to once every 64kB or even 1MB would be an improvement with the kind of
> kernel sizes we have today.

I experimented with that a while ago using the attached patch and was
disappointed with the results.  As I vaguely remember it, a divisor of 8
looked fine, but had no significant speedup.  With a divisor of 32 the
difference was measureable (only like 1.5 seconds or so faster), but it
gave the impression that something was wrong, and the overall perception
was that it was slower rather than faster, despite what a stopwatch

I was testing at 115kbps, maybe at 9600 it would be significant.  I
don't understand why anything these days is still defaulting to 9600.
It's the 21st century, but we never got the George Jetson flying cars we
were promised, and apparently we're never going to break loose from the
standards set by accoustic-coupled modems.

-- Ian

Index: lib/libstand/twiddle.c
--- lib/libstand/twiddle.c	(revision 274850)
+++ lib/libstand/twiddle.c	(working copy)
@@ -46,7 +46,11 @@ void
 	static int pos;
+	static int divisor;
-	putchar("|/-\\"[pos++ & 3]);
-	putchar('\b');
+	if (divisor-- == 0) {
+		divisor = 32;
+		putchar("|/-\\"[pos++ & 3]);
+		putchar('\b');
+	}
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to