Synchronize syslogd with FreeBSD. Primarily syslogd.c/1.129. This primarily
adds code to avoid fsync()ing the log file line-by-line when further input
from the pipe is pending.
The FreeBSD commit message for 1.129:
date: 2004/07/04 19:13:58; author: cperciva; state: Exp; lines: +25 -3
Where syslogd would have fsync()ed a file in the past, instead set a flag
FFLAG_NEEDSYNC and fsync the file when select() next returns zero. This
dramatically speeds up the process of logging large amounts of data, while
leaving the essential semantics (that data can be expected to be on disk
if we crash) unchanged.
In my tests, this speeds up the rc phase of booting by 18-20%. [1]
Suggested-by: Barry Bouwsma
Source: FreeBSD