- User Since
- Jan 22 2015, 5:22 AM (165 w, 1 d)
Aug 9 2017
Mar 17 2017
In general I love this change with my few nits. Note I have a major restructure coming
to inpcb and tcpcb that this helps pave the way for. Basically I have used vtune to
cache-line optimize tcp-output to get its cache line usage down.
Oct 20 2016
Oct 14 2016
I think that a grand idea :)
Oct 10 2016
Oct 7 2016
Looks like a great idea :-)
Sep 8 2016
Aug 26 2016
Aug 18 2016
Aug 16 2016
This gets Jtl's changes in.. I also move the init function down to the
end of the tcb init.. otherwise its possible a init() function may find
that some state init'd later is not what it expects (though it still
has to allow for this in the inp.. lets try to make it easier on the init's built)
Jul 27 2016
Jul 26 2016
Looks good Drew :)
Jul 21 2016
Jul 19 2016
I really need to learn how to type :-)
Turns out when tp is returned NULL by the drop/close that means
it also nicely released the INP_WLOCK. We need to re-acqurire the lock
in that case so we can drop our inp reference.
Originally I had started working on this before Gleb decided to take over and clean it up. I
had fixed the three issues I saw:
- Principle - the start of a new timer was not rejected (like it is for sync drain) for async-drain.
- A three way leak in the callout start
- An incorrect return on some cases with async_drain and tcp.
Fix it so we don't leak inp's.. the tcp_close() can return NULL in tp, this
would mean we would not do the reference count release. Instead use
Jul 18 2016
Jul 6 2016
This addresses Jonathan's Nits.. However after reading the man page I can't see how one would
discuss the finer points of changing stacks (there is no mention of it that I can see in the current
man page). Jonathan perhaps you can, as we say in the IETF, send text :-)
Jul 5 2016
I had not noticed your man page updates.. I will spin around and add the new handoff function to the man page on the next pass (with my comments).
Should there not be a check to the experimental setting to allow a IW of 10?
These look fine and familiar ;-)
I am fine with these changes, however it does *not* mean the fix I sent you does
not also need to be applied. I.e. if an async_drain is running (just like when a drain is running)
we need to return failure and not start the timeout again.
Jun 11 2016
Updated with change we discussed and also two bugs.. when you
do the lookup, a refcnt is incremented so if you were to stay
on the same one you need to release the refcnt (it gets to 2 in that case). And
also in one error path we need to do that (before the lookup was later).
Jun 9 2016
May 25 2016
If Drew says it works I am happy with it as well :-)
May 17 2016
May 11 2016
Is TCPTV_DELACK (hz/25) 40 ms, or is it 40 ms only when HZ is 1000?
May 10 2016
Apr 28 2016
It would be worth checking the assembly output.. if it truly inlines it then
it should probably only do one compare.. but worth checking...
Apr 18 2016
This fixes Michael's nits
Apr 13 2016
jch: Thanks for running your torture tests.. I did not take out the flags you added though I
am not sure we need them anymore.. what do you think?
As a testing update to this, I have this running in a netflix storage cache last
night. I did add a netstats counter in addition to this whenever we incremented
the async-drain counter (tt_draincnt)
Apr 12 2016
Please test this now for V6 I think I have it right.. and I have also cleaned up a few
space changes so I think its in good shape.
Apr 7 2016
Note I need to put back in that ASSERT I took out.. opps
So turns out we need to do a wild-card lookup here if there is not
a connection (all the tunneled kernel protocols should be wildcard).
Apr 4 2016
While I agree a prod to Networking might have been in order, I think its a general
*good* idea here. I don't think having drivers know the internal make-up of the
tcp-lro code is good. I have something similar running at NF for quite some time
Mar 28 2016
Nice.. this should help things.. especially if you add build on
this a hash table :-)
Mar 8 2016
Feb 23 2016
It just occurred to me what bothers me about this .. you need a check
Feb 10 2016
Feb 4 2016
Jan 21 2016
Jan 13 2016
This looks great though I am not sure all the names make sense.. it might be better
to rename some of the things so its not confusing with respect to the old way that the
LRO code worked.
Dec 22 2015
This looks fine.. I guess the little bit in the middle is what
was killing things (i.e. !IS_DEFAULT_VNET()).. )
Dec 16 2015
Dec 11 2015
Dec 10 2015
Dec 9 2015
Dec 7 2015
I am *very* glad to see a cached route coming back in :-)
Nov 30 2015
Nov 13 2015
Looks good to me :-)
Adds Jonathan's code (with one minor modification to make it print right).
This updates the latest round from Jonathan.
The code currently in head will return one of three values:
I can be convinced *not* to have a user space program (though that is exactly what unix was founded upon, a
bunch of small programs that did things for you that could be put together.. I am an old timer so I harken
from those days)..
Nov 12 2015
For some reason fabricator is not cooperating with me. sigh.
I still wonder why we need a new user-space program, when you could use sysctls to do the same thing.
- Well if you look at an email Hiren asked me .. how do I tell the number of pcb's that are there attached to it? The -l option does that for you.. the rest is just fluff... I am pretty set on having a user space function at this point, it also allows us to add more things in the future. So stop wondering and go with the flow :-)
This updates for the latest comments and adds back the missing
user program that I inadvertently took out of the diff (by not
diffing in the right place :-D)