Peter Memishian wrote:
> > > > Here is a simple fix for 6791375. The panic is easily reproducible
> with
> > > > netperf and snoop of lo0. So I have been able to test it easily.
> > > >
> > > > Webrev http://npt.sfbay/net/infotech/export/stk-fix/webrev/
> > >
> > > I'm confused why we don't check both the local and peer tcp_xmit_head
> > > fields in tcp_fuse(). It seems odd to have one check in tcp_fuse()
> > > and the other at the tcp_fuse() call site.
> > >
> > > One other nit: you have "re-enable" in one place and "reenable" in the
> > > other. (It was also probably a mistake to name the field tcp_refuse
> > > rather than tcp_re_fuse :-/)
> >
> > To get the peer, we have to do a tcp lookup. That is done in tcp_fuse().
> > It is just an optimization to call tcp_fuse only after checking our own
> > tcp_xmit_head instead of calling tcp_fuse() all the time.
>
> Is it a worthwhile optimization? Seems like complexity for an edge case.
>
It really doesn't matter to me that much either way. So tell me, would
you prefer to have all the checks in tcp_fuse() and leave tcp_output()
unmodified as it stands today in onnv gate ?