Page MenuHomeFreeBSD

tcp/lro: Refactor the free/active list operation.
ClosedPublic

Authored by sepherosa_gmail.com on Apr 28 2016, 3:30 AM.
Tags
None
Referenced Files
F52192874: D6137.id.diff
Sun, Nov 27, 9:48 AM
Unknown Object (File)
Apr 27 2017, 9:19 AM
Unknown Object (File)
Apr 20 2017, 9:55 AM
Unknown Object (File)
Apr 5 2017, 11:16 AM
Unknown Object (File)
Mar 15 2017, 9:43 PM
Unknown Object (File)
Mar 7 2017, 4:06 AM
Unknown Object (File)
Feb 18 2017, 8:12 PM
Unknown Object (File)
Jan 8 2017, 4:08 AM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sepherosa_gmail.com retitled this revision from to tcp/lro: Refactor the free/active list operation..
sepherosa_gmail.com updated this object.
sepherosa_gmail.com edited the test plan for this revision. (Show Details)

The tcp_lro_entry_get() abstraction adds an extra compare to the critical path (the compare against NULL in the function itself, in addition to the same compare in the main routine). At least it does at the C level. Have you verified that the compiler is smart enough to continue to use a single compare?

If this adds an extra compare to the actual executed code, then I object.

It would be worth checking the assembly output.. if it truly inlines it then
it should probably only do one compare.. but worth checking...

The tcp_lro_entry_get() abstraction adds an extra compare to the critical path (the compare against NULL in the function itself, in addition to the same compare in the main routine). At least it does at the C level. Have you verified that the compiler is smart enough to continue to use a single compare?

If this adds an extra compare to the actual executed code, then I object.

OK, I see your concern. I think instead of depending on the compiler, we probably just leave the original code for the free list unchanged :).

sepherosa_gmail.com edited edge metadata.

Skip the free list operation, which may introduce extra cmp on hot code path

gallatin edited edge metadata.

Thanks, I'm good w/this version

This revision was automatically updated to reflect the committed changes.