summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/cmd.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2013-01-18 01:54:40 +0000
committerdlg <dlg@openbsd.org>2013-01-18 01:54:40 +0000
commit93c7b57c1dbd29219f5df90059d8d38fc81eee71 (patch)
tree057a1eb924e1dd9de23100870533b248c1ec5794 /usr.bin/tmux/cmd.c
parentReset I/O counters when releasing ccbs. (diff)
downloadwireguard-openbsd-93c7b57c1dbd29219f5df90059d8d38fc81eee71.tar.xz
wireguard-openbsd-93c7b57c1dbd29219f5df90059d8d38fc81eee71.zip
twist the amd64 bus_space implementation a bit. instead of using the tag
as an identifier for IO or memory mappings that was checked inside the api, turn it into a pointer to a structure of function pointers. the api then generally becomes a set of macros that deref the function pointers on the callers behalf. the idea is that following a pointer to very small functions is cheap compared to doing compares continuously. a notable exception to the macro wrappers is bus_space_barrier which is now a static inline function. the only argument to it that gets used is the flags, and thats usually a constant at compile time so it can be inlined to a single fence instruction. the kernel is smaller and the api is more cache friendly now. ok deraadt@
Diffstat (limited to 'usr.bin/tmux/cmd.c')
0 files changed, 0 insertions, 0 deletions