summaryrefslogtreecommitdiffstats
path: root/lib/libkvm/kvm_proc.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2013-01-14 06:00:48 +0000
committerdlg <dlg@openbsd.org>2013-01-14 06:00:48 +0000
commit42b8fe80d2dfbdb45befeb81b2c8b2d138e8922f (patch)
treef4eae8ed35ba2f16be089f9fa6114d87ffca1017 /lib/libkvm/kvm_proc.c
parentDo not bogusly attempt to mprotect ld.so's .rodata area RW at bootstrap (diff)
downloadwireguard-openbsd-42b8fe80d2dfbdb45befeb81b2c8b2d138e8922f.tar.xz
wireguard-openbsd-42b8fe80d2dfbdb45befeb81b2c8b2d138e8922f.zip
when posting descriptors to the chips rings, avoid going write barrier
write barrier write barrier when using myx_write to post descriptors. instead let its go write write write barrier by using the appropriate bus_space write directly followed by a single bus_space barrier. the story above is mostly true, except that myx wants use to write all the descriptors except the first, barrier, and then write the first one out to signale that the chip can proceed. it is also worth noting that the barriers cover more address space than what we actually wrote to. this makes the code much simpler, and avoids generating extra fence operations (which is what barrier functions end up as on most of our archs) when we wrap around the end of the ring. the bus_space doco encourages this. bus_space use was discussed with krw@ kettenis@ deraadt@
Diffstat (limited to 'lib/libkvm/kvm_proc.c')
0 files changed, 0 insertions, 0 deletions