Hi Michael, On Wed, Jan 22, 2020 at 10:20:55PM +0100, Michael Tuexen wrote: M> > Log: M> > Plug possible calls into ip6?_output() without network epoch from SCTP M> > bluntly adding epoch entrance into the macro that SCTP uses to call M> > ip6?_output(). This definitely will introduce several epoch recursions. M> Can you specify under which condition NET_EPOCH_ENTER() should be called? M> Then I can try to figure out where these calls need to be made in the M> SCTP code.
Thanks a lot for offering help! Basically the end goal is that any non-sleepable context associated with networking should be running in epoch. That means interrupts, callouts and taskqueues. Syscalls should enter epoch at some stage, depends on a syscall. Right now we are processing all incoming packets that came through ether_input() in the network epoch, so anytime we call sctp_output() as a _response_ to a packet that came via sctp_input() we already are in epoch. With r356989 it is going to be unnecessary recursion. When we do retransmits from a callout, then we aren't (yet) in epoch and r356989 addresses that. Same for syscalls that start SCTP connection or send data down SCTP socket. -- Gleb Smirnoff _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"