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
Unknown Object (File)
Dec 1 2022, 12:24 AM
Unknown Object (File)
Nov 27 2022, 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
Subscribers

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

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.