ltsleep() is calling CURSIG() which can call issignal() and issignal()
could not deal with being called from a locked context. This happens
when a process receives SIGTTIN, and issignal() calls psignal() to
post SIGCHLD to the parent.
XXX: It is really messy to have issignal() handle the job control
functionality and the whole signal interlocking protocol needs to
be re-designed. For now this fix (provided by enami) does the trick.
I've been running with this fix for weeks, and atatat has stress-tested
the kernel running ~30 make kernels...
from Kirk McKusick. They implement taking pending block/inode frees
into account for the sake of correct statfs() numbers, and adding
a new softdep type (newdirblk) to correctly handle newly allocated
directory blocks.
Minor additional changes: 1) swap the newly introduced fs_pendinginodes
and fs_pendingblock fields in ffs_sb_swap, and 2) declare lkt_held
in the debug version of the softdep lock structure volatile, as it
can be modified from interrupt context #ifdef DEBUG.
Don't error out if DESTDIR exists.
Use "find -s" instead of "find | sort"
While here: Drop syssrc/usr.sbin/dbsym from syssrc.tgz, since it has been
replaced by gnusrc/gnu/usr.sbin/dbsym.
XXX: Add gnusrc/gnu/usr.sbin/dbsym (and libbfd)?
of a range which is protected by spl/splx. Originally proposed by
YAMAMOTO Takashi (yamt@netbsd.org) on tech-kern. This change mirrors
the one done by Bill Sommerfeld on the i386 mp branch.
expecting pmap_kenter_pa() to be used to replace an existing mapping,
plus it just seems like a bad idea to keep around mappings of pages
that may be freed and reused.
Only sun3[x] was building it anyway, and now it's converted to
USE_NEW_TOOLCHAIN, where all ports (will) have it. The other reason to
descend is the man page, but what use is a man page if the program
doesn't get installed? [gnu/usr.sbin/dbsym has its own copy of the
man page.]
Ok'd by thorpej.
When doing a UDP NFS mount, ask if "small transfers" (i.e.,
-r 1024 -w 1024) should be used; this is necessary when
the client and/or server has a feeble network card.