Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
of LOCALBASE (yet)
reminded by cwen@'s question
|
|
|
|
Instead, use a tagged list and the canonical .Ic macro
as it is natural for such purposes.
While here, also delete heaps of needless escaping.
|
|
OK mpi@ sashan@
|
|
hopefully it is a bit more obvious that what rw_enter returns can
be passed up to userland.
reads ok jmc@
ok mpi@
|
|
|
|
i couldn't figure out which argument becomes the flags for the
wrapped call to bus_space_map(9), so i wrote this page so i wouldnt
have to read the code for this one again.
ok jmc@ schwarze@ mpi@ deraadt@
|
|
- Target all four kinds of return bytes (c2, c3, ca, cb)
- Fix up instructions using both ModR/M and SIB bytes
- Force alignment before instructions with return bytes in immediates
- Force alignment before instructions that have return bytes in their encoding
- Add a command line switch to toggle the functionality.
ok deraadt@
|
|
|
|
pfioc_src_nodes to size_t. This avoids integer truncation by casts
to unsigned. As the types of DIOCGETSTATES and DIOCGETSRCNODES
ioctl(2) arguments change, pfctl(8) and systat(1) should be updated
together with the kernel. Calculate number of pf(4) states as
size_t in userland.
OK sashan@ deraadt@
|
|
this allows mpls interfaces (mpe, mpw) to pass the rdomain they
wish the local label to be in, rather than have it implicitly forced
to 0 by these functions. right now they'll pass 0, but it will soon
be possible to have them rx packets in other rdomains.
previously the functions used ifp->if_rdomain for the rdomain.
everything other than mpls still passes ifp->if_rdomain.
ok mpi@
|
|
|
|
in UTF-8 output; suggested by bentley@
|
|
ok schwarze@
|
|
|
|
OK cheloha@ jmc@
|
|
This lets witness(4) save a stack trace on each lock acquisition.
The saved traces can be viewed in ddb(4) when showing the currently
held locks, which may help when debugging incorrect locking.
Sample output:
ddb{0}> show all locks
Process 63836 (rm) thread 0xffff8000221e52c8 (435004)
exclusive rrwlock inode r = 0 (0xfffffd8119a092c0) locked @ /usr/src/sys/ufs/ufs/ufs_vnops.c:1547
#0 witness_lock+0x419
#1 _rw_enter+0x2bb
#2 _rrw_enter+0x42
#3 VOP_LOCK+0x3f
#4 vn_lock+0x36
#5 vfs_lookup+0xa1
#6 namei+0x2b3
#7 dounlinkat+0x85
#8 syscall+0x338
#9 Xsyscall+0x128
exclusive kernel_lock &kernel_lock r = 1 (0xffffffff81e6a5f0) locked @ /usr/src/sys/arch/amd64/amd64/intr.c:525
#0 witness_lock+0x419
#1 syscall+0x2b6
#2 Xsyscall+0x128
The saving adds overhead, so it is not enabled by default. It can be
taken into use by setting sysctl kern.witness.locktrace=1 at runtime
or by defining WITNESS_LOCKTRACE in the kernel configuration.
Feedback and OK anton@
|
|
.Bd ... -compact
is better written as
.Bd ...
|
|
|
|
We use these all over the tree so they ought to be documented on a
separate page; move them out of getitimer.2 into timeradd.3. While
moving, clean up the language and markup here and there.
Still needs to be added to share/man/man3/Makefile, pending any further
cleanup in-tree.
With input from schwarze@, jmc@, and millert@.
"looks great" deraadt@, "(ok)" jmc@, ok tedu@,
"we'll spruce it up in-tree" schwarze@
|
|
In facts, i works very similarly to .Em and .Sy.
Triggered by a question from Kurt Mosiejczuk <kurt at cranky dot work>.
|
|
|
|
found while discussing atomic_cas_ptr
|
|
|
|
|
|
|
|
The new node contains the subsystem's main control variable,
kern.witness.watch. It is aliased by the old name, kern.witnesswatch.
The alias will be removed in the future.
OK anton@ mpi@
|
|
that helpful. lacking the correct facts, i nicked the following text
from the macppc page:
The
.Nm
driver provides an interface which simulates the Advanced Power Management
.Pq APM
BIOS functions.
|
|
|
|
|
|
|
|
|
|
OK jsg@
|
|
|
|
- while there, knock out one .Tn and reformat the text around it
ok stsp
|
|
|
|
comparison instructions and switch statements are being traced. This mode will
be used during fuzzing to generate even more coverage. The same mode is also
supported by FreeBSD and Linux.
Thanks to jmc@ for improving the manual bits.
ok bluhm@ visa@
|
|
setsockopt() calls.
Recommended by guenther@ ok deraadt@
|
|
|
|
|
|
To protect the timehands we first need to protect the basis for all UTC
time in the kernel: the boottime.
Because the boottime can be changed at any time it needs to be versioned
along with the other members of the timehands to enable safe lockless reads
when using it for anything. So the global boottime timespec goes away and
the static boottimebin becomes a member of the timehands. Instead of reading
the global boottime you use one of two interfaces: binboottime(9) or
microboottime(9). nanoboottime(9) can trivially be added later, though there
are no consumers for it at the moment.
This introduces one small change in behavior. We used to advance the
reported boottime just before launching kernel threads from main().
This makes it look to userland like we "booted" moments before those
threads were launched. Because there is no longer a boottime global we
can no longer trivially do this from main(), so the boottime we report
to userspace via e.g. kern.boottime will now reflect whatever the time
was when we bootstrapped the timehands via inittodr(9). This is usually
no more than a minute before the kernel threads are launched from main().
The prior behavior can be restored by adding a new interface to the
timecounter layer in a future commit.
Based on FreeBSD r303387.
Discussed with mpi@ and visa@.
ok visa@
|
|
useful by writing the man page.
suggested by jmatthew@
|
|
|
|
|
|
with some help from cheloha and schwarze
|
|
|