1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-30 00:00:15 +01:00

latency tests working up to 2^20 bytes.

This commit is contained in:
Annika Wierichs 2018-01-31 10:22:52 +01:00
parent 5131e94ea1
commit 21f18865c1
21 changed files with 10409 additions and 10883 deletions

View file

@ -114,12 +114,9 @@ Todo
TodoAø
String
StringAø
Character
CharacterAø
Number
NumberAø
Boolean
Boolean
Character Character
Number Number
Boolean Boolean
Float Float
Function Function
Conditional Conditional
@ -140,48 +137,17 @@ SpecialChar SpecialChar
Delimiter Delimiter
SpecialComment SpecialComment
Debug Debug
diffAdded diffAdded
diffRemoved diffRemoved
OverLength OverLength
RedBar RedBar
GreenBar GreenBar
IndentGuidesOdd IndentGuidesOdd
IndentGuidesEven IndentGuidesEven
airline_x airline_x
airline_x_bold airline_x_bold
airline_x_red airline_x_red
airline_y airline_y
airline_y_bold airline_y_bold
airline_y_red airline_y_red
airline_z airline_z
airline_z_bold airline_z_bold
airline_z_red airline_z_red
airline_term airline_term
airline_term_bold airline_term_bold
airline_term_red airline_term_red
airline_error airline_error
airline_error_bold airline_error_bold
airline_error_red airline_error_red
airline_a airline_a
airline_a_bold airline_a_bold
airline_a_red airline_a_red
airline_b airline_b
airline_b_bold airline_b_bold
airline_b_red airline_b_red
airline_c airline_c
airline_c_bold airline_c_bold
airline_c_red airline_c_red
airline_warning airline_warning
airline_warning_bold airline_warning_bold
airline_warning_red airline_warning_red
airline_a_to_airline_b airline_a_to_airline_b
airline_b_to_airline_c airline_b_to_airline_c
airline_c_to_airline_x airline_c_to_airline_x
airline_x_to_airline_y airline_x_to_airline_y
airline_y_to_airline_z airline_y_to_airline_z
airline_z_to_airline_warning airline_z_to_airline_warning
airline_warning_to_airline_error airline_warning_to_airline_error
airline_c1_inactive airline_c1_inactive
texZone texZone
ExtraWhitespace ExtraWhitespace
cursorim cursorim
pythonDocTest2 pythonDocTest2
pythonSpaceError pythonSpaceError
GitGutterAddDefault GitGutterAddDefault
GitGutterChangeDefault GitGutterChangeDefault
GitGutterDeleteDefault GitGutterDeleteDefault
GitGutterAddInvisible GitGutterAddInvisible
GitGutterChangeInvisible GitGutterChangeInvisible
GitGutterDeleteInvisible GitGutterDeleteInvisible
cCppSkip cCppSkip
cBadBlock cBadBlock
cCppParen cCppParen
@ -199,206 +165,23 @@ cCppOutElse cCppOutElse
cCppInSkip cCppInSkip
cMulti cMulti
cUserCont cUserCont
cppMinMax cppMinMax
SyntasticErrorLine SyntasticErrorLine
SyntasticWarningLine SyntasticWarningLine
airline_c7_to_airline_x airline_c7_to_airline_x
airline_c3_to_airline_x airline_c3_to_airline_x
airline_c5_to_airline_x airline_c5_to_airline_x
airline_c6_to_airline_x airline_c6_to_airline_x
airline_c4_to_airline_x airline_c4_to_airline_x
airline_c2_to_airline_x airline_c2_to_airline_x
airline_c9_to_airline_x airline_c9_to_airline_x
airline_c10_to_airline_x airline_c10_to_airline_x
airline_c11_to_airline_x airline_c11_to_airline_x
cppMinMax cppMinMax
cmakeSystemVariables cmakeSystemVariables
cmakeDeprecated cmakeDeprecated
Flake8_Error Flake8_Error
Flake8_Warning Flake8_Warning
Flake8_PyFlake Flake8_PyFlake
Flake8_Complexity Flake8_Complexity
Flake8_Naming Flake8_Naming
pythonMatrixMultiply pythonMatrixMultiply
pythonSpaceError pythonSpaceError
pythonAttribute pythonAttribute
pythonSync pythonSync
airline_c8_to_airline_x airline_c8_to_airline_x
cmakeSystemVariables cmakeSystemVariables
cmakeDeprecated cmakeDeprecated
airline_c26_to_airline_x airline_c26_to_airline_x
airline_c25_to_airline_x airline_c25_to_airline_x
airline_c24_to_airline_x airline_c24_to_airline_x
airline_c23_to_airline_x airline_c23_to_airline_x
airline_c14_to_airline_x airline_c14_to_airline_x
airline_c28_to_airline_x airline_c28_to_airline_x
airline_c13_to_airline_x airline_c13_to_airline_x
airline_c12_to_airline_x airline_c12_to_airline_x
airline_c20_to_airline_x airline_c20_to_airline_x
airline_c19_to_airline_x airline_c19_to_airline_x
airline_c18_to_airline_x airline_c18_to_airline_x
airline_c17_to_airline_x airline_c17_to_airline_x
airline_c20_inactive airline_c20_inactive
airline_x_inactive airline_x_inactive
airline_x_inactive_bold airline_x_inactive_bold
airline_x_inactive_red airline_x_inactive_red
airline_y_inactive airline_y_inactive
airline_y_inactive_bold airline_y_inactive_bold
airline_y_inactive_red airline_y_inactive_red
airline_z_inactive airline_z_inactive
airline_z_inactive_bold airline_z_inactive_bold
airline_z_inactive_red airline_z_inactive_red
airline_term_inactive airline_term_inactive
airline_term_inactive_bold airline_term_inactive_bold
airline_term_inactive_red airline_term_inactive_red
airline_error_inactive airline_error_inactive
airline_error_inactive_bold airline_error_inactive_bold
airline_error_inactive_red airline_error_inactive_red
airline_a_inactive airline_a_inactive
airline_a_inactive_bold airline_a_inactive_bold
airline_a_inactive_red airline_a_inactive_red
airline_b_inactive airline_b_inactive
airline_b_inactive_bold airline_b_inactive_bold
airline_b_inactive_red airline_b_inactive_red
airline_c20_inactive_bold airline_c20_inactive_bold
airline_c20_inactive_red airline_c20_inactive_red
airline_warning_inactive airline_warning_inactive
airline_warning_inactive_bold airline_warning_inactive_bold
airline_warning_inactive_red airline_warning_inactive_red
airline_c13_to_airline_x_inactive airline_c13_to_airline_x_inactive
airline_c25_to_airline_x_inactive airline_c25_to_airline_x_inactive
airline_c14_to_airline_x_inactive airline_c14_to_airline_x_inactive
airline_c_to_airline_x_inactive airline_c_to_airline_x_inactive
airline_c28_to_airline_x_inactive airline_c28_to_airline_x_inactive
airline_c17_to_airline_x_inactive airline_c17_to_airline_x_inactive
airline_c8_to_airline_x_inactive airline_c8_to_airline_x_inactive
airline_warning_to_airline_error_inactive airline_warning_to_airline_error_inactive
airline_c2_to_airline_x_inactive airline_c2_to_airline_x_inactive
airline_c18_to_airline_x_inactive airline_c18_to_airline_x_inactive
airline_z_to_airline_warning_inactive airline_z_to_airline_warning_inactive
airline_c19_to_airline_x_inactive airline_c19_to_airline_x_inactive
airline_c3_to_airline_x_inactive airline_c3_to_airline_x_inactive
airline_c4_to_airline_x_inactive airline_c4_to_airline_x_inactive
airline_a_to_airline_b_inactive airline_a_to_airline_b_inactive
airline_c5_to_airline_x_inactive airline_c5_to_airline_x_inactive
airline_c20_to_airline_x_inactive airline_c20_to_airline_x_inactive
airline_b_to_airline_c_inactive airline_b_to_airline_c_inactive
airline_c6_to_airline_x_inactive airline_c6_to_airline_x_inactive
airline_c26_to_airline_x_inactive airline_c26_to_airline_x_inactive
airline_c10_to_airline_x_inactive airline_c10_to_airline_x_inactive
airline_x_to_airline_y_inactive airline_x_to_airline_y_inactive
airline_c7_to_airline_x_inactive airline_c7_to_airline_x_inactive
airline_c11_to_airline_x_inactive airline_c11_to_airline_x_inactive
airline_y_to_airline_z_inactive airline_y_to_airline_z_inactive
airline_c23_to_airline_x_inactive airline_c23_to_airline_x_inactive
airline_c12_to_airline_x_inactive airline_c12_to_airline_x_inactive
airline_c9_to_airline_x_inactive airline_c9_to_airline_x_inactive
airline_c24_to_airline_x_inactive airline_c24_to_airline_x_inactive
airline_c19_inactive airline_c19_inactive
airline_x_to_airline_y_bold airline_x_to_airline_y_bold
airline_x_to_airline_y_red airline_x_to_airline_y_red
airline_z_to_airline_warning_bold airline_z_to_airline_warning_bold
airline_z_to_airline_warning_red airline_z_to_airline_warning_red
airline_b_to_airline_c_bold airline_b_to_airline_c_bold
airline_b_to_airline_c_red airline_b_to_airline_c_red
airline_a_to_airline_b_bold airline_a_to_airline_b_bold
airline_a_to_airline_b_red airline_a_to_airline_b_red
airline_warning_to_airline_error_bold airline_warning_to_airline_error_bold
airline_warning_to_airline_error_red airline_warning_to_airline_error_red
airline_y_to_airline_z_bold airline_y_to_airline_z_bold
airline_y_to_airline_z_red airline_y_to_airline_z_red
airline_c_to_airline_x_bold airline_c_to_airline_x_bold
airline_c_to_airline_x_red airline_c_to_airline_x_red
airline_c18_inactive airline_c18_inactive
airline_c24_to_airline_x_inactive_inactive airline_c24_to_airline_x_inactive_inactive
airline_c24_to_airline_x_inactive_inactive_bold airline_c24_to_airline_x_inactive_inactive_bold
airline_c24_to_airline_x_inactive_inactive_red airline_c24_to_airline_x_inactive_inactive_red
airline_c8_to_airline_x_inactive_inactive airline_c8_to_airline_x_inactive_inactive
airline_c8_to_airline_x_inactive_inactive_bold airline_c8_to_airline_x_inactive_inactive_bold
airline_c8_to_airline_x_inactive_inactive_red airline_c8_to_airline_x_inactive_inactive_red
airline_c25_to_airline_x_inactive_inactive airline_c25_to_airline_x_inactive_inactive
airline_c25_to_airline_x_inactive_inactive_bold airline_c25_to_airline_x_inactive_inactive_bold
airline_c25_to_airline_x_inactive_inactive_red airline_c25_to_airline_x_inactive_inactive_red
airline_c26_to_airline_x_inactive_inactive airline_c26_to_airline_x_inactive_inactive
airline_c26_to_airline_x_inactive_inactive_bold airline_c26_to_airline_x_inactive_inactive_bold
airline_c26_to_airline_x_inactive_inactive_red airline_c26_to_airline_x_inactive_inactive_red
airline_a_to_airline_b_inactive_inactive airline_a_to_airline_b_inactive_inactive
airline_a_to_airline_b_inactive_inactive_bold airline_a_to_airline_b_inactive_inactive_bold
airline_a_to_airline_b_inactive_inactive_red airline_a_to_airline_b_inactive_inactive_red
airline_c2_to_airline_x_inactive_inactive airline_c2_to_airline_x_inactive_inactive
airline_c2_to_airline_x_inactive_inactive_bold airline_c2_to_airline_x_inactive_inactive_bold
airline_c2_to_airline_x_inactive_inactive_red airline_c2_to_airline_x_inactive_inactive_red
airline_warning_to_airline_error_inactive_inactive airline_warning_to_airline_error_inactive_inactive
airline_warning_to_airline_error_inactive_inactive_bold airline_warning_to_airline_error_inactive_inactive_bold
airline_warning_to_airline_error_inactive_inactive_red airline_warning_to_airline_error_inactive_inactive_red
airline_c_to_airline_x_inactive_inactive airline_c_to_airline_x_inactive_inactive
airline_c_to_airline_x_inactive_inactive_bold airline_c_to_airline_x_inactive_inactive_bold
airline_c_to_airline_x_inactive_inactive_red airline_c_to_airline_x_inactive_inactive_red
airline_z_to_airline_warning_inactive_inactive airline_z_to_airline_warning_inactive_inactive
airline_z_to_airline_warning_inactive_inactive_bold airline_z_to_airline_warning_inactive_inactive_bold
airline_z_to_airline_warning_inactive_inactive_red airline_z_to_airline_warning_inactive_inactive_red
airline_x_to_airline_y_inactive_inactive airline_x_to_airline_y_inactive_inactive
airline_x_to_airline_y_inactive_inactive_bold airline_x_to_airline_y_inactive_inactive_bold
airline_x_to_airline_y_inactive_inactive_red airline_x_to_airline_y_inactive_inactive_red
airline_c3_to_airline_x_inactive_inactive airline_c3_to_airline_x_inactive_inactive
airline_c3_to_airline_x_inactive_inactive_bold airline_c3_to_airline_x_inactive_inactive_bold
airline_c3_to_airline_x_inactive_inactive_red airline_c3_to_airline_x_inactive_inactive_red
airline_c17_to_airline_x_inactive_inactive airline_c17_to_airline_x_inactive_inactive
airline_c17_to_airline_x_inactive_inactive_bold airline_c17_to_airline_x_inactive_inactive_bold
airline_c17_to_airline_x_inactive_inactive_red airline_c17_to_airline_x_inactive_inactive_red
airline_c18_to_airline_x_inactive_inactive airline_c18_to_airline_x_inactive_inactive
airline_c18_to_airline_x_inactive_inactive_bold airline_c18_to_airline_x_inactive_inactive_bold
airline_c18_to_airline_x_inactive_inactive_red airline_c18_to_airline_x_inactive_inactive_red
airline_c11_to_airline_x_inactive_inactive airline_c11_to_airline_x_inactive_inactive
airline_c11_to_airline_x_inactive_inactive_bold airline_c11_to_airline_x_inactive_inactive_bold
airline_c11_to_airline_x_inactive_inactive_red airline_c11_to_airline_x_inactive_inactive_red
airline_c20_to_airline_x_inactive_inactive airline_c20_to_airline_x_inactive_inactive
airline_c20_to_airline_x_inactive_inactive_bold airline_c20_to_airline_x_inactive_inactive_bold
airline_c20_to_airline_x_inactive_inactive_red airline_c20_to_airline_x_inactive_inactive_red
airline_c4_to_airline_x_inactive_inactive airline_c4_to_airline_x_inactive_inactive
airline_c4_to_airline_x_inactive_inactive_bold airline_c4_to_airline_x_inactive_inactive_bold
airline_c4_to_airline_x_inactive_inactive_red airline_c4_to_airline_x_inactive_inactive_red
airline_b_to_airline_c_inactive_inactive airline_b_to_airline_c_inactive_inactive
airline_b_to_airline_c_inactive_inactive_bold airline_b_to_airline_c_inactive_inactive_bold
airline_b_to_airline_c_inactive_inactive_red airline_b_to_airline_c_inactive_inactive_red
airline_c19_to_airline_x_inactive_inactive airline_c19_to_airline_x_inactive_inactive
airline_c19_to_airline_x_inactive_inactive_bold airline_c19_to_airline_x_inactive_inactive_bold
airline_c19_to_airline_x_inactive_inactive_red airline_c19_to_airline_x_inactive_inactive_red
airline_c12_to_airline_x_inactive_inactive airline_c12_to_airline_x_inactive_inactive
airline_c12_to_airline_x_inactive_inactive_bold airline_c12_to_airline_x_inactive_inactive_bold
airline_c12_to_airline_x_inactive_inactive_red airline_c12_to_airline_x_inactive_inactive_red
airline_y_to_airline_z_inactive_inactive airline_y_to_airline_z_inactive_inactive
airline_y_to_airline_z_inactive_inactive_bold airline_y_to_airline_z_inactive_inactive_bold
airline_y_to_airline_z_inactive_inactive_red airline_y_to_airline_z_inactive_inactive_red
airline_c28_to_airline_x_inactive_inactive airline_c28_to_airline_x_inactive_inactive
airline_c28_to_airline_x_inactive_inactive_bold airline_c28_to_airline_x_inactive_inactive_bold
airline_c28_to_airline_x_inactive_inactive_red airline_c28_to_airline_x_inactive_inactive_red
airline_c5_to_airline_x_inactive_inactive airline_c5_to_airline_x_inactive_inactive
airline_c5_to_airline_x_inactive_inactive_bold airline_c5_to_airline_x_inactive_inactive_bold
airline_c5_to_airline_x_inactive_inactive_red airline_c5_to_airline_x_inactive_inactive_red
airline_c23_to_airline_x_inactive_inactive airline_c23_to_airline_x_inactive_inactive
airline_c23_to_airline_x_inactive_inactive_bold airline_c23_to_airline_x_inactive_inactive_bold
airline_c23_to_airline_x_inactive_inactive_red airline_c23_to_airline_x_inactive_inactive_red
airline_c13_to_airline_x_inactive_inactive airline_c13_to_airline_x_inactive_inactive
airline_c13_to_airline_x_inactive_inactive_bold airline_c13_to_airline_x_inactive_inactive_bold
airline_c13_to_airline_x_inactive_inactive_red airline_c13_to_airline_x_inactive_inactive_red
airline_c9_to_airline_x_inactive_inactive airline_c9_to_airline_x_inactive_inactive
airline_c9_to_airline_x_inactive_inactive_bold airline_c9_to_airline_x_inactive_inactive_bold
airline_c9_to_airline_x_inactive_inactive_red airline_c9_to_airline_x_inactive_inactive_red
airline_c6_to_airline_x_inactive_inactive airline_c6_to_airline_x_inactive_inactive
airline_c6_to_airline_x_inactive_inactive_bold airline_c6_to_airline_x_inactive_inactive_bold
airline_c6_to_airline_x_inactive_inactive_red airline_c6_to_airline_x_inactive_inactive_red
airline_c14_to_airline_x_inactive_inactive airline_c14_to_airline_x_inactive_inactive
airline_c14_to_airline_x_inactive_inactive_bold airline_c14_to_airline_x_inactive_inactive_bold
airline_c14_to_airline_x_inactive_inactive_red airline_c14_to_airline_x_inactive_inactive_red
airline_c7_to_airline_x_inactive_inactive airline_c7_to_airline_x_inactive_inactive
airline_c7_to_airline_x_inactive_inactive_bold airline_c7_to_airline_x_inactive_inactive_bold
airline_c7_to_airline_x_inactive_inactive_red airline_c7_to_airline_x_inactive_inactive_red
airline_c18_inactive_bold airline_c18_inactive_bold
airline_c18_inactive_red airline_c18_inactive_red
airline_c10_to_airline_x_inactive_inactive airline_c10_to_airline_x_inactive_inactive
airline_c10_to_airline_x_inactive_inactive_bold airline_c10_to_airline_x_inactive_inactive_bold
airline_c10_to_airline_x_inactive_inactive_red airline_c10_to_airline_x_inactive_inactive_red
airline_c17_inactive airline_c17_inactive
airline_c17_inactive_bold airline_c17_inactive_bold
airline_c17_inactive_red airline_c17_inactive_red
BookmarkSignDefault BookmarkSignDefault
BookmarkAnnotationSignDefault BookmarkAnnotationSignDefault
BookmarkLineDefault BookmarkLineDefault
BookmarkAnnotationLineDefault BookmarkAnnotationLineDefault
vimStdPlugin vimStdPlugin
vimGlobal vimGlobal
vimIsCommand vimIsCommand
@ -525,159 +308,29 @@ rubyKeywordAsMethod rubyKeywordAsMethod
vimRubyRegion vimRubyRegion
vimPythonRegion vimPythonRegion
vimAugroupSyncA vimAugroupSyncA
airline_c22_inactive airline_c22_inactive
airline_c11_to_airline_x_bold airline_c11_to_airline_x_bold
airline_c11_to_airline_x_red airline_c11_to_airline_x_red
airline_c5_to_airline_x_bold airline_c5_to_airline_x_bold
airline_c5_to_airline_x_red airline_c5_to_airline_x_red
airline_c24_to_airline_x_bold airline_c24_to_airline_x_bold
airline_c24_to_airline_x_red airline_c24_to_airline_x_red
airline_c7_to_airline_x_bold airline_c7_to_airline_x_bold
airline_c7_to_airline_x_red airline_c7_to_airline_x_red
airline_c10_to_airline_x_bold airline_c10_to_airline_x_bold
airline_c10_to_airline_x_red airline_c10_to_airline_x_red
airline_c4_to_airline_x_bold airline_c4_to_airline_x_bold
airline_c4_to_airline_x_red airline_c4_to_airline_x_red
airline_c23_to_airline_x_bold airline_c23_to_airline_x_bold
airline_c23_to_airline_x_red airline_c23_to_airline_x_red
airline_c3_to_airline_x_bold airline_c3_to_airline_x_bold
airline_c3_to_airline_x_red airline_c3_to_airline_x_red
airline_c28_to_airline_x_bold airline_c28_to_airline_x_bold
airline_c28_to_airline_x_red airline_c28_to_airline_x_red
airline_c19_to_airline_x_bold airline_c19_to_airline_x_bold
airline_c19_to_airline_x_red airline_c19_to_airline_x_red
airline_c14_to_airline_x_bold airline_c14_to_airline_x_bold
airline_c14_to_airline_x_red airline_c14_to_airline_x_red
airline_c8_to_airline_x_bold airline_c8_to_airline_x_bold
airline_c8_to_airline_x_red airline_c8_to_airline_x_red
airline_c2_to_airline_x_bold airline_c2_to_airline_x_bold
airline_c2_to_airline_x_red airline_c2_to_airline_x_red
airline_c13_to_airline_x_bold airline_c13_to_airline_x_bold
airline_c13_to_airline_x_red airline_c13_to_airline_x_red
airline_c26_to_airline_x_bold airline_c26_to_airline_x_bold
airline_c26_to_airline_x_red airline_c26_to_airline_x_red
airline_c18_to_airline_x_bold airline_c18_to_airline_x_bold
airline_c18_to_airline_x_red airline_c18_to_airline_x_red
airline_c20_to_airline_x_bold airline_c20_to_airline_x_bold
airline_c20_to_airline_x_red airline_c20_to_airline_x_red
airline_c12_to_airline_x_bold airline_c12_to_airline_x_bold
airline_c12_to_airline_x_red airline_c12_to_airline_x_red
airline_c9_to_airline_x_bold airline_c9_to_airline_x_bold
airline_c9_to_airline_x_red airline_c9_to_airline_x_red
airline_c6_to_airline_x_bold airline_c6_to_airline_x_bold
airline_c6_to_airline_x_red airline_c6_to_airline_x_red
airline_c25_to_airline_x_bold airline_c25_to_airline_x_bold
airline_c25_to_airline_x_red airline_c25_to_airline_x_red
airline_c17_to_airline_x_bold airline_c17_to_airline_x_bold
airline_c17_to_airline_x_red airline_c17_to_airline_x_red
EasyMotionTargetDefault EasyMotionTargetDefault
EasyMotionTarget2FirstDefault EasyMotionTarget2FirstDefault
EasyMotionTarget2SecondDefault EasyMotionTarget2SecondDefault
EasyMotionShadeDefault EasyMotionShadeDefault
EasyMotionIncSearchDefault EasyMotionIncSearchDefault
EasyMotionIncCursorDefault EasyMotionIncCursorDefault
EasyMotionMoveHLDefault EasyMotionMoveHLDefault
airline_c22_to_airline_x airline_c22_to_airline_x
TagbarAccessPublic TagbarAccessPublic
TagbarAccessProtected TagbarAccessProtected
TagbarAccessPrivate TagbarAccessPrivate
airline_c22_inactive_bold airline_c22_inactive_bold
airline_c22_inactive_red airline_c22_inactive_red
airline_c22_to_airline_x_inactive airline_c22_to_airline_x_inactive
airline_c22_to_airline_x_bold airline_c22_to_airline_x_bold
airline_c22_to_airline_x_red airline_c22_to_airline_x_red
HitAHintShade HitAHintShade
HitAHintTarget HitAHintTarget
VitalOverCommandLineOnCursor VitalOverCommandLineOnCursor
airline_c22_to_airline_x_inactive_inactive airline_c22_to_airline_x_inactive_inactive
airline_c22_to_airline_x_inactive_inactive_bold airline_c22_to_airline_x_inactive_inactive_bold
airline_c22_to_airline_x_inactive_inactive_red airline_c22_to_airline_x_inactive_inactive_red
airline_c19_inactive_bold airline_c19_inactive_bold
airline_c19_inactive_red airline_c19_inactive_red
airline_c14_inactive airline_c14_inactive
airline_c28_inactive airline_c28_inactive
airline_c28_inactive_bold airline_c28_inactive_bold
airline_c28_inactive_red airline_c28_inactive_red
airline_c13_inactive airline_c13_inactive
airline_c13_inactive_bold airline_c13_inactive_bold
airline_c13_inactive_red airline_c13_inactive_red
airline_c12_inactive airline_c12_inactive
airline_c12_inactive_bold airline_c12_inactive_bold
airline_c12_inactive_red airline_c12_inactive_red
airline_c14_inactive_bold airline_c14_inactive_bold
airline_c14_inactive_red airline_c14_inactive_red
airline_c26_inactive airline_c26_inactive
airline_c25_inactive airline_c25_inactive
airline_c25_inactive_bold airline_c25_inactive_bold
airline_c25_inactive_red airline_c25_inactive_red
airline_c24_inactive airline_c24_inactive
airline_c24_inactive_bold airline_c24_inactive_bold
airline_c24_inactive_red airline_c24_inactive_red
airline_c23_inactive airline_c23_inactive
airline_c23_inactive_bold airline_c23_inactive_bold
airline_c23_inactive_red airline_c23_inactive_red
airline_c26_inactive_bold airline_c26_inactive_bold
airline_c26_inactive_red airline_c26_inactive_red
airline_c9_inactive airline_c9_inactive
airline_c10_inactive airline_c10_inactive
airline_c10_inactive_bold airline_c10_inactive_bold
airline_c10_inactive_red airline_c10_inactive_red
airline_c11_inactive airline_c11_inactive
airline_c11_inactive_bold airline_c11_inactive_bold
airline_c11_inactive_red airline_c11_inactive_red
airline_c8_inactive airline_c8_inactive
airline_c8_inactive_bold airline_c8_inactive_bold
airline_c8_inactive_red airline_c8_inactive_red
airline_c7_inactive airline_c7_inactive
airline_c3_inactive airline_c3_inactive
airline_c3_inactive_bold airline_c3_inactive_bold
airline_c3_inactive_red airline_c3_inactive_red
airline_c5_inactive airline_c5_inactive
airline_c5_inactive_bold airline_c5_inactive_bold
airline_c5_inactive_red airline_c5_inactive_red
airline_c6_inactive airline_c6_inactive
airline_c6_inactive_bold airline_c6_inactive_bold
airline_c6_inactive_red airline_c6_inactive_red
airline_c4_inactive airline_c4_inactive
airline_c4_inactive_bold airline_c4_inactive_bold
airline_c4_inactive_red airline_c4_inactive_red
airline_c2_inactive airline_c2_inactive
airline_c2_inactive_bold airline_c2_inactive_bold
airline_c2_inactive_red airline_c2_inactive_red
airline_c30_inactive airline_c30_inactive
airline_c30_to_airline_x airline_c30_to_airline_x
airline_c30_inactive_bold airline_c30_inactive_bold
airline_c30_inactive_red airline_c30_inactive_red
airline_c30_to_airline_x_inactive airline_c30_to_airline_x_inactive
airline_c30_to_airline_x_inactive_inactive airline_c30_to_airline_x_inactive_inactive
airline_c30_to_airline_x_inactive_inactive_bold airline_c30_to_airline_x_inactive_inactive_bold
airline_c30_to_airline_x_inactive_inactive_red airline_c30_to_airline_x_inactive_inactive_red
airline_c30_to_airline_x_bold airline_c30_to_airline_x_bold
airline_c30_to_airline_x_red airline_c30_to_airline_x_red
airline_c32_inactive airline_c32_inactive
airline_c32_to_airline_x airline_c32_to_airline_x
helpNormal helpNormal
helpGraphic helpGraphic
helpLeadBlank helpLeadBlank
airline_c33_inactive airline_c33_inactive
airline_c32_inactive_bold airline_c32_inactive_bold
airline_c32_inactive_red airline_c32_inactive_red
airline_c32_to_airline_x_inactive airline_c32_to_airline_x_inactive
airline_c32_to_airline_x_bold airline_c32_to_airline_x_bold
airline_c32_to_airline_x_red airline_c32_to_airline_x_red
airline_c32_to_airline_x_inactive_inactive airline_c32_to_airline_x_inactive_inactive
airline_c32_to_airline_x_inactive_inactive_bold airline_c32_to_airline_x_inactive_inactive_bold
airline_c32_to_airline_x_inactive_inactive_red airline_c32_to_airline_x_inactive_inactive_red
cursorim cursorim
airline_c_inactive airline_c_inactive
airline_c_inactive_bold airline_c_inactive_bold
airline_c_inactive_red airline_c_inactive_red
NonText links NonText links to
links to LineNr
Search links Search links to
Special links Special links to
Special links Special links to
pythonComment links pythonComment links to
Comment links Comment links to
SpellBad links SpellBad links to
SpellCap links SpellCap links to
SyntasticError links SyntasticError links to
SyntasticWarning links SyntasticWarning links to
TabLine links TabLine links to
TabLineSel links TabLineSel links to
GitGutterChangeDefault links GitGutterChangeDefault links to
GitGutterChangeInvisible links GitGutterChangeInvisible links to
GitGutterAddDefault links GitGutterAddDefault links to
GitGutterChangeDefault links GitGutterChangeDefault links to
GitGutterDeleteDefault links GitGutterDeleteDefault links to
GitGutterChangeDeleteDefault links GitGutterChangeDeleteDefault links to
DiffAdd links DiffAdd links to
DiffChange links DiffChange links to
DiffDelete links DiffDelete links to
GitGutterChangeLine links GitGutterChangeLine links to
Statement links Statement links to
Label links Label links to
Conditional links Conditional links to
@ -728,6 +381,12 @@ Include links Include links to
Macro links Macro links to
Error links Error links to
Comment links Comment links to
Error links Error links to
Todo links Todo links to
SyntasticErrorSign links SyntasticErrorSign links to
SyntasticWarningSign links SyntasticWarningSign links to
SyntasticErrorLine links SyntasticErrorLine links to
SyntasticWarningLine links SyntasticWarningLine links to
Statement links Statement links to
cppStatement links cppStatement links to
Type links Type links to
@ -742,34 +401,6 @@ Constant links Constant links to
Delimiter links Delimiter links to
String links String links to
Number links Number links to
Error links Error links to
Todo links Todo links to
SyntasticErrorSign links SyntasticErrorSign links to
SyntasticWarningSign links SyntasticWarningSign links to
SyntasticErrorLine links SyntasticErrorLine links to
SyntasticWarningLine links SyntasticWarningLine links to
Statement links Statement links to
Function links Function links to
Conditional links Conditional links to
Repeat links Repeat links to
Operator links Operator links to
Exception links Exception links to
Include links Include links to
Statement links Statement links to
Define links Define links to
Function links Function links to
Define links Define links to
Todo links Todo links to
Comment links Comment links to
String links String links to
Special links Special links to
String links String links to
pythonQuotes links pythonQuotes links to
Special links Special links to
String links String links to
Number links Number links to
Function links Function links to
Structure links Structure links to
Special links Special links to
Todo links Todo links to
Comment links Comment links to
@ -783,12 +414,35 @@ Statement links Statement links to
Constant links Constant links to
PreProc links PreProc links to
Error links Error links to
Statement links Statement links to
Function links Function links to
Conditional links Conditional links to
Repeat links Repeat links to
Operator links Operator links to
Exception links Exception links to
Include links Include links to
Statement links Statement links to
Define links Define links to
Function links Function links to
Define links Define links to
Todo links Todo links to
String links String links to
String links String links to
pythonQuotes links pythonQuotes links to
String links String links to
Number links Number links to
Function links Function links to
Structure links Structure links to
SyntasticErrorSign links SyntasticErrorSign links to
SyntasticWarningSign links SyntasticWarningSign links to
SyntasticErrorLine links SyntasticErrorLine links to
SyntasticWarningLine links SyntasticWarningLine links to
SyntasticError links SyntasticError links to
SyntasticWarning links SyntasticWarning links to
BookmarkSignDefault links BookmarkSignDefault links to
BookmarkAnnotationSignDefault links BookmarkAnnotationSignDefault links to
BookmarkLineDefault links BookmarkLineDefault links to
BookmarkAnnotationLineDefault links BookmarkAnnotationLineDefault links to
Todo links Todo links to
Statement links Statement links to
PreProc links PreProc links to
@ -1111,79 +765,3 @@ vimSpecFile links vimSpecFile links to
Statement links Statement links to
Type links Type links to
Statement links Statement links to
EasyMotionTargetDefault links EasyMotionTargetDefault links to
EasyMotionTarget2FirstDefault links EasyMotionTarget2FirstDefault links to
EasyMotionTarget2SecondDefault links EasyMotionTarget2SecondDefault links to
EasyMotionShadeDefault links EasyMotionShadeDefault links to
EasyMotionIncSearchDefault links EasyMotionIncSearchDefault links to
EasyMotionIncCursorDefault links EasyMotionIncCursorDefault links to
EasyMotionMoveHLDefault links EasyMotionMoveHLDefault links to
Identifier links Identifier links to
Title links Title links to
Statement links Statement links to
TagbarAccessPublic links TagbarAccessPublic links to
TagbarAccessProtected links TagbarAccessProtected links to
TagbarAccessPrivate links TagbarAccessPrivate links to
Identifier links Identifier links to
PreProc links PreProc links to
Comment links Comment links to
TagbarKind links TagbarKind links to
Type links Type links to
SpecialKey links SpecialKey links to
NonText links NonText links to
Search links Search links to
Cursor links Cursor links to
Cursor links Cursor links to
VitalOverCommandLineCursor links VitalOverCommandLineCursor links to
Statement links Statement links to
PreProc links PreProc links to
Ignore links Ignore links to
Comment links Comment links to
Ignore links Ignore links to
Ignore links Ignore links to
Identifier links Identifier links to
String links String links to
Ignore links Ignore links to
Identifier links Identifier links to
Type links Type links to
Comment links Comment links to
PreProc links PreProc links to
Todo links Todo links to
Todo links Todo links to
Todo links Todo links to
Special links Special links to
Special links Special links to
Comment links Comment links to
Constant links Constant links to
String links String links to
Character links Character links to
Number links Number links to
Boolean links Boolean links to
Float links Float links to
Identifier links Identifier links to
Function links Function links to
Statement links Statement links to
Conditional links Conditional links to
Repeat links Repeat links to
Label links Label links to
Operator links Operator links to
Keyword links Keyword links to
Exception links Exception links to
PreProc links PreProc links to
Include links Include links to
Define links Define links to
Macro links Macro links to
PreCondit links PreCondit links to
Type links Type links to
StorageClass links StorageClass links to
Structure links Structure links to
Typedef links Typedef links to
SpecialChar links SpecialChar links to
Tag links Tag links to
Delimiter links Delimiter links to
SpecialComment links SpecialComment links to
Debug links Debug links to
Underlined links Underlined links to
Error links Error links to
Todo links Todo links to
String links String links to

