CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2016/05/31 21:34:32
Modified files: sys/sys : srp.h sys/kern : kern_srp.c Log message: add support for using SRPs without the garbage collection machinery. the gc machinery may sleep during srp_update, which makes it hard to use from an interrupt context. srp_swap simply swaps the references in an srp and relies ont he caller to schedule work in a process context where it may sleep with srp_finalise until the reference is no longer in use. our network stack currently modifies routing tables in an interrupt context, so this is built to be used to support rtable updates in our current stack while supporting concurrent lookups. ok jmatthew@ mpi@