On Tue, Jan 24, 2017 at 3:47 PM, Ryota Ozaki <ozak...@netbsd.org> wrote: > On Mon, Jan 23, 2017 at 10:01 PM, Thor Lancelot Simon <t...@panix.com> wrote: >> On Mon, Jan 23, 2017 at 05:58:20PM +0900, Ryota Ozaki wrote: >>> >>> The demerit is that that mechanism adds non-trivial >>> overhead; RTT of ping increases by 30 usec. >> >> I don't see why overhead for control protocols like ICMP matters. I >> think if you look at longstanding commercial designs for networking >> equipment -- software and hardware alike -- for literally decades they >> have taken the approach of optimizing the fast path (forwarding, data >> protocol performance) while allowing the exception/error paths (ICMP etc.) >> to be very slow. > > Yes, so I proposed this approach regardless of the overhead. > > If none objects, I'm going to implement a complete version of my proposal > in protosw.
Here is a patch: http://www.netbsd.org/~ozaki-r/workqueue-pr_input.diff I eventually gave up implementing the mechanism in protosw; it just made protosw complex. Instead I implemented it as helper functions (see wqinput.c). Any comments? ozaki-r