View file

@ -893,6 +893,7 @@ void call_ibv_ack_cq_events(struct kvm_run * run, uint8_t * guest_mem) {
void call_ibv_poll_cq(struct kvm_run * run, uint8_t * guest_mem) {
/* printf("LOG: UHYVE - call_ibv_poll_cq\n"); */
/* printf("p"); */
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
uhyve_ibv_poll_cq_t * args = (uhyve_ibv_poll_cq_t *) (guest_mem + data);
@ -1223,6 +1224,7 @@ void call_ibv_destroy_rwq_ind_table(struct kvm_run * run, uint8_t * guest_mem) {
void call_ibv_post_send(struct kvm_run * run, uint8_t * guest_mem) {
/* printf("LOG: UHYVE - call_ibv_post_send\n"); */
/* printf("s"); */
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
uhyve_ibv_post_send_t * args = (uhyve_ibv_post_send_t *) (guest_mem + data);

View file

@ -11,18 +11,14 @@ add_executable(hg hg.c hist.c rdtsc.c run.c init.c opt.c report.c setup.c)
# add_executable(ib-pingpong-ud ib/pingpong.c ib/pingpong-ud.c)
# add_executable(ib_write_bw ib/write_bw.c ib/get_clock.c ib/perftest_parameters.c
# ib/perftest_resources.c ib/perftest_communication.c)
add_executable(ib_write_bw ib/write_bw.c ib/get_clock.c
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
ib/perftest_communication_write_bw.c)
add_executable(ib_write_lat ib/write_lat.c ib/get_clock.c
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
ib/perftest_communication_write_bw.c)
add_executable(ib_read_bw ib/read_bw.c ib/get_clock.c
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
ib/perftest_communication_write_bw.c)
add_executable(ib_read_lat ib/read_lat.c ib/get_clock.c
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
ib/perftest_communication_write_bw.c)
add_executable(ib_write_bw ib/write_bw.c ib/get_clock.c ib/perftest_parameters.c
ib/perftest_resources.c ib/perftest_communication.c)
add_executable(ib_write_lat ib/write_lat.c ib/get_clock.c ib/perftest_parameters.c
ib/perftest_resources.c ib/perftest_communication.c)
add_executable(ib_read_bw ib/read_bw.c ib/get_clock.c ib/perftest_parameters.c
ib/perftest_resources.c ib/perftest_communication.c)
add_executable(ib_read_lat ib/read_lat.c ib/get_clock.c ib/perftest_parameters.c
ib/perftest_resources.c ib/perftest_communication.c)
add_executable(netio netio.c)

File diff suppressed because it is too large Load diff

View file

@ -36,15 +36,15 @@
* Methods : ...
*/
#ifndef PERFTEST_COMMUNICATION_WRITE_BW_H
#define PERFTEST_COMMUNICATION_WRITE_BW_H
#ifndef PERFTEST_COMMUNICATION_H
#define PERFTEST_COMMUNICATION_H
#include <netinet/in.h>
#include <hermit/ibv.h>
#include <hermit/verbs.h>
#include "perftest_resources_write_bw.h"
#include "perftest_resources.h"
/* Macro for 64 bit variables to switch to/from net */
#if __BYTE_ORDER == __BIG_ENDIAN || __BYTE_ORDER == __LITTLE_ENDIAN
@ -81,9 +81,7 @@
#define SYNC_SPEC_ID (5)
/* The Format of the message we pass through sockets , without passing Gid. */
// #define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016Lx:%08x"
// #define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016llx:%08x"
#define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%08Lx:%08Lx:%08x"
#define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016Lx:%08x"
/* The Format of the message we pass through sockets (With Gid). */
#define KEY_PRINT_FMT_GID "%04x:%04x:%06x:%06x:%08x:%016Lx:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%08x:"
@ -95,7 +93,7 @@
#define READ_FMT " OUT %#04x"
/* The print format of the pingpong_dest element for RDMA verbs. */
#define RDMA_FMT " RKey %#08x VAddr 0x%016llx"
#define RDMA_FMT " RKey %#08x VAddr %#016Lx"
/* The print number of SRQ in case of XRC */
#define XRC_FMT " SRQn %#08x"

View file

@ -51,8 +51,8 @@
* set_eth_mtu - set MTU for Raw Ethernet tests.
*/
#ifndef PERFTEST_PARAMETERS_WRITE_BW_H
#define PERFTEST_PARAMETERS_WRITE_BW_H
#ifndef PERFTEST_PARAMETERS_H
#define PERFTEST_PARAMETERS_H
#include <hermit/ibv.h>
#include <hermit/verbs.h>
@ -110,15 +110,15 @@
#define VERSION "1"
/* ------------------------------------------------------------------- */
/* -------------------------------------------------------------------
/* Connection types available. */
#define RC (0)
#define UC (1)
#define UD (2)
#define RawEth (3)
#define XRC (4)
#define DC (5)
#define RC (0)
#define UC (1)
#define UD (2)
#define RawEth (3)
#define XRC (4)
#define DC (5)
/* Genral control definitions */
#define OFF (0)
@ -128,15 +128,7 @@
#define VERSION_EXIT (10)
#define HELP_EXIT (11)
#define MTU_FIX (7)
#define MAX_SIZE_EXP (24)
// #define MAX_SIZE_EXP (22)
// #define MAX_SIZE_EXP (21)
// #define MAX_SIZE_EXP (20)
// #define MAX_SIZE_EXP (19)
// #define MAX_SIZE_EXP (18)
#define MAX_SIZE (1UL << MAX_SIZE_EXP)
#define MAX_SIZE (8388608)
#define LINK_FAILURE (-1)
#define LINK_UNSPEC (-2)
#define MAX_OUT_READ_HERMON (16)
@ -174,7 +166,6 @@
#define DEF_PAGE_SIZE (4096)
#define DEF_FLOWS (1)
#define RATE_VALUES_COUNT (18)
#define SERVER_NAME "137.226.133.151"
/* Optimal Values for Inline */
#define DEF_INLINE_WRITE (220)
@ -585,7 +576,8 @@ static const struct rate_gbps_string RATE_VALUES[RATE_VALUES_COUNT] = {
{IBV_RATE_MAX, "MAX"}
};
char * duplicate_str(const char * given_str);
/* link_layer_str
*

File diff suppressed because it is too large Load diff

View file

@ -1,24 +1,24 @@
/*
* Copyright (c) 2009 Mellanox Technologies Ltd. All rights reserved.
* Copyright (c) 2009 Mellanox Technologies Ltd. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
* licenses. You may choose to be licensed under the terms of the GNU
* General Public License (GPL) Version 2, available from the file
* COPYING in the main directory of this source tree, or the
* OpenIB.org BSD license below:
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
@ -33,23 +33,23 @@
*
* Description :
*
* This API gathres the Socket interface methods for all perftest benchmarks
* and can be used for any benchmark for IB.
* It passes messages between 2 end points through sockets interface methods,
* while passing the rellevant information for the IB entities.
* This API gathres the Socket interface methods for all perftest benchmarks
* and can be used for any benchmark for IB.
* It passes messages between 2 end points through sockets interface methods,
* while passing the rellevant information for the IB entities.
*
* Methods :
*
* ctx_get_local_lid - Receives the Local id from the subnet manager.
* ctx_client_connect - Connects the client through sockets interface.
* ctx_server_connect - Connects the Server to client through sockets.
* ctx_hand_shake - Passes the data between 2 end points machines.
* ctx_print_pingpong_data - Prints the data that was passed.
* ctx_close_connection - Closing the sockets interface.
* ctx_get_local_lid - Receives the Local id from the subnet manager.
* ctx_client_connect - Connects the client through sockets interface.
* ctx_server_connect - Connects the Server to client through sockets.
* ctx_hand_shake - Passes the data between 2 end points machines.
* ctx_print_pingpong_data - Prints the data that was passed.
* ctx_close_connection - Closing the sockets interface.
*/
#ifndef PERFTEST_RESOURCES_WRITE_BW_H
#define PERFTEST_RESOURCES_WRITE_BW_H
#ifndef PERFTEST_RESOURCES_H
#define PERFTEST_RESOURCES_H
#include <hermit/ibv.h>
#include <hermit/verbs.h>
@ -65,24 +65,24 @@
#include <netdb.h>
#include <fcntl.h> // ?
#include "perftest_parameters_write_bw.h"
#include "perftest_parameters.h"
#define NUM_OF_RETRIES (10)
#define NUM_OF_RETRIES (10)
/* Outstanding reads for "read" verb only. */
#define MAX_SEND_SGE (1)
#define MAX_RECV_SGE (1)
#define CTX_POLL_BATCH (16)
#define PL (1)
#define ATOMIC_ADD_VALUE (1)
#define MAX_SEND_SGE (1)
#define MAX_RECV_SGE (1)
#define CTX_POLL_BATCH (16)
#define PL (1)
#define ATOMIC_ADD_VALUE (1)
#define ATOMIC_SWAP_VALUE (0)
/* Space for GRH when we scatter the packet in UD. */
#define PINGPONG_SEND_WRID (60)
#define PINGPONG_RDMA_WRID (3)
#define PINGPONG_READ_WRID (1)
#define PINGPONG_SEND_WRID (60)
#define PINGPONG_RDMA_WRID (3)
#define PINGPONG_READ_WRID (1)
#define PINGPONG_ATOMIC_WRID (22)
#define DEFF_QKEY (0x11111111)
#define DEFF_QKEY (0x11111111)
#ifdef HAVE_XRCD
#define SERVER_FD "/tmp/xrc_domain_server"
@ -90,14 +90,14 @@
#endif
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
{ fprintf(stderr," Completion with error at client\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
{ fprintf(stderr," Completion with error at client\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
fprintf(stderr, "scnt=%lu, ccnt=%lu\n",scnt, ccnt); }
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
{ fprintf(stderr," Completion with error at server\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
{ fprintf(stderr," Completion with error at server\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
fprintf(stderr," rcnt=%lu\n",rcnt); }
/* Macro to determine packet size in case of UD. The UD addition is for the GRH . */
@ -115,85 +115,85 @@
/* Macro that defines the address where we write in RDMA.
* If message size is smaller then CACHE_LINE size then we write in CACHE_LINE jumps.
*/
#define INC(size,cache_line_size) ((size > cache_line_size) ? ((size%cache_line_size == 0) ? \
#define INC(size,cache_line_size) ((size > cache_line_size) ? ((size%cache_line_size == 0) ? \
(size) : (cache_line_size*(size/cache_line_size+1))) : (cache_line_size))
#define UD_MSG_2_EXP(size) ((log(size))/(log(2)))
#define MASK_IS_SET(mask, attr) (((mask)&(attr))!=0)
#define MASK_IS_SET(mask, attr) (((mask)&(attr))!=0)
/******************************************************************************
* Perftest resources Structures and data types.
******************************************************************************/
struct pingpong_context {
// struct rdma_event_channel *cm_channel;
// struct rdma_cm_id *cm_id_control;
// struct rdma_cm_id *cm_id;
struct ibv_context *context;
struct ibv_comp_channel *channel;
struct ibv_pd *pd;
struct ibv_mr **mr;
struct ibv_cq *send_cq;
struct ibv_cq *recv_cq;
void **buf;
struct ibv_ah **ah;
struct ibv_qp **qp;
struct ibv_srq *srq;
struct ibv_sge *sge_list;
struct ibv_sge *recv_sge_list;
struct ibv_send_wr *wr;
struct ibv_recv_wr *rwr;
uint64_t size;
uint64_t *my_addr;
uint64_t *rx_buffer_addr;
uint64_t *rem_addr;
uint64_t buff_size;
uint64_t send_qp_buff_size;
uint64_t flow_buff_size;
int tx_depth;
int huge_shmid;
uint64_t *scnt;
uint64_t *ccnt;
int is_contig_supported;
uint32_t *ctrl_buf;
uint32_t *credit_buf;
struct ibv_mr *credit_mr;
struct ibv_sge *ctrl_sge_list;
struct ibv_send_wr *ctrl_wr;
int send_rcredit;
int credit_cnt;
int cache_line_size;
int cycle_buffer;
// struct rdma_event_channel *cm_channel;
// struct rdma_cm_id *cm_id_control;
// struct rdma_cm_id *cm_id;
struct ibv_context *context;
struct ibv_comp_channel *channel;
struct ibv_pd *pd;
struct ibv_mr **mr;
struct ibv_cq *send_cq;
struct ibv_cq *recv_cq;
void **buf;
struct ibv_ah **ah;
struct ibv_qp **qp;
struct ibv_srq *srq;
struct ibv_sge *sge_list;
struct ibv_sge *recv_sge_list;
struct ibv_send_wr *wr;
struct ibv_recv_wr *rwr;
uint64_t size;
uint64_t *my_addr;
uint64_t *rx_buffer_addr;
uint64_t *rem_addr;
uint64_t buff_size;
uint64_t send_qp_buff_size;
uint64_t flow_buff_size;
int tx_depth;
int huge_shmid;
uint64_t *scnt;
uint64_t *ccnt;
int is_contig_supported;
uint32_t *ctrl_buf;
uint32_t *credit_buf;
struct ibv_mr *credit_mr;
struct ibv_sge *ctrl_sge_list;
struct ibv_send_wr *ctrl_wr;
int send_rcredit;
int credit_cnt;
int cache_line_size;
int cycle_buffer;
#ifdef HAVE_XRCD
struct ibv_xrcd *xrc_domain;
int fd;
struct ibv_xrcd *xrc_domain;
int fd;
#endif
#ifdef HAVE_ACCL_VERBS
struct ibv_exp_res_domain *res_domain;
struct ibv_exp_cq_family *send_cq_family;
struct ibv_exp_cq_family *recv_cq_family;
struct ibv_exp_qp_burst_family **qp_burst_family;
struct ibv_exp_res_domain *res_domain;
struct ibv_exp_cq_family *send_cq_family;
struct ibv_exp_cq_family *recv_cq_family;
struct ibv_exp_qp_burst_family **qp_burst_family;
#endif
};
struct pingpong_dest {
int lid;
int out_reads;
int qpn;
int psn;
unsigned rkey;
int lid;
int out_reads;
int qpn;
int psn;
unsigned rkey;
unsigned long long vaddr;
union ibv_gid gid;
unsigned srqn;
int gid_index;
union ibv_gid gid;
unsigned srqn;
int gid_index;
};
struct raw_ethernet_info { // !
uint8_t mac[6];
uint8_t mac[6];
uint32_t ip;
uint8_t ip6[16];
int port;
uint8_t ip6[16];
int port;
};
/******************************************************************************
@ -205,26 +205,26 @@ struct raw_ethernet_info { // !
* Description : Creating a service struct from a given port and servername.
*
* Parameters :
* service - an empty char** to contain the service name.
* port - The selected port on which the server will listen.
* hints - The requested ai_* params for the connection.
* res - Holds the result.
* service - an empty char** to contain the service name.
* port - The selected port on which the server will listen.
* hints - The requested ai_* params for the connection.
* res - Holds the result.
*
* Return Value : SUCCESS, FAILURE.
*/
int check_add_port(char **service,int port,
const char *servername,
struct addrinfo *hints,
struct addrinfo **res);
// int check_add_port(char **service,int port,
// const char *servername,
// struct addrinfo *hints,
// struct addrinfo **res);
/* ctx_find_dev
*
* Description : Returns the device corresponding to ib_devname
* or the first one found , in case ib_devname == NULL
* or the first one found , in case ib_devname == NULL
*
* Parameters :
*
* ib_devname - The name of the device requested or NULL for the first one.
* ib_devname - The name of the device requested or NULL for the first one.
*
* Return Value : the device or NULL in case of failure.
*/
@ -235,8 +235,8 @@ struct ibv_device* ctx_find_dev(const char *ib_devname);
* Description : allocate all perftest resources.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* ctx - Resources sructure.
* user_param - the perftest parameters.
*/
void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -245,8 +245,8 @@ void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_par
* Description : Deallocate all perftest resources.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* ctx - Resources sructure.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -256,11 +256,11 @@ int destroy_ctx(struct pingpong_context *ctx,
/* verify_params_with_device_context
*
* Description :
* Verify user params that require information from the ibv_context
* Verify user params that require information from the ibv_context
*
* Parameters :
* context - ibv_context
* user_param - the perftest parameters.
* context - ibv_context
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -271,12 +271,12 @@ int verify_params_with_device_context(struct ibv_context *ctx,
/* ctx_init
*
* Description :
* Creates all the test resources.
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
* Creates all the test resources.
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
*
* Parameters :
* ctx - An empty resources sructure to fill inside the resources.
* user_param - the perftest parameters.
* ctx - An empty resources sructure to fill inside the resources.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -286,15 +286,15 @@ int ctx_init(struct pingpong_context *ctx,struct perftest_parameters *user_param
*
* Description :
*
* Creates a QP , according to the attributes given in param.
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
* Creates a QP , according to the attributes given in param.
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
*
* Parameters :
*
* pd - The Protection domain , each the qp will be assigned to.
* send_cq - The CQ that will produce send CQE.
* recv_qp - The CQ that will produce recv CQE.
* param - The parameters for the QP.
* pd - The Protection domain , each the qp will be assigned to.
* send_cq - The CQ that will produce send CQE.
* recv_qp - The CQ that will produce recv CQE.
* param - The parameters for the QP.
*
* Return Value : Adress of the new QP.
*/
@ -305,13 +305,13 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
*
* Description :
*
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
*
* Parameters :
*
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
*
* Return Value : SUCCESS, FAILURE.
*
@ -322,14 +322,14 @@ int ctx_modify_qp_to_init(struct ibv_qp *qp,struct perftest_parameters *user_par
*
* Description :
*
* Modifies the given QP to RTR and then RTS states, given it's transport type and feature.
* Modifies the given QP to RTR and then RTS states, given it's transport type and feature.
*
* Parameters :
*
* ctx - Test Context.
* dest - pingpong_dest struct of the remote side.
* user_param - user_parameters struct for this test.
* my_dest - pingpong_dest struct of this side.
* ctx - Test Context.
* dest - pingpong_dest struct of the remote side.
* user_param - user_parameters struct for this test.
* my_dest - pingpong_dest struct of this side.
*
* Return Value : SUCCESS, FAILURE.
*
@ -343,13 +343,13 @@ int ctx_connect(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the exp send work request templates for all QPs
* Prepare the exp send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
@ -361,13 +361,13 @@ void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the regular send work request templates for all QPs
* Prepare the regular send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
@ -378,13 +378,13 @@ void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the send work request templates for all QPs
* Prepare the send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_wqes(struct pingpong_context *ctx,
@ -396,12 +396,12 @@ void ctx_set_send_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the receives work request templates for all QPs in SEND receive test.
* Prepare the receives work request templates for all QPs in SEND receive test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -410,18 +410,18 @@ int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *u
*
* Description :
*
* Allocate resources to support the credit exchange mechanism,
* which allows ib_send_bw to work with iWARP
* Allocate resources to support the credit exchange mechanism,
* which allows ib_send_bw to work with iWARP
*
* Parameters :
*
* ctx - test context
* user_param - user parameters struct for this test
* my_dest - pingpong_dest struct of the this side
* ctx - test context
* user_param - user parameters struct for this test
* my_dest - pingpong_dest struct of the this side
*
* my_dest is updated to store the credit buf vaddr and rkey
* which need to be exchanged with the remote side
* to enable RDMA WRITE op
* my_dest is updated to store the credit buf vaddr and rkey
* which need to be exchanged with the remote side
* to enable RDMA WRITE op
*/
int ctx_alloc_credit(struct pingpong_context *ctx,
struct perftest_parameters *user_param,
@ -430,30 +430,29 @@ int ctx_alloc_credit(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the send credit work request templates for all QPs
* RDMA WRITE op is used for sending credit
* Credit exchange is necessary for ib_send_bw to work with iWARP
* Prepare the send credit work request templates for all QPs
* RDMA WRITE op is used for sending credit
* Credit exchange is necessary for ib_send_bw to work with iWARP
*
* Parameters :
*
* ctx - test context
* user_param - user parameters struct for this test
* rem_dest - pingpong_dest struct of the remote side.
* ctx - test context
* user_param - user parameters struct for this test
* rem_dest - pingpong_dest struct of the remote side.
*/
int ctx_set_credit_wqes(struct pingpong_context *ctx,
struct perftest_parameters *user_param,
struct pingpong_dest *rem_dest);
/* run_iter_bw.
*
* Description :
*
* The main testing method in BW tests.
* The main testing method in BW tests.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -462,12 +461,12 @@ int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* Infinite BW method, that prints BW every 5 seconds and never stops.
* Infinite BW method, that prints BW every 5 seconds and never stops.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
// int run_iter_bw_infinitely(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -476,12 +475,12 @@ int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* Infinite on SEND server BW method, will not print anything and will post receive wqes for each incoming packet.
* Infinite on SEND server BW method, will not print anything and will post receive wqes for each incoming packet.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -490,12 +489,12 @@ int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_
*
* Description :
*
* The main testing method for Receiver in SEND test.
* The main testing method for Receiver in SEND test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -504,12 +503,12 @@ int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters
*
* Description :
*
* The main testing method for bidirrectional.
* The main testing method for bidirrectional.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -518,12 +517,12 @@ int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* This is the latency test function for WRITE verb.
* This is the latency test function for WRITE verb.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -531,12 +530,12 @@ int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *
*
* Description :
*
* This is the latency test function for READ or ATOMIC verb latency tests.
* This is the latency test function for READ or ATOMIC verb latency tests.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -544,12 +543,12 @@ int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_p
*
* Description :
*
* This is the latency test function for SEND verb latency test.
* This is the latency test function for SEND verb latency test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -557,12 +556,12 @@ int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *
*
* Description :
*
* This is the latency test function for SEND verb latency test in burst mode
* This is the latency test function for SEND verb latency test in burst mode
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -571,12 +570,12 @@ int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters
*
* Description :
*
* This is the latency test function for server side latency test in burst mode
* This is the latency test function for server side latency test in burst mode
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -585,13 +584,13 @@ int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_para
*
* Description :
*
* This method find and returns the local Id in IB subnet manager of
* the selected port and HCA given.The lid identifies the port.
* This method find and returns the local Id in IB subnet manager of
* the selected port and HCA given.The lid identifies the port.
*
* Parameters :
*
* context - the context of the HCA device.
* ib_port - The port of the HCA (1 or 2).
* context - the context of the HCA device.
* ib_port - The port of the HCA (1 or 2).
*
* Return Value : The Lid itself. (No error values).
*/
@ -600,18 +599,18 @@ uint16_t ctx_get_local_lid(struct ibv_context *context, int ib_port);
/* ctx_notify_events
*
* Description : Prepare the test to work with events instead of polling the CQ.
* This is the way to work in un interipted mode.
* This is the way to work in un interipted mode.
*
* Parameters :
* channel - (Mandotory) the created event channel.
* channel - (Mandotory) the created event channel.
*
* Return Value : SUCCESS, FAILURE.
*/
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
{
struct ibv_cq *ev_cq;
void *ev_ctx;
struct ibv_cq *ev_cq;
void *ev_ctx;
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
fprintf(stderr, "Failed to get cq_event\n");
@ -667,20 +666,20 @@ static __inline void increase_rem_addr(struct ibv_send_wr *wr,int size,uint64_t
/* increase_loc_addr.
*
* Description :
* Increases the local address in all verbs ,
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
* in an orginzed way.
* Increases the local address in all verbs ,
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
* in an orginzed way.
*
* Parameters :
* sg - The scatter element of the wqe.
* size - size of the message to send.
* rcnt - The ammount of post_send or post_receive we called.
* prim_addr - The address of the original buffer.
* server_is_ud - Indication to weather we are in UD mode.
* sg - The scatter element of the wqe.
* size - size of the message to send.
* rcnt - The ammount of post_send or post_receive we called.
* prim_addr - The address of the original buffer.
* server_is_ud - Indication to weather we are in UD mode.
*/
static __inline void increase_loc_addr(struct ibv_sge *sg,int size,uint64_t rcnt,uint64_t prim_addr,int server_is_ud, int cache_line_size, int cycle_buffer)
{
sg->addr += INC(size,cache_line_size);
sg->addr += INC(size,cache_line_size);
if ( ((rcnt+1) % (cycle_buffer/ INC(size,cache_line_size))) == 0 )
sg->addr = prim_addr;
@ -690,10 +689,10 @@ static __inline void increase_loc_addr(struct ibv_sge *sg,int size,uint64_t rcnt
/* catch_alarm.
*
* Description :
* Signal catcher for duration feature.
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
* will calculate BW accordingley.
* Signal catcher for duration feature.
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
* will calculate BW accordingley.
*
*/
void catch_alarm(int sig);
@ -703,8 +702,8 @@ void check_alive(int sig);
/* catch_alarm.
*
* Description :
* Signal catcher for run_infinitely feature.
* Will be triggered every 5 sec and measure BW in this time frame.
* Signal catcher for run_infinitely feature.
* Will be triggered every 5 sec and measure BW in this time frame.
*
*/
void catch_alarm_infintely();
@ -712,7 +711,7 @@ void catch_alarm_infintely();
/* handle_signal_print_thread
*
* Description :
* Handle thread creation for signal catching in run_infinitely mode
* Handle thread creation for signal catching in run_infinitely mode
*
*/
void *handle_signal_print_thread(void *sig_mask);
@ -721,13 +720,13 @@ void *handle_signal_print_thread(void *sig_mask);
*
* Description :
*
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
*
* Parameters :
*
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
*
* Return Value : SUCCESS, FAILURE.
*
@ -775,12 +774,12 @@ int modify_qp_to_init(struct pingpong_context *ctx,
*
* Description :
*
* Creates a single MR for a specific QP index.
* Creates a single MR for a specific QP index.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* qp_index - QP index to register a MR
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* qp_index - QP index to register a MR
*
* Return Value : SUCCESS, FAILURE.
*
@ -792,12 +791,12 @@ int create_single_mr(struct pingpong_context *ctx,
*
* Description :
*
* Creates Memory Regions for the test.
* Takes into consideration all user parameters and test type.
* Creates Memory Regions for the test.
* Takes into consideration all user parameters and test type.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*
@ -809,10 +808,10 @@ int create_mr(struct pingpong_context *ctx,
*
* Description :
*
* Creates hugepage memory Regions for the test.
* Creates hugepage memory Regions for the test.
*
* Parameters :
* ctx - Resources sructure.
* Parameters :
* ctx - Resources sructure.
*
* Return Value : SUCCESS, FAILURE.
*
@ -823,12 +822,12 @@ int alloc_hugepage_region (struct pingpong_context *ctx);
*
* Description :
*
* The main testing method for Flow steering creation
* The main testing method for Flow steering creation
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/

File diff suppressed because it is too large Load diff

View file

@ -81,7 +81,9 @@
#define SYNC_SPEC_ID (5)
/* The Format of the message we pass through sockets , without passing Gid. */
#define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016Lx:%08x"
// #define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016Lx:%08x"
// #define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%016llx:%08x"
#define KEY_PRINT_FMT "%04x:%04x:%06x:%06x:%08x:%08Lx:%08Lx:%08x"
/* The Format of the message we pass through sockets (With Gid). */
#define KEY_PRINT_FMT_GID "%04x:%04x:%06x:%06x:%08x:%016Lx:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%08x:"
@ -93,7 +95,7 @@
#define READ_FMT " OUT %#04x"
/* The print format of the pingpong_dest element for RDMA verbs. */
#define RDMA_FMT " RKey %#08x VAddr %#016Lx"
#define RDMA_FMT " RKey %#08x VAddr 0x%016llx"
/* The print number of SRQ in case of XRC */
#define XRC_FMT " SRQn %#08x"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -110,15 +110,15 @@
#define VERSION "1"
/* -------------------------------------------------------------------
/* ------------------------------------------------------------------- */
/* Connection types available. */
#define RC (0)
#define UC (1)
#define UD (2)
#define RawEth (3)
#define XRC (4)
#define DC (5)
#define RC (0)
#define UC (1)
#define UD (2)
#define RawEth (3)
#define XRC (4)
#define DC (5)
/* Genral control definitions */
#define OFF (0)
@ -128,7 +128,17 @@
#define VERSION_EXIT (10)
#define HELP_EXIT (11)
#define MTU_FIX (7)
#define MAX_SIZE (8388608)
// #define MAX_SIZE_EXP (24)
// #define MAX_SIZE_EXP (23)
// #define MAX_SIZE_EXP (22)
#define MAX_SIZE_EXP (21)
// #define MAX_SIZE_EXP (20)
// #define MAX_SIZE_EXP (19)
// #define MAX_SIZE_EXP (18)
#define MAX_SIZE (1UL << MAX_SIZE_EXP)
#define LINK_FAILURE (-1)
#define LINK_UNSPEC (-2)
#define MAX_OUT_READ_HERMON (16)
@ -166,6 +176,7 @@
#define DEF_PAGE_SIZE (4096)
#define DEF_FLOWS (1)
#define RATE_VALUES_COUNT (18)
#define SERVER_NAME "137.226.133.151"
/* Optimal Values for Inline */
#define DEF_INLINE_WRITE (220)
@ -576,8 +587,7 @@ static const struct rate_gbps_string RATE_VALUES[RATE_VALUES_COUNT] = {
{IBV_RATE_MAX, "MAX"}
};
char * duplicate_str(const char * given_str);
/* link_layer_str
*

File diff suppressed because it is too large Load diff

View file

@ -1,24 +1,24 @@
/*
* Copyright (c) 2009 Mellanox Technologies Ltd. All rights reserved.
* Copyright (c) 2009 Mellanox Technologies Ltd. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
* licenses. You may choose to be licensed under the terms of the GNU
* General Public License (GPL) Version 2, available from the file
* COPYING in the main directory of this source tree, or the
* OpenIB.org BSD license below:
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
@ -33,19 +33,19 @@
*
* Description :
*
* This API gathres the Socket interface methods for all perftest benchmarks
* and can be used for any benchmark for IB.
* It passes messages between 2 end points through sockets interface methods,
* while passing the rellevant information for the IB entities.
* This API gathres the Socket interface methods for all perftest benchmarks
* and can be used for any benchmark for IB.
* It passes messages between 2 end points through sockets interface methods,
* while passing the rellevant information for the IB entities.
*
* Methods :
*
* ctx_get_local_lid - Receives the Local id from the subnet manager.
* ctx_client_connect - Connects the client through sockets interface.
* ctx_server_connect - Connects the Server to client through sockets.
* ctx_hand_shake - Passes the data between 2 end points machines.
* ctx_print_pingpong_data - Prints the data that was passed.
* ctx_close_connection - Closing the sockets interface.
* ctx_get_local_lid - Receives the Local id from the subnet manager.
* ctx_client_connect - Connects the client through sockets interface.
* ctx_server_connect - Connects the Server to client through sockets.
* ctx_hand_shake - Passes the data between 2 end points machines.
* ctx_print_pingpong_data - Prints the data that was passed.
* ctx_close_connection - Closing the sockets interface.
*/
#ifndef PERFTEST_RESOURCES_H
@ -67,22 +67,22 @@
#include "perftest_parameters.h"
#define NUM_OF_RETRIES (10)
#define NUM_OF_RETRIES (10)
/* Outstanding reads for "read" verb only. */
#define MAX_SEND_SGE (1)
#define MAX_RECV_SGE (1)
#define CTX_POLL_BATCH (16)
#define PL (1)
#define ATOMIC_ADD_VALUE (1)
#define MAX_SEND_SGE (1)
#define MAX_RECV_SGE (1)
#define CTX_POLL_BATCH (16)
#define PL (1)
#define ATOMIC_ADD_VALUE (1)
#define ATOMIC_SWAP_VALUE (0)
/* Space for GRH when we scatter the packet in UD. */
#define PINGPONG_SEND_WRID (60)
#define PINGPONG_RDMA_WRID (3)
#define PINGPONG_READ_WRID (1)
#define PINGPONG_SEND_WRID (60)
#define PINGPONG_RDMA_WRID (3)
#define PINGPONG_READ_WRID (1)
#define PINGPONG_ATOMIC_WRID (22)
#define DEFF_QKEY (0x11111111)
#define DEFF_QKEY (0x11111111)
#ifdef HAVE_XRCD
#define SERVER_FD "/tmp/xrc_domain_server"
@ -90,14 +90,14 @@
#endif
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
{ fprintf(stderr," Completion with error at client\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
{ fprintf(stderr," Completion with error at client\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
fprintf(stderr, "scnt=%lu, ccnt=%lu\n",scnt, ccnt); }
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
{ fprintf(stderr," Completion with error at server\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
{ fprintf(stderr," Completion with error at server\n"); \
fprintf(stderr," Failed status %d: wr_id %d syndrom 0x%x\n",wc.status,(int) wc.wr_id,wc.vendor_err); \
fprintf(stderr," rcnt=%lu\n",rcnt); }
/* Macro to determine packet size in case of UD. The UD addition is for the GRH . */
@ -115,85 +115,85 @@
/* Macro that defines the address where we write in RDMA.
* If message size is smaller then CACHE_LINE size then we write in CACHE_LINE jumps.
*/
#define INC(size,cache_line_size) ((size > cache_line_size) ? ((size%cache_line_size == 0) ? \
#define INC(size,cache_line_size) ((size > cache_line_size) ? ((size%cache_line_size == 0) ? \
(size) : (cache_line_size*(size/cache_line_size+1))) : (cache_line_size))
#define UD_MSG_2_EXP(size) ((log(size))/(log(2)))
#define MASK_IS_SET(mask, attr) (((mask)&(attr))!=0)
#define MASK_IS_SET(mask, attr) (((mask)&(attr))!=0)
/******************************************************************************
* Perftest resources Structures and data types.
******************************************************************************/
struct pingpong_context {
// struct rdma_event_channel *cm_channel;
// struct rdma_cm_id *cm_id_control;
// struct rdma_cm_id *cm_id;
struct ibv_context *context;
struct ibv_comp_channel *channel;
struct ibv_pd *pd;
struct ibv_mr **mr;
struct ibv_cq *send_cq;
struct ibv_cq *recv_cq;
void **buf;
struct ibv_ah **ah;
struct ibv_qp **qp;
struct ibv_srq *srq;
struct ibv_sge *sge_list;
struct ibv_sge *recv_sge_list;
struct ibv_send_wr *wr;
struct ibv_recv_wr *rwr;
uint64_t size;
uint64_t *my_addr;
uint64_t *rx_buffer_addr;
uint64_t *rem_addr;
uint64_t buff_size;
uint64_t send_qp_buff_size;
uint64_t flow_buff_size;
int tx_depth;
int huge_shmid;
uint64_t *scnt;
uint64_t *ccnt;
int is_contig_supported;
uint32_t *ctrl_buf;
uint32_t *credit_buf;
struct ibv_mr *credit_mr;
struct ibv_sge *ctrl_sge_list;
struct ibv_send_wr *ctrl_wr;
int send_rcredit;
int credit_cnt;
int cache_line_size;
int cycle_buffer;
// struct rdma_event_channel *cm_channel;
// struct rdma_cm_id *cm_id_control;
// struct rdma_cm_id *cm_id;
struct ibv_context *context;
struct ibv_comp_channel *channel;
struct ibv_pd *pd;
struct ibv_mr **mr;
struct ibv_cq *send_cq;
struct ibv_cq *recv_cq;
void **buf;
struct ibv_ah **ah;
struct ibv_qp **qp;
struct ibv_srq *srq;
struct ibv_sge *sge_list;
struct ibv_sge *recv_sge_list;
struct ibv_send_wr *wr;
struct ibv_recv_wr *rwr;
uint64_t size;
uint64_t *my_addr;
uint64_t *rx_buffer_addr;
uint64_t *rem_addr;
uint64_t buff_size;
uint64_t send_qp_buff_size;
uint64_t flow_buff_size;
int tx_depth;
int huge_shmid;
uint64_t *scnt;
uint64_t *ccnt;
int is_contig_supported;
uint32_t *ctrl_buf;
uint32_t *credit_buf;
struct ibv_mr *credit_mr;
struct ibv_sge *ctrl_sge_list;
struct ibv_send_wr *ctrl_wr;
int send_rcredit;
int credit_cnt;
int cache_line_size;
int cycle_buffer;
#ifdef HAVE_XRCD
struct ibv_xrcd *xrc_domain;
int fd;
struct ibv_xrcd *xrc_domain;
int fd;
#endif
#ifdef HAVE_ACCL_VERBS
struct ibv_exp_res_domain *res_domain;
struct ibv_exp_cq_family *send_cq_family;
struct ibv_exp_cq_family *recv_cq_family;
struct ibv_exp_qp_burst_family **qp_burst_family;
struct ibv_exp_res_domain *res_domain;
struct ibv_exp_cq_family *send_cq_family;
struct ibv_exp_cq_family *recv_cq_family;
struct ibv_exp_qp_burst_family **qp_burst_family;
#endif
};
struct pingpong_dest {
int lid;
int out_reads;
int qpn;
int psn;
unsigned rkey;
int lid;
int out_reads;
int qpn;
int psn;
unsigned rkey;
unsigned long long vaddr;
union ibv_gid gid;
unsigned srqn;
int gid_index;
union ibv_gid gid;
unsigned srqn;
int gid_index;
};
struct raw_ethernet_info { // !
uint8_t mac[6];
uint8_t mac[6];
uint32_t ip;
uint8_t ip6[16];
int port;
uint8_t ip6[16];
int port;
};
/******************************************************************************
@ -205,26 +205,26 @@ struct raw_ethernet_info { // !
* Description : Creating a service struct from a given port and servername.
*
* Parameters :
* service - an empty char** to contain the service name.
* port - The selected port on which the server will listen.
* hints - The requested ai_* params for the connection.
* res - Holds the result.
* service - an empty char** to contain the service name.
* port - The selected port on which the server will listen.
* hints - The requested ai_* params for the connection.
* res - Holds the result.
*
* Return Value : SUCCESS, FAILURE.
*/
// int check_add_port(char **service,int port,
// const char *servername,
// struct addrinfo *hints,
// struct addrinfo **res);
int check_add_port(char **service,int port,
const char *servername,
struct addrinfo *hints,
struct addrinfo **res);
/* ctx_find_dev
*
* Description : Returns the device corresponding to ib_devname
* or the first one found , in case ib_devname == NULL
* or the first one found , in case ib_devname == NULL
*
* Parameters :
*
* ib_devname - The name of the device requested or NULL for the first one.
* ib_devname - The name of the device requested or NULL for the first one.
*
* Return Value : the device or NULL in case of failure.
*/
@ -235,8 +235,8 @@ struct ibv_device* ctx_find_dev(const char *ib_devname);
* Description : allocate all perftest resources.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* ctx - Resources sructure.
* user_param - the perftest parameters.
*/
void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -245,8 +245,8 @@ void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_par
* Description : Deallocate all perftest resources.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* ctx - Resources sructure.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -256,11 +256,11 @@ int destroy_ctx(struct pingpong_context *ctx,
/* verify_params_with_device_context
*
* Description :
* Verify user params that require information from the ibv_context
* Verify user params that require information from the ibv_context
*
* Parameters :
* context - ibv_context
* user_param - the perftest parameters.
* context - ibv_context
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -271,12 +271,12 @@ int verify_params_with_device_context(struct ibv_context *ctx,
/* ctx_init
*
* Description :
* Creates all the test resources.
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
* Creates all the test resources.
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
*
* Parameters :
* ctx - An empty resources sructure to fill inside the resources.
* user_param - the perftest parameters.
* ctx - An empty resources sructure to fill inside the resources.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*/
@ -286,15 +286,15 @@ int ctx_init(struct pingpong_context *ctx,struct perftest_parameters *user_param
*
* Description :
*
* Creates a QP , according to the attributes given in param.
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
* Creates a QP , according to the attributes given in param.
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
*
* Parameters :
*
* pd - The Protection domain , each the qp will be assigned to.
* send_cq - The CQ that will produce send CQE.
* recv_qp - The CQ that will produce recv CQE.
* param - The parameters for the QP.
* pd - The Protection domain , each the qp will be assigned to.
* send_cq - The CQ that will produce send CQE.
* recv_qp - The CQ that will produce recv CQE.
* param - The parameters for the QP.
*
* Return Value : Adress of the new QP.
*/
@ -305,13 +305,13 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
*
* Description :
*
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
*
* Parameters :
*
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
*
* Return Value : SUCCESS, FAILURE.
*
@ -322,14 +322,14 @@ int ctx_modify_qp_to_init(struct ibv_qp *qp,struct perftest_parameters *user_par
*
* Description :
*
* Modifies the given QP to RTR and then RTS states, given it's transport type and feature.
* Modifies the given QP to RTR and then RTS states, given it's transport type and feature.
*
* Parameters :
*
* ctx - Test Context.
* dest - pingpong_dest struct of the remote side.
* user_param - user_parameters struct for this test.
* my_dest - pingpong_dest struct of this side.
* ctx - Test Context.
* dest - pingpong_dest struct of the remote side.
* user_param - user_parameters struct for this test.
* my_dest - pingpong_dest struct of this side.
*
* Return Value : SUCCESS, FAILURE.
*
@ -343,13 +343,13 @@ int ctx_connect(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the exp send work request templates for all QPs
* Prepare the exp send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
@ -361,13 +361,13 @@ void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the regular send work request templates for all QPs
* Prepare the regular send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
@ -378,13 +378,13 @@ void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the send work request templates for all QPs
* Prepare the send work request templates for all QPs
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* rem_dest - pingpong_dest struct of the remote side.
*
*/
void ctx_set_send_wqes(struct pingpong_context *ctx,
@ -396,12 +396,12 @@ void ctx_set_send_wqes(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the receives work request templates for all QPs in SEND receive test.
* Prepare the receives work request templates for all QPs in SEND receive test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -410,18 +410,18 @@ int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *u
*
* Description :
*
* Allocate resources to support the credit exchange mechanism,
* which allows ib_send_bw to work with iWARP
* Allocate resources to support the credit exchange mechanism,
* which allows ib_send_bw to work with iWARP
*
* Parameters :
*
* ctx - test context
* user_param - user parameters struct for this test
* my_dest - pingpong_dest struct of the this side
* ctx - test context
* user_param - user parameters struct for this test
* my_dest - pingpong_dest struct of the this side
*
* my_dest is updated to store the credit buf vaddr and rkey
* which need to be exchanged with the remote side
* to enable RDMA WRITE op
* my_dest is updated to store the credit buf vaddr and rkey
* which need to be exchanged with the remote side
* to enable RDMA WRITE op
*/
int ctx_alloc_credit(struct pingpong_context *ctx,
struct perftest_parameters *user_param,
@ -430,29 +430,30 @@ int ctx_alloc_credit(struct pingpong_context *ctx,
*
* Description :
*
* Prepare the send credit work request templates for all QPs
* RDMA WRITE op is used for sending credit
* Credit exchange is necessary for ib_send_bw to work with iWARP
* Prepare the send credit work request templates for all QPs
* RDMA WRITE op is used for sending credit
* Credit exchange is necessary for ib_send_bw to work with iWARP
*
* Parameters :
*
* ctx - test context
* user_param - user parameters struct for this test
* rem_dest - pingpong_dest struct of the remote side.
* ctx - test context
* user_param - user parameters struct for this test
* rem_dest - pingpong_dest struct of the remote side.
*/
int ctx_set_credit_wqes(struct pingpong_context *ctx,
struct perftest_parameters *user_param,
struct pingpong_dest *rem_dest);
/* run_iter_bw.
*
* Description :
*
* The main testing method in BW tests.
* The main testing method in BW tests.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -461,12 +462,12 @@ int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* Infinite BW method, that prints BW every 5 seconds and never stops.
* Infinite BW method, that prints BW every 5 seconds and never stops.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
// int run_iter_bw_infinitely(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -475,12 +476,12 @@ int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* Infinite on SEND server BW method, will not print anything and will post receive wqes for each incoming packet.
* Infinite on SEND server BW method, will not print anything and will post receive wqes for each incoming packet.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -489,12 +490,12 @@ int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_
*
* Description :
*
* The main testing method for Receiver in SEND test.
* The main testing method for Receiver in SEND test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -503,12 +504,12 @@ int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters
*
* Description :
*
* The main testing method for bidirrectional.
* The main testing method for bidirrectional.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/
int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -517,12 +518,12 @@ int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_pa
*
* Description :
*
* This is the latency test function for WRITE verb.
* This is the latency test function for WRITE verb.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -530,12 +531,12 @@ int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *
*
* Description :
*
* This is the latency test function for READ or ATOMIC verb latency tests.
* This is the latency test function for READ or ATOMIC verb latency tests.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_param);
@ -543,12 +544,12 @@ int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_p
*
* Description :
*
* This is the latency test function for SEND verb latency test.
* This is the latency test function for SEND verb latency test.
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -556,12 +557,12 @@ int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *
*
* Description :
*
* This is the latency test function for SEND verb latency test in burst mode
* This is the latency test function for SEND verb latency test in burst mode
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -570,12 +571,12 @@ int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters
*
* Description :
*
* This is the latency test function for server side latency test in burst mode
* This is the latency test function for server side latency test in burst mode
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*/
int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
@ -584,13 +585,13 @@ int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_para
*
* Description :
*
* This method find and returns the local Id in IB subnet manager of
* the selected port and HCA given.The lid identifies the port.
* This method find and returns the local Id in IB subnet manager of
* the selected port and HCA given.The lid identifies the port.
*
* Parameters :
*
* context - the context of the HCA device.
* ib_port - The port of the HCA (1 or 2).
* context - the context of the HCA device.
* ib_port - The port of the HCA (1 or 2).
*
* Return Value : The Lid itself. (No error values).
*/
@ -599,18 +600,18 @@ uint16_t ctx_get_local_lid(struct ibv_context *context, int ib_port);
/* ctx_notify_events
*
* Description : Prepare the test to work with events instead of polling the CQ.
* This is the way to work in un interipted mode.
* This is the way to work in un interipted mode.
*
* Parameters :
* channel - (Mandotory) the created event channel.
* channel - (Mandotory) the created event channel.
*
* Return Value : SUCCESS, FAILURE.
*/
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
{
struct ibv_cq *ev_cq;
void *ev_ctx;
struct ibv_cq *ev_cq;
void *ev_ctx;
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
fprintf(stderr, "Failed to get cq_event\n");
@ -666,20 +667,20 @@ static __inline void increase_rem_addr(struct ibv_send_wr *wr,int size,uint64_t
/* increase_loc_addr.
*
* Description :
* Increases the local address in all verbs ,
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
* in an orginzed way.
* Increases the local address in all verbs ,
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
* in an orginzed way.
*
* Parameters :
* sg - The scatter element of the wqe.
* size - size of the message to send.
* rcnt - The ammount of post_send or post_receive we called.
* prim_addr - The address of the original buffer.
* server_is_ud - Indication to weather we are in UD mode.
* sg - The scatter element of the wqe.
* size - size of the message to send.
* rcnt - The ammount of post_send or post_receive we called.
* prim_addr - The address of the original buffer.
* server_is_ud - Indication to weather we are in UD mode.
*/
static __inline void increase_loc_addr(struct ibv_sge *sg,int size,uint64_t rcnt,uint64_t prim_addr,int server_is_ud, int cache_line_size, int cycle_buffer)
{
sg->addr += INC(size,cache_line_size);
sg->addr += INC(size,cache_line_size);
if ( ((rcnt+1) % (cycle_buffer/ INC(size,cache_line_size))) == 0 )
sg->addr = prim_addr;
@ -689,10 +690,10 @@ static __inline void increase_loc_addr(struct ibv_sge *sg,int size,uint64_t rcnt
/* catch_alarm.
*
* Description :
* Signal catcher for duration feature.
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
* will calculate BW accordingley.
* Signal catcher for duration feature.
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
* will calculate BW accordingley.
*
*/
void catch_alarm(int sig);
@ -702,8 +703,8 @@ void check_alive(int sig);
/* catch_alarm.
*
* Description :
* Signal catcher for run_infinitely feature.
* Will be triggered every 5 sec and measure BW in this time frame.
* Signal catcher for run_infinitely feature.
* Will be triggered every 5 sec and measure BW in this time frame.
*
*/
void catch_alarm_infintely();
@ -711,7 +712,7 @@ void catch_alarm_infintely();
/* handle_signal_print_thread
*
* Description :
* Handle thread creation for signal catching in run_infinitely mode
* Handle thread creation for signal catching in run_infinitely mode
*
*/
void *handle_signal_print_thread(void *sig_mask);
@ -720,13 +721,13 @@ void *handle_signal_print_thread(void *sig_mask);
*
* Description :
*
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
* Modifies the given QP to INIT state , according to attributes in param.
* The relevent attributes are ib_port, connection_type and verb.
*
* Parameters :
*
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
* qp - The QP that will be moved to INIT.
* param - The parameters for the QP.
*
* Return Value : SUCCESS, FAILURE.
*
@ -774,12 +775,12 @@ int modify_qp_to_init(struct pingpong_context *ctx,
*
* Description :
*
* Creates a single MR for a specific QP index.
* Creates a single MR for a specific QP index.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* qp_index - QP index to register a MR
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* qp_index - QP index to register a MR
*
* Return Value : SUCCESS, FAILURE.
*
@ -791,12 +792,12 @@ int create_single_mr(struct pingpong_context *ctx,
*
* Description :
*
* Creates Memory Regions for the test.
* Takes into consideration all user parameters and test type.
* Creates Memory Regions for the test.
* Takes into consideration all user parameters and test type.
*
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
* Parameters :
* ctx - Resources sructure.
* user_param - the perftest parameters.
*
* Return Value : SUCCESS, FAILURE.
*
@ -808,10 +809,10 @@ int create_mr(struct pingpong_context *ctx,
*
* Description :
*
* Creates hugepage memory Regions for the test.
* Creates hugepage memory Regions for the test.
*
* Parameters :
* ctx - Resources sructure.
* Parameters :
* ctx - Resources sructure.
*
* Return Value : SUCCESS, FAILURE.
*
@ -822,12 +823,12 @@ int alloc_hugepage_region (struct pingpong_context *ctx);
*
* Description :
*
* The main testing method for Flow steering creation
* The main testing method for Flow steering creation
*
* Parameters :
*
* ctx - Test Context.
* user_param - user_parameters struct for this test.
* ctx - Test Context.
* user_param - user_parameters struct for this test.
*
*/

File diff suppressed because it is too large Load diff

View file

@ -38,9 +38,9 @@
#include <stdlib.h>
#include <string.h>
#include "perftest_parameters_write_bw.h"
#include "perftest_resources_write_bw.h"
#include "perftest_communication_write_bw.h"
#include "perftest_parameters.h"
#include "perftest_resources.h"
#include "perftest_communication.h"
int main(int argc, char *argv[])
@ -280,7 +280,6 @@ int main(int argc, char *argv[])
}
} else if (user_param.test_method == RUN_REGULAR) {
ctx_set_send_wqes(&ctx, &user_param, rem_dest);
if (user_param.perform_warm_up) {
if(perform_warm_up(&ctx, &user_param)) {
@ -323,14 +322,6 @@ int main(int argc, char *argv[])
printf((user_param.cpu_util_data.enable ? RESULT_EXT_CPU_UTIL : RESULT_EXT));
print_full_bw_report(&user_param, &rem_bw_rep, NULL);
}
/* } else if (user_param.test_method == RUN_INFINITELY) { */
/* ctx_set_send_wqes(&ctx, &user_param, rem_dest); */
/* if(run_iter_bw_infinitely(&ctx, &user_param)) { */
/* fprintf(stderr, " Error occurred while running! aborting ...\n"); */
/* return FAILURE; */
/* } */
}
if (user_param.output == FULL_VERBOSITY) {

View file

@ -41,9 +41,9 @@
#include <unistd.h>
#include "get_clock.h"
#include "perftest_parameters_write_bw.h"
#include "perftest_resources_write_bw.h"
#include "perftest_communication_write_bw.h"
#include "perftest_parameters.h"
#include "perftest_resources.h"
#include "perftest_communication.h"
int main(int argc, char *argv[])
{
@ -166,7 +166,6 @@ int main(int argc, char *argv[])
user_comm.rdma_params->side = REMOTE;
for (i=0; i < user_param.num_of_qps; i++) {
/* shaking hands and gather the other side info. */
if (ctx_hand_shake(&user_comm, &my_dest[i], &rem_dest[i])) {
fprintf(stderr, "Failed to exchange data between server and clients\n");
@ -204,7 +203,6 @@ int main(int argc, char *argv[])
printf(RESULT_LINE);
}
return 0;
}
if (user_param.use_event) {
@ -225,10 +223,9 @@ int main(int argc, char *argv[])
if (user_param.test_method == RUN_ALL) {
for (i = 1; i < MAX_SIZE_EXP; ++i) {
user_param.size = (uint64_t)1 << i;
if(run_iter_lat(&ctx, &user_param));
if(run_iter_lat(&ctx, &user_param))
return 17;
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
print_report_lat(&user_param);
}
} else {

View file

@ -39,9 +39,9 @@
#include <string.h>
#include <time.h>
#include "perftest_parameters_write_bw.h"
#include "perftest_resources_write_bw.h"
#include "perftest_communication_write_bw.h"
#include "perftest_parameters.h"
#include "perftest_resources.h"
#include "perftest_communication.h"
int main(int argc, char *argv[])

View file

@ -41,9 +41,9 @@
#include <unistd.h>
#include "get_clock.h"
#include "perftest_parameters_write_bw.h"
#include "perftest_resources_write_bw.h"
#include "perftest_communication_write_bw.h"
#include "perftest_parameters.h"
#include "perftest_resources.h"
#include "perftest_communication.h"
int main(int argc, char *argv[])
@ -192,7 +192,7 @@ int main(int argc, char *argv[])
if (user_param.output == FULL_VERBOSITY) {
printf(RESULT_LINE);
printf("%s", (user_param.test_type == ITERATIONS) ? RESULT_FMT_LAT : RESULT_FMT_LAT_DUR);
printf("%s", RESULT_FMT_LAT);
printf((user_param.cpu_util_data.enable ? RESULT_EXT_CPU_UTIL : RESULT_EXT));
}
@ -203,8 +203,6 @@ int main(int argc, char *argv[])
fprintf(stderr, "Test exited with Error\n");
return FAILURE;
}
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
print_report_lat(&user_param);
}
@ -213,7 +211,6 @@ int main(int argc, char *argv[])
fprintf(stderr, "Test exited with Error\n");
return FAILURE;
}
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
print_report_lat(&user_param);
}