diff options
author | 2013-01-18 01:54:40 +0000 | |
---|---|---|
committer | 2013-01-18 01:54:40 +0000 | |
commit | 93c7b57c1dbd29219f5df90059d8d38fc81eee71 (patch) | |
tree | 057a1eb924e1dd9de23100870533b248c1ec5794 /usr.bin/tmux/cmd.c | |
parent | Reset I/O counters when releasing ccbs. (diff) | |
download | wireguard-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