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:
parent
5131e94ea1
commit
21f18865c1
21 changed files with 10409 additions and 10883 deletions
556
Highlight test
556
Highlight test
|
@ -114,12 +114,9 @@ Todo
|
||||||
TodoAø
|
TodoAø
|
||||||
String
|
String
|
||||||
StringAø
|
StringAø
|
||||||
Character
|
Character Character
|
||||||
CharacterAø
|
Number Number
|
||||||
Number
|
Boolean Boolean
|
||||||
NumberAø
|
|
||||||
Boolean
|
|
||||||
Boolean
|
|
||||||
Float Float
|
Float Float
|
||||||
Function Function
|
Function Function
|
||||||
Conditional Conditional
|
Conditional Conditional
|
||||||
|
@ -140,48 +137,17 @@ SpecialChar SpecialChar
|
||||||
Delimiter Delimiter
|
Delimiter Delimiter
|
||||||
SpecialComment SpecialComment
|
SpecialComment SpecialComment
|
||||||
Debug Debug
|
Debug Debug
|
||||||
diffAdded diffAdded
|
texZone texZone
|
||||||
diffRemoved diffRemoved
|
ExtraWhitespace ExtraWhitespace
|
||||||
OverLength OverLength
|
cursorim cursorim
|
||||||
RedBar RedBar
|
pythonDocTest2 pythonDocTest2
|
||||||
GreenBar GreenBar
|
pythonSpaceError pythonSpaceError
|
||||||
IndentGuidesOdd IndentGuidesOdd
|
GitGutterAddDefault GitGutterAddDefault
|
||||||
IndentGuidesEven IndentGuidesEven
|
GitGutterChangeDefault GitGutterChangeDefault
|
||||||
airline_x airline_x
|
GitGutterDeleteDefault GitGutterDeleteDefault
|
||||||
airline_x_bold airline_x_bold
|
GitGutterAddInvisible GitGutterAddInvisible
|
||||||
airline_x_red airline_x_red
|
GitGutterChangeInvisible GitGutterChangeInvisible
|
||||||
airline_y airline_y
|
GitGutterDeleteInvisible GitGutterDeleteInvisible
|
||||||
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
|
|
||||||
cCppSkip cCppSkip
|
cCppSkip cCppSkip
|
||||||
cBadBlock cBadBlock
|
cBadBlock cBadBlock
|
||||||
cCppParen cCppParen
|
cCppParen cCppParen
|
||||||
|
@ -199,206 +165,23 @@ cCppOutElse cCppOutElse
|
||||||
cCppInSkip cCppInSkip
|
cCppInSkip cCppInSkip
|
||||||
cMulti cMulti
|
cMulti cMulti
|
||||||
cUserCont cUserCont
|
cUserCont cUserCont
|
||||||
cppMinMax cppMinMax
|
|
||||||
SyntasticErrorLine SyntasticErrorLine
|
SyntasticErrorLine SyntasticErrorLine
|
||||||
SyntasticWarningLine SyntasticWarningLine
|
SyntasticWarningLine SyntasticWarningLine
|
||||||
airline_c7_to_airline_x airline_c7_to_airline_x
|
cppMinMax cppMinMax
|
||||||
airline_c3_to_airline_x airline_c3_to_airline_x
|
cmakeSystemVariables cmakeSystemVariables
|
||||||
airline_c5_to_airline_x airline_c5_to_airline_x
|
cmakeDeprecated cmakeDeprecated
|
||||||
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
|
|
||||||
Flake8_Error Flake8_Error
|
Flake8_Error Flake8_Error
|
||||||
Flake8_Warning Flake8_Warning
|
Flake8_Warning Flake8_Warning
|
||||||
Flake8_PyFlake Flake8_PyFlake
|
Flake8_PyFlake Flake8_PyFlake
|
||||||
Flake8_Complexity Flake8_Complexity
|
Flake8_Complexity Flake8_Complexity
|
||||||
Flake8_Naming Flake8_Naming
|
Flake8_Naming Flake8_Naming
|
||||||
pythonMatrixMultiply pythonMatrixMultiply
|
pythonMatrixMultiply pythonMatrixMultiply
|
||||||
pythonSpaceError pythonSpaceError
|
|
||||||
pythonAttribute pythonAttribute
|
pythonAttribute pythonAttribute
|
||||||
pythonSync pythonSync
|
pythonSync pythonSync
|
||||||
airline_c8_to_airline_x airline_c8_to_airline_x
|
BookmarkSignDefault BookmarkSignDefault
|
||||||
cmakeSystemVariables cmakeSystemVariables
|
BookmarkAnnotationSignDefault BookmarkAnnotationSignDefault
|
||||||
cmakeDeprecated cmakeDeprecated
|
BookmarkLineDefault BookmarkLineDefault
|
||||||
airline_c26_to_airline_x airline_c26_to_airline_x
|
BookmarkAnnotationLineDefault BookmarkAnnotationLineDefault
|
||||||
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
|
|
||||||
vimStdPlugin vimStdPlugin
|
vimStdPlugin vimStdPlugin
|
||||||
vimGlobal vimGlobal
|
vimGlobal vimGlobal
|
||||||
vimIsCommand vimIsCommand
|
vimIsCommand vimIsCommand
|
||||||
|
@ -525,159 +308,29 @@ rubyKeywordAsMethod rubyKeywordAsMethod
|
||||||
vimRubyRegion vimRubyRegion
|
vimRubyRegion vimRubyRegion
|
||||||
vimPythonRegion vimPythonRegion
|
vimPythonRegion vimPythonRegion
|
||||||
vimAugroupSyncA vimAugroupSyncA
|
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
|
NonText links NonText links to
|
||||||
|
links to LineNr
|
||||||
Search links Search links to
|
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
|
SpellBad links SpellBad links to
|
||||||
SpellCap links SpellCap links to
|
SpellCap links SpellCap links to
|
||||||
SyntasticError links SyntasticError links to
|
SyntasticError links SyntasticError links to
|
||||||
SyntasticWarning links SyntasticWarning 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
|
Statement links Statement links to
|
||||||
Label links Label links to
|
Label links Label links to
|
||||||
Conditional links Conditional links to
|
Conditional links Conditional links to
|
||||||
|
@ -728,6 +381,12 @@ Include links Include links to
|
||||||
Macro links Macro links to
|
Macro links Macro links to
|
||||||
Error links Error links to
|
Error links Error links to
|
||||||
Comment links Comment 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
|
Statement links Statement links to
|
||||||
cppStatement links cppStatement links to
|
cppStatement links cppStatement links to
|
||||||
Type links Type links to
|
Type links Type links to
|
||||||
|
@ -742,34 +401,6 @@ Constant links Constant links to
|
||||||
Delimiter links Delimiter links to
|
Delimiter links Delimiter links to
|
||||||
String links String links to
|
String links String links to
|
||||||
Number links Number 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
|
Special links Special links to
|
||||||
Todo links Todo links to
|
Todo links Todo links to
|
||||||
Comment links Comment links to
|
Comment links Comment links to
|
||||||
|
@ -783,12 +414,35 @@ Statement links Statement links to
|
||||||
Constant links Constant links to
|
Constant links Constant links to
|
||||||
PreProc links PreProc links to
|
PreProc links PreProc links to
|
||||||
Error links Error 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
|
SyntasticErrorSign links SyntasticErrorSign links to
|
||||||
SyntasticWarningSign links SyntasticWarningSign links to
|
SyntasticWarningSign links SyntasticWarningSign links to
|
||||||
SyntasticErrorLine links SyntasticErrorLine links to
|
SyntasticErrorLine links SyntasticErrorLine links to
|
||||||
SyntasticWarningLine links SyntasticWarningLine links to
|
SyntasticWarningLine links SyntasticWarningLine links to
|
||||||
SyntasticError links SyntasticError links to
|
SyntasticError links SyntasticError links to
|
||||||
SyntasticWarning links SyntasticWarning 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
|
Todo links Todo links to
|
||||||
Statement links Statement links to
|
Statement links Statement links to
|
||||||
PreProc links PreProc links to
|
PreProc links PreProc links to
|
||||||
|
@ -1111,79 +765,3 @@ vimSpecFile links vimSpecFile links to
|
||||||
Statement links Statement links to
|
Statement links Statement links to
|
||||||
Type links Type links to
|
Type links Type links to
|
||||||
Statement links Statement 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
|
|
||||||
|
|
|
@ -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) {
|
void call_ibv_poll_cq(struct kvm_run * run, uint8_t * guest_mem) {
|
||||||
/* printf("LOG: UHYVE - call_ibv_poll_cq\n"); */
|
/* printf("LOG: UHYVE - call_ibv_poll_cq\n"); */
|
||||||
|
/* printf("p"); */
|
||||||
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
|
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
|
||||||
uhyve_ibv_poll_cq_t * args = (uhyve_ibv_poll_cq_t *) (guest_mem + data);
|
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) {
|
void call_ibv_post_send(struct kvm_run * run, uint8_t * guest_mem) {
|
||||||
/* printf("LOG: UHYVE - call_ibv_post_send\n"); */
|
/* printf("LOG: UHYVE - call_ibv_post_send\n"); */
|
||||||
|
/* printf("s"); */
|
||||||
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
|
unsigned data = *((unsigned*) ((size_t) run + run->io.data_offset));
|
||||||
uhyve_ibv_post_send_t * args = (uhyve_ibv_post_send_t *) (guest_mem + data);
|
uhyve_ibv_post_send_t * args = (uhyve_ibv_post_send_t *) (guest_mem + data);
|
||||||
|
|
||||||
|
|
|
@ -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-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
|
# 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)
|
# ib/perftest_resources.c ib/perftest_communication.c)
|
||||||
add_executable(ib_write_bw ib/write_bw.c ib/get_clock.c
|
add_executable(ib_write_bw ib/write_bw.c ib/get_clock.c ib/perftest_parameters.c
|
||||||
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
|
ib/perftest_resources.c ib/perftest_communication.c)
|
||||||
ib/perftest_communication_write_bw.c)
|
add_executable(ib_write_lat ib/write_lat.c ib/get_clock.c ib/perftest_parameters.c
|
||||||
add_executable(ib_write_lat ib/write_lat.c ib/get_clock.c
|
ib/perftest_resources.c ib/perftest_communication.c)
|
||||||
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
|
add_executable(ib_read_bw ib/read_bw.c ib/get_clock.c ib/perftest_parameters.c
|
||||||
ib/perftest_communication_write_bw.c)
|
ib/perftest_resources.c ib/perftest_communication.c)
|
||||||
add_executable(ib_read_bw ib/read_bw.c ib/get_clock.c
|
add_executable(ib_read_lat ib/read_lat.c ib/get_clock.c ib/perftest_parameters.c
|
||||||
ib/perftest_parameters_write_bw.c ib/perftest_resources_write_bw.c
|
ib/perftest_resources.c ib/perftest_communication.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(netio netio.c)
|
add_executable(netio netio.c)
|
||||||
|
|
||||||
|
|
1272
usr/benchmarks/ib/bu_perftest_communication.c
Executable file
1272
usr/benchmarks/ib/bu_perftest_communication.c
Executable file
File diff suppressed because it is too large
Load diff
|
@ -36,15 +36,15 @@
|
||||||
* Methods : ...
|
* Methods : ...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PERFTEST_COMMUNICATION_WRITE_BW_H
|
#ifndef PERFTEST_COMMUNICATION_H
|
||||||
#define PERFTEST_COMMUNICATION_WRITE_BW_H
|
#define PERFTEST_COMMUNICATION_H
|
||||||
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
|
||||||
#include <hermit/ibv.h>
|
#include <hermit/ibv.h>
|
||||||
#include <hermit/verbs.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 */
|
/* Macro for 64 bit variables to switch to/from net */
|
||||||
#if __BYTE_ORDER == __BIG_ENDIAN || __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __BIG_ENDIAN || __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
@ -81,9 +81,7 @@
|
||||||
#define SYNC_SPEC_ID (5)
|
#define SYNC_SPEC_ID (5)
|
||||||
|
|
||||||
/* The Format of the message we pass through sockets , without passing Gid. */
|
/* 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). */
|
/* 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:"
|
#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"
|
#define READ_FMT " OUT %#04x"
|
||||||
|
|
||||||
/* The print format of the pingpong_dest element for RDMA verbs. */
|
/* 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 */
|
/* The print number of SRQ in case of XRC */
|
||||||
#define XRC_FMT " SRQn %#08x"
|
#define XRC_FMT " SRQn %#08x"
|
File diff suppressed because it is too large
Load diff
|
@ -51,8 +51,8 @@
|
||||||
* set_eth_mtu - set MTU for Raw Ethernet tests.
|
* set_eth_mtu - set MTU for Raw Ethernet tests.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PERFTEST_PARAMETERS_WRITE_BW_H
|
#ifndef PERFTEST_PARAMETERS_H
|
||||||
#define PERFTEST_PARAMETERS_WRITE_BW_H
|
#define PERFTEST_PARAMETERS_H
|
||||||
|
|
||||||
#include <hermit/ibv.h>
|
#include <hermit/ibv.h>
|
||||||
#include <hermit/verbs.h>
|
#include <hermit/verbs.h>
|
||||||
|
@ -110,15 +110,15 @@
|
||||||
|
|
||||||
#define VERSION "1"
|
#define VERSION "1"
|
||||||
|
|
||||||
/* ------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------
|
||||||
|
|
||||||
/* Connection types available. */
|
/* Connection types available. */
|
||||||
#define RC (0)
|
#define RC (0)
|
||||||
#define UC (1)
|
#define UC (1)
|
||||||
#define UD (2)
|
#define UD (2)
|
||||||
#define RawEth (3)
|
#define RawEth (3)
|
||||||
#define XRC (4)
|
#define XRC (4)
|
||||||
#define DC (5)
|
#define DC (5)
|
||||||
|
|
||||||
/* Genral control definitions */
|
/* Genral control definitions */
|
||||||
#define OFF (0)
|
#define OFF (0)
|
||||||
|
@ -128,15 +128,7 @@
|
||||||
#define VERSION_EXIT (10)
|
#define VERSION_EXIT (10)
|
||||||
#define HELP_EXIT (11)
|
#define HELP_EXIT (11)
|
||||||
#define MTU_FIX (7)
|
#define MTU_FIX (7)
|
||||||
|
#define MAX_SIZE (8388608)
|
||||||
#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 LINK_FAILURE (-1)
|
#define LINK_FAILURE (-1)
|
||||||
#define LINK_UNSPEC (-2)
|
#define LINK_UNSPEC (-2)
|
||||||
#define MAX_OUT_READ_HERMON (16)
|
#define MAX_OUT_READ_HERMON (16)
|
||||||
|
@ -174,7 +166,6 @@
|
||||||
#define DEF_PAGE_SIZE (4096)
|
#define DEF_PAGE_SIZE (4096)
|
||||||
#define DEF_FLOWS (1)
|
#define DEF_FLOWS (1)
|
||||||
#define RATE_VALUES_COUNT (18)
|
#define RATE_VALUES_COUNT (18)
|
||||||
#define SERVER_NAME "137.226.133.151"
|
|
||||||
|
|
||||||
/* Optimal Values for Inline */
|
/* Optimal Values for Inline */
|
||||||
#define DEF_INLINE_WRITE (220)
|
#define DEF_INLINE_WRITE (220)
|
||||||
|
@ -585,7 +576,8 @@ static const struct rate_gbps_string RATE_VALUES[RATE_VALUES_COUNT] = {
|
||||||
{IBV_RATE_MAX, "MAX"}
|
{IBV_RATE_MAX, "MAX"}
|
||||||
};
|
};
|
||||||
|
|
||||||
char * duplicate_str(const char * given_str);
|
|
||||||
|
|
||||||
|
|
||||||
/* link_layer_str
|
/* link_layer_str
|
||||||
*
|
*
|
5029
usr/benchmarks/ib/bu_perftest_resources.c
Executable file
5029
usr/benchmarks/ib/bu_perftest_resources.c
Executable file
File diff suppressed because it is too large
Load diff
|
@ -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
|
* 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
|
* General Public License (GPL) Version 2, available from the file
|
||||||
* COPYING in the main directory of this source tree, or the
|
* COPYING in the main directory of this source tree, or the
|
||||||
* OpenIB.org BSD license below:
|
* OpenIB.org BSD license below:
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or
|
* Redistribution and use in source and binary forms, with or
|
||||||
* without modification, are permitted provided that the following
|
* without modification, are permitted provided that the following
|
||||||
* conditions are met:
|
* conditions are met:
|
||||||
*
|
*
|
||||||
* - Redistributions of source code must retain the above
|
* - Redistributions of source code must retain the above
|
||||||
* copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
* disclaimer.
|
* disclaimer.
|
||||||
*
|
*
|
||||||
* - Redistributions in binary form must reproduce the above
|
* - Redistributions in binary form must reproduce the above
|
||||||
* copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
* disclaimer in the documentation and/or other materials
|
* disclaimer in the documentation and/or other materials
|
||||||
* provided with the distribution.
|
* provided with the distribution.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
@ -33,23 +33,23 @@
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* This API gathres the Socket interface methods for all perftest benchmarks
|
* This API gathres the Socket interface methods for all perftest benchmarks
|
||||||
* and can be used for any benchmark for IB.
|
* and can be used for any benchmark for IB.
|
||||||
* It passes messages between 2 end points through sockets interface methods,
|
* It passes messages between 2 end points through sockets interface methods,
|
||||||
* while passing the rellevant information for the IB entities.
|
* while passing the rellevant information for the IB entities.
|
||||||
*
|
*
|
||||||
* Methods :
|
* Methods :
|
||||||
*
|
*
|
||||||
* ctx_get_local_lid - Receives the Local id from the subnet manager.
|
* ctx_get_local_lid - Receives the Local id from the subnet manager.
|
||||||
* ctx_client_connect - Connects the client through sockets interface.
|
* ctx_client_connect - Connects the client through sockets interface.
|
||||||
* ctx_server_connect - Connects the Server to client through sockets.
|
* ctx_server_connect - Connects the Server to client through sockets.
|
||||||
* ctx_hand_shake - Passes the data between 2 end points machines.
|
* ctx_hand_shake - Passes the data between 2 end points machines.
|
||||||
* ctx_print_pingpong_data - Prints the data that was passed.
|
* ctx_print_pingpong_data - Prints the data that was passed.
|
||||||
* ctx_close_connection - Closing the sockets interface.
|
* ctx_close_connection - Closing the sockets interface.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PERFTEST_RESOURCES_WRITE_BW_H
|
#ifndef PERFTEST_RESOURCES_H
|
||||||
#define PERFTEST_RESOURCES_WRITE_BW_H
|
#define PERFTEST_RESOURCES_H
|
||||||
|
|
||||||
#include <hermit/ibv.h>
|
#include <hermit/ibv.h>
|
||||||
#include <hermit/verbs.h>
|
#include <hermit/verbs.h>
|
||||||
|
@ -65,24 +65,24 @@
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <fcntl.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. */
|
/* Outstanding reads for "read" verb only. */
|
||||||
#define MAX_SEND_SGE (1)
|
#define MAX_SEND_SGE (1)
|
||||||
#define MAX_RECV_SGE (1)
|
#define MAX_RECV_SGE (1)
|
||||||
#define CTX_POLL_BATCH (16)
|
#define CTX_POLL_BATCH (16)
|
||||||
#define PL (1)
|
#define PL (1)
|
||||||
#define ATOMIC_ADD_VALUE (1)
|
#define ATOMIC_ADD_VALUE (1)
|
||||||
#define ATOMIC_SWAP_VALUE (0)
|
#define ATOMIC_SWAP_VALUE (0)
|
||||||
|
|
||||||
/* Space for GRH when we scatter the packet in UD. */
|
/* Space for GRH when we scatter the packet in UD. */
|
||||||
#define PINGPONG_SEND_WRID (60)
|
#define PINGPONG_SEND_WRID (60)
|
||||||
#define PINGPONG_RDMA_WRID (3)
|
#define PINGPONG_RDMA_WRID (3)
|
||||||
#define PINGPONG_READ_WRID (1)
|
#define PINGPONG_READ_WRID (1)
|
||||||
#define PINGPONG_ATOMIC_WRID (22)
|
#define PINGPONG_ATOMIC_WRID (22)
|
||||||
#define DEFF_QKEY (0x11111111)
|
#define DEFF_QKEY (0x11111111)
|
||||||
|
|
||||||
#ifdef HAVE_XRCD
|
#ifdef HAVE_XRCD
|
||||||
#define SERVER_FD "/tmp/xrc_domain_server"
|
#define SERVER_FD "/tmp/xrc_domain_server"
|
||||||
|
@ -90,14 +90,14 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
|
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
|
||||||
{ fprintf(stderr," Completion with error at client\n"); \
|
{ 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," 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); }
|
fprintf(stderr, "scnt=%lu, ccnt=%lu\n",scnt, ccnt); }
|
||||||
|
|
||||||
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
|
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
|
||||||
{ fprintf(stderr," Completion with error at server\n"); \
|
{ 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," 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); }
|
fprintf(stderr," rcnt=%lu\n",rcnt); }
|
||||||
|
|
||||||
/* Macro to determine packet size in case of UD. The UD addition is for the GRH . */
|
/* 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.
|
/* 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.
|
* 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))
|
(size) : (cache_line_size*(size/cache_line_size+1))) : (cache_line_size))
|
||||||
|
|
||||||
#define UD_MSG_2_EXP(size) ((log(size))/(log(2)))
|
#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.
|
* Perftest resources Structures and data types.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
struct pingpong_context {
|
struct pingpong_context {
|
||||||
// struct rdma_event_channel *cm_channel;
|
// struct rdma_event_channel *cm_channel;
|
||||||
// struct rdma_cm_id *cm_id_control;
|
// struct rdma_cm_id *cm_id_control;
|
||||||
// struct rdma_cm_id *cm_id;
|
// struct rdma_cm_id *cm_id;
|
||||||
struct ibv_context *context;
|
struct ibv_context *context;
|
||||||
struct ibv_comp_channel *channel;
|
struct ibv_comp_channel *channel;
|
||||||
struct ibv_pd *pd;
|
struct ibv_pd *pd;
|
||||||
struct ibv_mr **mr;
|
struct ibv_mr **mr;
|
||||||
struct ibv_cq *send_cq;
|
struct ibv_cq *send_cq;
|
||||||
struct ibv_cq *recv_cq;
|
struct ibv_cq *recv_cq;
|
||||||
void **buf;
|
void **buf;
|
||||||
struct ibv_ah **ah;
|
struct ibv_ah **ah;
|
||||||
struct ibv_qp **qp;
|
struct ibv_qp **qp;
|
||||||
struct ibv_srq *srq;
|
struct ibv_srq *srq;
|
||||||
struct ibv_sge *sge_list;
|
struct ibv_sge *sge_list;
|
||||||
struct ibv_sge *recv_sge_list;
|
struct ibv_sge *recv_sge_list;
|
||||||
struct ibv_send_wr *wr;
|
struct ibv_send_wr *wr;
|
||||||
struct ibv_recv_wr *rwr;
|
struct ibv_recv_wr *rwr;
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint64_t *my_addr;
|
uint64_t *my_addr;
|
||||||
uint64_t *rx_buffer_addr;
|
uint64_t *rx_buffer_addr;
|
||||||
uint64_t *rem_addr;
|
uint64_t *rem_addr;
|
||||||
uint64_t buff_size;
|
uint64_t buff_size;
|
||||||
uint64_t send_qp_buff_size;
|
uint64_t send_qp_buff_size;
|
||||||
uint64_t flow_buff_size;
|
uint64_t flow_buff_size;
|
||||||
int tx_depth;
|
int tx_depth;
|
||||||
int huge_shmid;
|
int huge_shmid;
|
||||||
uint64_t *scnt;
|
uint64_t *scnt;
|
||||||
uint64_t *ccnt;
|
uint64_t *ccnt;
|
||||||
int is_contig_supported;
|
int is_contig_supported;
|
||||||
uint32_t *ctrl_buf;
|
uint32_t *ctrl_buf;
|
||||||
uint32_t *credit_buf;
|
uint32_t *credit_buf;
|
||||||
struct ibv_mr *credit_mr;
|
struct ibv_mr *credit_mr;
|
||||||
struct ibv_sge *ctrl_sge_list;
|
struct ibv_sge *ctrl_sge_list;
|
||||||
struct ibv_send_wr *ctrl_wr;
|
struct ibv_send_wr *ctrl_wr;
|
||||||
int send_rcredit;
|
int send_rcredit;
|
||||||
int credit_cnt;
|
int credit_cnt;
|
||||||
int cache_line_size;
|
int cache_line_size;
|
||||||
int cycle_buffer;
|
int cycle_buffer;
|
||||||
#ifdef HAVE_XRCD
|
#ifdef HAVE_XRCD
|
||||||
struct ibv_xrcd *xrc_domain;
|
struct ibv_xrcd *xrc_domain;
|
||||||
int fd;
|
int fd;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_ACCL_VERBS
|
#ifdef HAVE_ACCL_VERBS
|
||||||
struct ibv_exp_res_domain *res_domain;
|
struct ibv_exp_res_domain *res_domain;
|
||||||
struct ibv_exp_cq_family *send_cq_family;
|
struct ibv_exp_cq_family *send_cq_family;
|
||||||
struct ibv_exp_cq_family *recv_cq_family;
|
struct ibv_exp_cq_family *recv_cq_family;
|
||||||
struct ibv_exp_qp_burst_family **qp_burst_family;
|
struct ibv_exp_qp_burst_family **qp_burst_family;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pingpong_dest {
|
struct pingpong_dest {
|
||||||
int lid;
|
int lid;
|
||||||
int out_reads;
|
int out_reads;
|
||||||
int qpn;
|
int qpn;
|
||||||
int psn;
|
int psn;
|
||||||
unsigned rkey;
|
unsigned rkey;
|
||||||
unsigned long long vaddr;
|
unsigned long long vaddr;
|
||||||
union ibv_gid gid;
|
union ibv_gid gid;
|
||||||
unsigned srqn;
|
unsigned srqn;
|
||||||
int gid_index;
|
int gid_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct raw_ethernet_info { // !
|
struct raw_ethernet_info { // !
|
||||||
uint8_t mac[6];
|
uint8_t mac[6];
|
||||||
uint32_t ip;
|
uint32_t ip;
|
||||||
uint8_t ip6[16];
|
uint8_t ip6[16];
|
||||||
int port;
|
int port;
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
@ -205,26 +205,26 @@ struct raw_ethernet_info { // !
|
||||||
* Description : Creating a service struct from a given port and servername.
|
* Description : Creating a service struct from a given port and servername.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* service - an empty char** to contain the service name.
|
* service - an empty char** to contain the service name.
|
||||||
* port - The selected port on which the server will listen.
|
* port - The selected port on which the server will listen.
|
||||||
* hints - The requested ai_* params for the connection.
|
* hints - The requested ai_* params for the connection.
|
||||||
* res - Holds the result.
|
* res - Holds the result.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
int check_add_port(char **service,int port,
|
// int check_add_port(char **service,int port,
|
||||||
const char *servername,
|
// const char *servername,
|
||||||
struct addrinfo *hints,
|
// struct addrinfo *hints,
|
||||||
struct addrinfo **res);
|
// struct addrinfo **res);
|
||||||
|
|
||||||
/* ctx_find_dev
|
/* ctx_find_dev
|
||||||
*
|
*
|
||||||
* Description : Returns the device corresponding to ib_devname
|
* 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 :
|
* 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.
|
* 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.
|
* Description : allocate all perftest resources.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*/
|
*/
|
||||||
void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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.
|
* Description : Deallocate all perftest resources.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -256,11 +256,11 @@ int destroy_ctx(struct pingpong_context *ctx,
|
||||||
/* verify_params_with_device_context
|
/* verify_params_with_device_context
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Verify user params that require information from the ibv_context
|
* Verify user params that require information from the ibv_context
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* context - ibv_context
|
* context - ibv_context
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -271,12 +271,12 @@ int verify_params_with_device_context(struct ibv_context *ctx,
|
||||||
/* ctx_init
|
/* ctx_init
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Creates all the test resources.
|
* Creates all the test resources.
|
||||||
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
|
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - An empty resources sructure to fill inside the resources.
|
* ctx - An empty resources sructure to fill inside the resources.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -286,15 +286,15 @@ int ctx_init(struct pingpong_context *ctx,struct perftest_parameters *user_param
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates a QP , according to the attributes given in param.
|
* Creates a QP , according to the attributes given in param.
|
||||||
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
|
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* pd - The Protection domain , each the qp will be assigned to.
|
* pd - The Protection domain , each the qp will be assigned to.
|
||||||
* send_cq - The CQ that will produce send CQE.
|
* send_cq - The CQ that will produce send CQE.
|
||||||
* recv_qp - The CQ that will produce recv CQE.
|
* recv_qp - The CQ that will produce recv CQE.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : Adress of the new QP.
|
* Return Value : Adress of the new QP.
|
||||||
*/
|
*/
|
||||||
|
@ -305,13 +305,13 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Modifies the given QP to INIT state , according to attributes in param.
|
* Modifies the given QP to INIT state , according to attributes in param.
|
||||||
* The relevent attributes are ib_port, connection_type and verb.
|
* The relevent attributes are ib_port, connection_type and verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* qp - The QP that will be moved to INIT.
|
* qp - The QP that will be moved to INIT.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -322,14 +322,14 @@ int ctx_modify_qp_to_init(struct ibv_qp *qp,struct perftest_parameters *user_par
|
||||||
*
|
*
|
||||||
* Description :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* dest - pingpong_dest struct of the remote side.
|
* dest - pingpong_dest struct of the remote side.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* my_dest - pingpong_dest struct of this side.
|
* my_dest - pingpong_dest struct of this side.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -343,13 +343,13 @@ int ctx_connect(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the exp send work request templates for all QPs
|
* Prepare the exp send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the regular send work request templates for all QPs
|
* Prepare the regular send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the send work request templates for all QPs
|
* Prepare the send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_wqes(struct pingpong_context *ctx,
|
void ctx_set_send_wqes(struct pingpong_context *ctx,
|
||||||
|
@ -396,12 +396,12 @@ void ctx_set_send_wqes(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Allocate resources to support the credit exchange mechanism,
|
* Allocate resources to support the credit exchange mechanism,
|
||||||
* which allows ib_send_bw to work with iWARP
|
* which allows ib_send_bw to work with iWARP
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - test context
|
* ctx - test context
|
||||||
* user_param - user parameters struct for this test
|
* user_param - user parameters struct for this test
|
||||||
* my_dest - pingpong_dest struct of the this side
|
* my_dest - pingpong_dest struct of the this side
|
||||||
*
|
*
|
||||||
* my_dest is updated to store the credit buf vaddr and rkey
|
* my_dest is updated to store the credit buf vaddr and rkey
|
||||||
* which need to be exchanged with the remote side
|
* which need to be exchanged with the remote side
|
||||||
* to enable RDMA WRITE op
|
* to enable RDMA WRITE op
|
||||||
*/
|
*/
|
||||||
int ctx_alloc_credit(struct pingpong_context *ctx,
|
int ctx_alloc_credit(struct pingpong_context *ctx,
|
||||||
struct perftest_parameters *user_param,
|
struct perftest_parameters *user_param,
|
||||||
|
@ -430,30 +430,29 @@ int ctx_alloc_credit(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the send credit work request templates for all QPs
|
* Prepare the send credit work request templates for all QPs
|
||||||
* RDMA WRITE op is used for sending credit
|
* RDMA WRITE op is used for sending credit
|
||||||
* Credit exchange is necessary for ib_send_bw to work with iWARP
|
* Credit exchange is necessary for ib_send_bw to work with iWARP
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - test context
|
* ctx - test context
|
||||||
* user_param - user parameters struct for this test
|
* user_param - user parameters struct for this test
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*/
|
*/
|
||||||
int ctx_set_credit_wqes(struct pingpong_context *ctx,
|
int ctx_set_credit_wqes(struct pingpong_context *ctx,
|
||||||
struct perftest_parameters *user_param,
|
struct perftest_parameters *user_param,
|
||||||
struct pingpong_dest *rem_dest);
|
struct pingpong_dest *rem_dest);
|
||||||
|
|
||||||
/* run_iter_bw.
|
/* run_iter_bw.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method in BW tests.
|
* The main testing method in BW tests.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// int run_iter_bw_infinitely(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
// 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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for Receiver in SEND test.
|
* The main testing method for Receiver in SEND test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for bidirrectional.
|
* The main testing method for bidirrectional.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This is the latency test function for WRITE verb.
|
* This is the latency test function for WRITE verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This is the latency test function for SEND verb latency test.
|
* This is the latency test function for SEND verb latency test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This method find and returns the local Id in IB subnet manager of
|
* This method find and returns the local Id in IB subnet manager of
|
||||||
* the selected port and HCA given.The lid identifies the port.
|
* the selected port and HCA given.The lid identifies the port.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* context - the context of the HCA device.
|
* context - the context of the HCA device.
|
||||||
* ib_port - The port of the HCA (1 or 2).
|
* ib_port - The port of the HCA (1 or 2).
|
||||||
*
|
*
|
||||||
* Return Value : The Lid itself. (No error values).
|
* 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
|
/* ctx_notify_events
|
||||||
*
|
*
|
||||||
* Description : Prepare the test to work with events instead of polling the CQ.
|
* 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 :
|
* Parameters :
|
||||||
* channel - (Mandotory) the created event channel.
|
* channel - (Mandotory) the created event channel.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
|
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
|
||||||
{
|
{
|
||||||
|
|
||||||
struct ibv_cq *ev_cq;
|
struct ibv_cq *ev_cq;
|
||||||
void *ev_ctx;
|
void *ev_ctx;
|
||||||
|
|
||||||
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
|
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
|
||||||
fprintf(stderr, "Failed to get cq_event\n");
|
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.
|
/* increase_loc_addr.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Increases the local address in all verbs ,
|
* 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
|
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
|
||||||
* in an orginzed way.
|
* in an orginzed way.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* sg - The scatter element of the wqe.
|
* sg - The scatter element of the wqe.
|
||||||
* size - size of the message to send.
|
* size - size of the message to send.
|
||||||
* rcnt - The ammount of post_send or post_receive we called.
|
* rcnt - The ammount of post_send or post_receive we called.
|
||||||
* prim_addr - The address of the original buffer.
|
* prim_addr - The address of the original buffer.
|
||||||
* server_is_ud - Indication to weather we are in UD mode.
|
* 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)
|
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 )
|
if ( ((rcnt+1) % (cycle_buffer/ INC(size,cache_line_size))) == 0 )
|
||||||
sg->addr = prim_addr;
|
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.
|
/* catch_alarm.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Signal catcher for duration feature.
|
* Signal catcher for duration feature.
|
||||||
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
|
* 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
|
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
|
||||||
* will calculate BW accordingley.
|
* will calculate BW accordingley.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void catch_alarm(int sig);
|
void catch_alarm(int sig);
|
||||||
|
@ -703,8 +702,8 @@ void check_alive(int sig);
|
||||||
/* catch_alarm.
|
/* catch_alarm.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Signal catcher for run_infinitely feature.
|
* Signal catcher for run_infinitely feature.
|
||||||
* Will be triggered every 5 sec and measure BW in this time frame.
|
* Will be triggered every 5 sec and measure BW in this time frame.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void catch_alarm_infintely();
|
void catch_alarm_infintely();
|
||||||
|
@ -712,7 +711,7 @@ void catch_alarm_infintely();
|
||||||
/* handle_signal_print_thread
|
/* handle_signal_print_thread
|
||||||
*
|
*
|
||||||
* Description :
|
* 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);
|
void *handle_signal_print_thread(void *sig_mask);
|
||||||
|
@ -721,13 +720,13 @@ void *handle_signal_print_thread(void *sig_mask);
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Modifies the given QP to INIT state , according to attributes in param.
|
* Modifies the given QP to INIT state , according to attributes in param.
|
||||||
* The relevent attributes are ib_port, connection_type and verb.
|
* The relevent attributes are ib_port, connection_type and verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* qp - The QP that will be moved to INIT.
|
* qp - The QP that will be moved to INIT.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -775,12 +774,12 @@ int modify_qp_to_init(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates a single MR for a specific QP index.
|
* Creates a single MR for a specific QP index.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
* qp_index - QP index to register a MR
|
* qp_index - QP index to register a MR
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -792,12 +791,12 @@ int create_single_mr(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates Memory Regions for the test.
|
* Creates Memory Regions for the test.
|
||||||
* Takes into consideration all user parameters and test type.
|
* Takes into consideration all user parameters and test type.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -809,10 +808,10 @@ int create_mr(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates hugepage memory Regions for the test.
|
* Creates hugepage memory Regions for the test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -823,12 +822,12 @@ int alloc_hugepage_region (struct pingpong_context *ctx);
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for Flow steering creation
|
* The main testing method for Flow steering creation
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -81,7 +81,9 @@
|
||||||
#define SYNC_SPEC_ID (5)
|
#define SYNC_SPEC_ID (5)
|
||||||
|
|
||||||
/* The Format of the message we pass through sockets , without passing Gid. */
|
/* 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). */
|
/* 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:"
|
#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"
|
#define READ_FMT " OUT %#04x"
|
||||||
|
|
||||||
/* The print format of the pingpong_dest element for RDMA verbs. */
|
/* 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 */
|
/* The print number of SRQ in case of XRC */
|
||||||
#define XRC_FMT " SRQn %#08x"
|
#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
|
@ -110,15 +110,15 @@
|
||||||
|
|
||||||
#define VERSION "1"
|
#define VERSION "1"
|
||||||
|
|
||||||
/* -------------------------------------------------------------------
|
/* ------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Connection types available. */
|
/* Connection types available. */
|
||||||
#define RC (0)
|
#define RC (0)
|
||||||
#define UC (1)
|
#define UC (1)
|
||||||
#define UD (2)
|
#define UD (2)
|
||||||
#define RawEth (3)
|
#define RawEth (3)
|
||||||
#define XRC (4)
|
#define XRC (4)
|
||||||
#define DC (5)
|
#define DC (5)
|
||||||
|
|
||||||
/* Genral control definitions */
|
/* Genral control definitions */
|
||||||
#define OFF (0)
|
#define OFF (0)
|
||||||
|
@ -128,7 +128,17 @@
|
||||||
#define VERSION_EXIT (10)
|
#define VERSION_EXIT (10)
|
||||||
#define HELP_EXIT (11)
|
#define HELP_EXIT (11)
|
||||||
#define MTU_FIX (7)
|
#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_FAILURE (-1)
|
||||||
#define LINK_UNSPEC (-2)
|
#define LINK_UNSPEC (-2)
|
||||||
#define MAX_OUT_READ_HERMON (16)
|
#define MAX_OUT_READ_HERMON (16)
|
||||||
|
@ -166,6 +176,7 @@
|
||||||
#define DEF_PAGE_SIZE (4096)
|
#define DEF_PAGE_SIZE (4096)
|
||||||
#define DEF_FLOWS (1)
|
#define DEF_FLOWS (1)
|
||||||
#define RATE_VALUES_COUNT (18)
|
#define RATE_VALUES_COUNT (18)
|
||||||
|
#define SERVER_NAME "137.226.133.151"
|
||||||
|
|
||||||
/* Optimal Values for Inline */
|
/* Optimal Values for Inline */
|
||||||
#define DEF_INLINE_WRITE (220)
|
#define DEF_INLINE_WRITE (220)
|
||||||
|
@ -576,8 +587,7 @@ static const struct rate_gbps_string RATE_VALUES[RATE_VALUES_COUNT] = {
|
||||||
{IBV_RATE_MAX, "MAX"}
|
{IBV_RATE_MAX, "MAX"}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
char * duplicate_str(const char * given_str);
|
||||||
|
|
||||||
|
|
||||||
/* link_layer_str
|
/* link_layer_str
|
||||||
*
|
*
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
* 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
|
* General Public License (GPL) Version 2, available from the file
|
||||||
* COPYING in the main directory of this source tree, or the
|
* COPYING in the main directory of this source tree, or the
|
||||||
* OpenIB.org BSD license below:
|
* OpenIB.org BSD license below:
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or
|
* Redistribution and use in source and binary forms, with or
|
||||||
* without modification, are permitted provided that the following
|
* without modification, are permitted provided that the following
|
||||||
* conditions are met:
|
* conditions are met:
|
||||||
*
|
*
|
||||||
* - Redistributions of source code must retain the above
|
* - Redistributions of source code must retain the above
|
||||||
* copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
* disclaimer.
|
* disclaimer.
|
||||||
*
|
*
|
||||||
* - Redistributions in binary form must reproduce the above
|
* - Redistributions in binary form must reproduce the above
|
||||||
* copyright notice, this list of conditions and the following
|
* copyright notice, this list of conditions and the following
|
||||||
* disclaimer in the documentation and/or other materials
|
* disclaimer in the documentation and/or other materials
|
||||||
* provided with the distribution.
|
* provided with the distribution.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
@ -33,19 +33,19 @@
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* This API gathres the Socket interface methods for all perftest benchmarks
|
* This API gathres the Socket interface methods for all perftest benchmarks
|
||||||
* and can be used for any benchmark for IB.
|
* and can be used for any benchmark for IB.
|
||||||
* It passes messages between 2 end points through sockets interface methods,
|
* It passes messages between 2 end points through sockets interface methods,
|
||||||
* while passing the rellevant information for the IB entities.
|
* while passing the rellevant information for the IB entities.
|
||||||
*
|
*
|
||||||
* Methods :
|
* Methods :
|
||||||
*
|
*
|
||||||
* ctx_get_local_lid - Receives the Local id from the subnet manager.
|
* ctx_get_local_lid - Receives the Local id from the subnet manager.
|
||||||
* ctx_client_connect - Connects the client through sockets interface.
|
* ctx_client_connect - Connects the client through sockets interface.
|
||||||
* ctx_server_connect - Connects the Server to client through sockets.
|
* ctx_server_connect - Connects the Server to client through sockets.
|
||||||
* ctx_hand_shake - Passes the data between 2 end points machines.
|
* ctx_hand_shake - Passes the data between 2 end points machines.
|
||||||
* ctx_print_pingpong_data - Prints the data that was passed.
|
* ctx_print_pingpong_data - Prints the data that was passed.
|
||||||
* ctx_close_connection - Closing the sockets interface.
|
* ctx_close_connection - Closing the sockets interface.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PERFTEST_RESOURCES_H
|
#ifndef PERFTEST_RESOURCES_H
|
||||||
|
@ -67,22 +67,22 @@
|
||||||
|
|
||||||
#include "perftest_parameters.h"
|
#include "perftest_parameters.h"
|
||||||
|
|
||||||
#define NUM_OF_RETRIES (10)
|
#define NUM_OF_RETRIES (10)
|
||||||
|
|
||||||
/* Outstanding reads for "read" verb only. */
|
/* Outstanding reads for "read" verb only. */
|
||||||
#define MAX_SEND_SGE (1)
|
#define MAX_SEND_SGE (1)
|
||||||
#define MAX_RECV_SGE (1)
|
#define MAX_RECV_SGE (1)
|
||||||
#define CTX_POLL_BATCH (16)
|
#define CTX_POLL_BATCH (16)
|
||||||
#define PL (1)
|
#define PL (1)
|
||||||
#define ATOMIC_ADD_VALUE (1)
|
#define ATOMIC_ADD_VALUE (1)
|
||||||
#define ATOMIC_SWAP_VALUE (0)
|
#define ATOMIC_SWAP_VALUE (0)
|
||||||
|
|
||||||
/* Space for GRH when we scatter the packet in UD. */
|
/* Space for GRH when we scatter the packet in UD. */
|
||||||
#define PINGPONG_SEND_WRID (60)
|
#define PINGPONG_SEND_WRID (60)
|
||||||
#define PINGPONG_RDMA_WRID (3)
|
#define PINGPONG_RDMA_WRID (3)
|
||||||
#define PINGPONG_READ_WRID (1)
|
#define PINGPONG_READ_WRID (1)
|
||||||
#define PINGPONG_ATOMIC_WRID (22)
|
#define PINGPONG_ATOMIC_WRID (22)
|
||||||
#define DEFF_QKEY (0x11111111)
|
#define DEFF_QKEY (0x11111111)
|
||||||
|
|
||||||
#ifdef HAVE_XRCD
|
#ifdef HAVE_XRCD
|
||||||
#define SERVER_FD "/tmp/xrc_domain_server"
|
#define SERVER_FD "/tmp/xrc_domain_server"
|
||||||
|
@ -90,14 +90,14 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
|
#define NOTIFY_COMP_ERROR_SEND(wc,scnt,ccnt) \
|
||||||
{ fprintf(stderr," Completion with error at client\n"); \
|
{ 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," 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); }
|
fprintf(stderr, "scnt=%lu, ccnt=%lu\n",scnt, ccnt); }
|
||||||
|
|
||||||
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
|
#define NOTIFY_COMP_ERROR_RECV(wc,rcnt) \
|
||||||
{ fprintf(stderr," Completion with error at server\n"); \
|
{ 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," 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); }
|
fprintf(stderr," rcnt=%lu\n",rcnt); }
|
||||||
|
|
||||||
/* Macro to determine packet size in case of UD. The UD addition is for the GRH . */
|
/* 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.
|
/* 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.
|
* 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))
|
(size) : (cache_line_size*(size/cache_line_size+1))) : (cache_line_size))
|
||||||
|
|
||||||
#define UD_MSG_2_EXP(size) ((log(size))/(log(2)))
|
#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.
|
* Perftest resources Structures and data types.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
struct pingpong_context {
|
struct pingpong_context {
|
||||||
// struct rdma_event_channel *cm_channel;
|
// struct rdma_event_channel *cm_channel;
|
||||||
// struct rdma_cm_id *cm_id_control;
|
// struct rdma_cm_id *cm_id_control;
|
||||||
// struct rdma_cm_id *cm_id;
|
// struct rdma_cm_id *cm_id;
|
||||||
struct ibv_context *context;
|
struct ibv_context *context;
|
||||||
struct ibv_comp_channel *channel;
|
struct ibv_comp_channel *channel;
|
||||||
struct ibv_pd *pd;
|
struct ibv_pd *pd;
|
||||||
struct ibv_mr **mr;
|
struct ibv_mr **mr;
|
||||||
struct ibv_cq *send_cq;
|
struct ibv_cq *send_cq;
|
||||||
struct ibv_cq *recv_cq;
|
struct ibv_cq *recv_cq;
|
||||||
void **buf;
|
void **buf;
|
||||||
struct ibv_ah **ah;
|
struct ibv_ah **ah;
|
||||||
struct ibv_qp **qp;
|
struct ibv_qp **qp;
|
||||||
struct ibv_srq *srq;
|
struct ibv_srq *srq;
|
||||||
struct ibv_sge *sge_list;
|
struct ibv_sge *sge_list;
|
||||||
struct ibv_sge *recv_sge_list;
|
struct ibv_sge *recv_sge_list;
|
||||||
struct ibv_send_wr *wr;
|
struct ibv_send_wr *wr;
|
||||||
struct ibv_recv_wr *rwr;
|
struct ibv_recv_wr *rwr;
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint64_t *my_addr;
|
uint64_t *my_addr;
|
||||||
uint64_t *rx_buffer_addr;
|
uint64_t *rx_buffer_addr;
|
||||||
uint64_t *rem_addr;
|
uint64_t *rem_addr;
|
||||||
uint64_t buff_size;
|
uint64_t buff_size;
|
||||||
uint64_t send_qp_buff_size;
|
uint64_t send_qp_buff_size;
|
||||||
uint64_t flow_buff_size;
|
uint64_t flow_buff_size;
|
||||||
int tx_depth;
|
int tx_depth;
|
||||||
int huge_shmid;
|
int huge_shmid;
|
||||||
uint64_t *scnt;
|
uint64_t *scnt;
|
||||||
uint64_t *ccnt;
|
uint64_t *ccnt;
|
||||||
int is_contig_supported;
|
int is_contig_supported;
|
||||||
uint32_t *ctrl_buf;
|
uint32_t *ctrl_buf;
|
||||||
uint32_t *credit_buf;
|
uint32_t *credit_buf;
|
||||||
struct ibv_mr *credit_mr;
|
struct ibv_mr *credit_mr;
|
||||||
struct ibv_sge *ctrl_sge_list;
|
struct ibv_sge *ctrl_sge_list;
|
||||||
struct ibv_send_wr *ctrl_wr;
|
struct ibv_send_wr *ctrl_wr;
|
||||||
int send_rcredit;
|
int send_rcredit;
|
||||||
int credit_cnt;
|
int credit_cnt;
|
||||||
int cache_line_size;
|
int cache_line_size;
|
||||||
int cycle_buffer;
|
int cycle_buffer;
|
||||||
#ifdef HAVE_XRCD
|
#ifdef HAVE_XRCD
|
||||||
struct ibv_xrcd *xrc_domain;
|
struct ibv_xrcd *xrc_domain;
|
||||||
int fd;
|
int fd;
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_ACCL_VERBS
|
#ifdef HAVE_ACCL_VERBS
|
||||||
struct ibv_exp_res_domain *res_domain;
|
struct ibv_exp_res_domain *res_domain;
|
||||||
struct ibv_exp_cq_family *send_cq_family;
|
struct ibv_exp_cq_family *send_cq_family;
|
||||||
struct ibv_exp_cq_family *recv_cq_family;
|
struct ibv_exp_cq_family *recv_cq_family;
|
||||||
struct ibv_exp_qp_burst_family **qp_burst_family;
|
struct ibv_exp_qp_burst_family **qp_burst_family;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pingpong_dest {
|
struct pingpong_dest {
|
||||||
int lid;
|
int lid;
|
||||||
int out_reads;
|
int out_reads;
|
||||||
int qpn;
|
int qpn;
|
||||||
int psn;
|
int psn;
|
||||||
unsigned rkey;
|
unsigned rkey;
|
||||||
unsigned long long vaddr;
|
unsigned long long vaddr;
|
||||||
union ibv_gid gid;
|
union ibv_gid gid;
|
||||||
unsigned srqn;
|
unsigned srqn;
|
||||||
int gid_index;
|
int gid_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct raw_ethernet_info { // !
|
struct raw_ethernet_info { // !
|
||||||
uint8_t mac[6];
|
uint8_t mac[6];
|
||||||
uint32_t ip;
|
uint32_t ip;
|
||||||
uint8_t ip6[16];
|
uint8_t ip6[16];
|
||||||
int port;
|
int port;
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
@ -205,26 +205,26 @@ struct raw_ethernet_info { // !
|
||||||
* Description : Creating a service struct from a given port and servername.
|
* Description : Creating a service struct from a given port and servername.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* service - an empty char** to contain the service name.
|
* service - an empty char** to contain the service name.
|
||||||
* port - The selected port on which the server will listen.
|
* port - The selected port on which the server will listen.
|
||||||
* hints - The requested ai_* params for the connection.
|
* hints - The requested ai_* params for the connection.
|
||||||
* res - Holds the result.
|
* res - Holds the result.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
// int check_add_port(char **service,int port,
|
int check_add_port(char **service,int port,
|
||||||
// const char *servername,
|
const char *servername,
|
||||||
// struct addrinfo *hints,
|
struct addrinfo *hints,
|
||||||
// struct addrinfo **res);
|
struct addrinfo **res);
|
||||||
|
|
||||||
/* ctx_find_dev
|
/* ctx_find_dev
|
||||||
*
|
*
|
||||||
* Description : Returns the device corresponding to ib_devname
|
* 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 :
|
* 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.
|
* 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.
|
* Description : allocate all perftest resources.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*/
|
*/
|
||||||
void alloc_ctx(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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.
|
* Description : Deallocate all perftest resources.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -256,11 +256,11 @@ int destroy_ctx(struct pingpong_context *ctx,
|
||||||
/* verify_params_with_device_context
|
/* verify_params_with_device_context
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Verify user params that require information from the ibv_context
|
* Verify user params that require information from the ibv_context
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* context - ibv_context
|
* context - ibv_context
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -271,12 +271,12 @@ int verify_params_with_device_context(struct ibv_context *ctx,
|
||||||
/* ctx_init
|
/* ctx_init
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Creates all the test resources.
|
* Creates all the test resources.
|
||||||
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
|
* It creates Buffer, PD, MR, CQ QPs and moves the QPs to INIT.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - An empty resources sructure to fill inside the resources.
|
* ctx - An empty resources sructure to fill inside the resources.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
|
@ -286,15 +286,15 @@ int ctx_init(struct pingpong_context *ctx,struct perftest_parameters *user_param
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates a QP , according to the attributes given in param.
|
* Creates a QP , according to the attributes given in param.
|
||||||
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
|
* The relevent attributes are tx_depth,rx_depth,inline_size and connection_type.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* pd - The Protection domain , each the qp will be assigned to.
|
* pd - The Protection domain , each the qp will be assigned to.
|
||||||
* send_cq - The CQ that will produce send CQE.
|
* send_cq - The CQ that will produce send CQE.
|
||||||
* recv_qp - The CQ that will produce recv CQE.
|
* recv_qp - The CQ that will produce recv CQE.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : Adress of the new QP.
|
* Return Value : Adress of the new QP.
|
||||||
*/
|
*/
|
||||||
|
@ -305,13 +305,13 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Modifies the given QP to INIT state , according to attributes in param.
|
* Modifies the given QP to INIT state , according to attributes in param.
|
||||||
* The relevent attributes are ib_port, connection_type and verb.
|
* The relevent attributes are ib_port, connection_type and verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* qp - The QP that will be moved to INIT.
|
* qp - The QP that will be moved to INIT.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -322,14 +322,14 @@ int ctx_modify_qp_to_init(struct ibv_qp *qp,struct perftest_parameters *user_par
|
||||||
*
|
*
|
||||||
* Description :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* dest - pingpong_dest struct of the remote side.
|
* dest - pingpong_dest struct of the remote side.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* my_dest - pingpong_dest struct of this side.
|
* my_dest - pingpong_dest struct of this side.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -343,13 +343,13 @@ int ctx_connect(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the exp send work request templates for all QPs
|
* Prepare the exp send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_exp_wqes(struct pingpong_context *ctx,
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the regular send work request templates for all QPs
|
* Prepare the regular send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_reg_wqes(struct pingpong_context *ctx,
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the send work request templates for all QPs
|
* Prepare the send work request templates for all QPs
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void ctx_set_send_wqes(struct pingpong_context *ctx,
|
void ctx_set_send_wqes(struct pingpong_context *ctx,
|
||||||
|
@ -396,12 +396,12 @@ void ctx_set_send_wqes(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* Allocate resources to support the credit exchange mechanism,
|
* Allocate resources to support the credit exchange mechanism,
|
||||||
* which allows ib_send_bw to work with iWARP
|
* which allows ib_send_bw to work with iWARP
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - test context
|
* ctx - test context
|
||||||
* user_param - user parameters struct for this test
|
* user_param - user parameters struct for this test
|
||||||
* my_dest - pingpong_dest struct of the this side
|
* my_dest - pingpong_dest struct of the this side
|
||||||
*
|
*
|
||||||
* my_dest is updated to store the credit buf vaddr and rkey
|
* my_dest is updated to store the credit buf vaddr and rkey
|
||||||
* which need to be exchanged with the remote side
|
* which need to be exchanged with the remote side
|
||||||
* to enable RDMA WRITE op
|
* to enable RDMA WRITE op
|
||||||
*/
|
*/
|
||||||
int ctx_alloc_credit(struct pingpong_context *ctx,
|
int ctx_alloc_credit(struct pingpong_context *ctx,
|
||||||
struct perftest_parameters *user_param,
|
struct perftest_parameters *user_param,
|
||||||
|
@ -430,29 +430,30 @@ int ctx_alloc_credit(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Prepare the send credit work request templates for all QPs
|
* Prepare the send credit work request templates for all QPs
|
||||||
* RDMA WRITE op is used for sending credit
|
* RDMA WRITE op is used for sending credit
|
||||||
* Credit exchange is necessary for ib_send_bw to work with iWARP
|
* Credit exchange is necessary for ib_send_bw to work with iWARP
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - test context
|
* ctx - test context
|
||||||
* user_param - user parameters struct for this test
|
* user_param - user parameters struct for this test
|
||||||
* rem_dest - pingpong_dest struct of the remote side.
|
* rem_dest - pingpong_dest struct of the remote side.
|
||||||
*/
|
*/
|
||||||
int ctx_set_credit_wqes(struct pingpong_context *ctx,
|
int ctx_set_credit_wqes(struct pingpong_context *ctx,
|
||||||
struct perftest_parameters *user_param,
|
struct perftest_parameters *user_param,
|
||||||
struct pingpong_dest *rem_dest);
|
struct pingpong_dest *rem_dest);
|
||||||
|
|
||||||
/* run_iter_bw.
|
/* run_iter_bw.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method in BW tests.
|
* The main testing method in BW tests.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// int run_iter_bw_infinitely(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
// 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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw_infinitely_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for Receiver in SEND test.
|
* The main testing method for Receiver in SEND test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bw_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for bidirrectional.
|
* The main testing method for bidirrectional.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int run_iter_bi(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This is the latency test function for WRITE verb.
|
* This is the latency test function for WRITE verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat_write(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat(struct pingpong_context *ctx,struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This is the latency test function for SEND verb latency test.
|
* This is the latency test function for SEND verb latency test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
int run_iter_lat_send(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int run_iter_lat_burst(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* 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 :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int run_iter_lat_burst_server(struct pingpong_context *ctx, struct perftest_parameters *user_param);
|
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 :
|
* Description :
|
||||||
*
|
*
|
||||||
* This method find and returns the local Id in IB subnet manager of
|
* This method find and returns the local Id in IB subnet manager of
|
||||||
* the selected port and HCA given.The lid identifies the port.
|
* the selected port and HCA given.The lid identifies the port.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* context - the context of the HCA device.
|
* context - the context of the HCA device.
|
||||||
* ib_port - The port of the HCA (1 or 2).
|
* ib_port - The port of the HCA (1 or 2).
|
||||||
*
|
*
|
||||||
* Return Value : The Lid itself. (No error values).
|
* 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
|
/* ctx_notify_events
|
||||||
*
|
*
|
||||||
* Description : Prepare the test to work with events instead of polling the CQ.
|
* 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 :
|
* Parameters :
|
||||||
* channel - (Mandotory) the created event channel.
|
* channel - (Mandotory) the created event channel.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*/
|
*/
|
||||||
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
|
static __inline int ctx_notify_events(struct ibv_comp_channel *channel)
|
||||||
{
|
{
|
||||||
|
|
||||||
struct ibv_cq *ev_cq;
|
struct ibv_cq *ev_cq;
|
||||||
void *ev_ctx;
|
void *ev_ctx;
|
||||||
|
|
||||||
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
|
if (ibv_get_cq_event(channel,&ev_cq,&ev_ctx)) {
|
||||||
fprintf(stderr, "Failed to get cq_event\n");
|
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.
|
/* increase_loc_addr.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Increases the local address in all verbs ,
|
* 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
|
* (at least 64 CACHE_LINE size) , so that the system will be a able to cahce the data
|
||||||
* in an orginzed way.
|
* in an orginzed way.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* sg - The scatter element of the wqe.
|
* sg - The scatter element of the wqe.
|
||||||
* size - size of the message to send.
|
* size - size of the message to send.
|
||||||
* rcnt - The ammount of post_send or post_receive we called.
|
* rcnt - The ammount of post_send or post_receive we called.
|
||||||
* prim_addr - The address of the original buffer.
|
* prim_addr - The address of the original buffer.
|
||||||
* server_is_ud - Indication to weather we are in UD mode.
|
* 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)
|
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 )
|
if ( ((rcnt+1) % (cycle_buffer/ INC(size,cache_line_size))) == 0 )
|
||||||
sg->addr = prim_addr;
|
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.
|
/* catch_alarm.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Signal catcher for duration feature.
|
* Signal catcher for duration feature.
|
||||||
* run_iter_bw in start will set it to triger at MARGIN (parameter), it will then start counting packets
|
* 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
|
* and triger it back to SAMPLE TIME, in that time the test will count packets and completion and
|
||||||
* will calculate BW accordingley.
|
* will calculate BW accordingley.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void catch_alarm(int sig);
|
void catch_alarm(int sig);
|
||||||
|
@ -702,8 +703,8 @@ void check_alive(int sig);
|
||||||
/* catch_alarm.
|
/* catch_alarm.
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
* Signal catcher for run_infinitely feature.
|
* Signal catcher for run_infinitely feature.
|
||||||
* Will be triggered every 5 sec and measure BW in this time frame.
|
* Will be triggered every 5 sec and measure BW in this time frame.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void catch_alarm_infintely();
|
void catch_alarm_infintely();
|
||||||
|
@ -711,7 +712,7 @@ void catch_alarm_infintely();
|
||||||
/* handle_signal_print_thread
|
/* handle_signal_print_thread
|
||||||
*
|
*
|
||||||
* Description :
|
* 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);
|
void *handle_signal_print_thread(void *sig_mask);
|
||||||
|
@ -720,13 +721,13 @@ void *handle_signal_print_thread(void *sig_mask);
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Modifies the given QP to INIT state , according to attributes in param.
|
* Modifies the given QP to INIT state , according to attributes in param.
|
||||||
* The relevent attributes are ib_port, connection_type and verb.
|
* The relevent attributes are ib_port, connection_type and verb.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* qp - The QP that will be moved to INIT.
|
* qp - The QP that will be moved to INIT.
|
||||||
* param - The parameters for the QP.
|
* param - The parameters for the QP.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -774,12 +775,12 @@ int modify_qp_to_init(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates a single MR for a specific QP index.
|
* Creates a single MR for a specific QP index.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
* qp_index - QP index to register a MR
|
* qp_index - QP index to register a MR
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -791,12 +792,12 @@ int create_single_mr(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates Memory Regions for the test.
|
* Creates Memory Regions for the test.
|
||||||
* Takes into consideration all user parameters and test type.
|
* Takes into consideration all user parameters and test type.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
* user_param - the perftest parameters.
|
* user_param - the perftest parameters.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -808,10 +809,10 @@ int create_mr(struct pingpong_context *ctx,
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* Creates hugepage memory Regions for the test.
|
* Creates hugepage memory Regions for the test.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* ctx - Resources sructure.
|
* ctx - Resources sructure.
|
||||||
*
|
*
|
||||||
* Return Value : SUCCESS, FAILURE.
|
* Return Value : SUCCESS, FAILURE.
|
||||||
*
|
*
|
||||||
|
@ -822,12 +823,12 @@ int alloc_hugepage_region (struct pingpong_context *ctx);
|
||||||
*
|
*
|
||||||
* Description :
|
* Description :
|
||||||
*
|
*
|
||||||
* The main testing method for Flow steering creation
|
* The main testing method for Flow steering creation
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
*
|
*
|
||||||
* ctx - Test Context.
|
* ctx - Test Context.
|
||||||
* user_param - user_parameters struct for this test.
|
* user_param - user_parameters struct for this test.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -38,9 +38,9 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "perftest_parameters_write_bw.h"
|
#include "perftest_parameters.h"
|
||||||
#include "perftest_resources_write_bw.h"
|
#include "perftest_resources.h"
|
||||||
#include "perftest_communication_write_bw.h"
|
#include "perftest_communication.h"
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
@ -280,7 +280,6 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (user_param.test_method == RUN_REGULAR) {
|
} else if (user_param.test_method == RUN_REGULAR) {
|
||||||
|
|
||||||
ctx_set_send_wqes(&ctx, &user_param, rem_dest);
|
ctx_set_send_wqes(&ctx, &user_param, rem_dest);
|
||||||
if (user_param.perform_warm_up) {
|
if (user_param.perform_warm_up) {
|
||||||
if(perform_warm_up(&ctx, &user_param)) {
|
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));
|
printf((user_param.cpu_util_data.enable ? RESULT_EXT_CPU_UTIL : RESULT_EXT));
|
||||||
print_full_bw_report(&user_param, &rem_bw_rep, NULL);
|
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) {
|
if (user_param.output == FULL_VERBOSITY) {
|
||||||
|
|
|
@ -41,9 +41,9 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "get_clock.h"
|
#include "get_clock.h"
|
||||||
#include "perftest_parameters_write_bw.h"
|
#include "perftest_parameters.h"
|
||||||
#include "perftest_resources_write_bw.h"
|
#include "perftest_resources.h"
|
||||||
#include "perftest_communication_write_bw.h"
|
#include "perftest_communication.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -166,7 +166,6 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
user_comm.rdma_params->side = REMOTE;
|
user_comm.rdma_params->side = REMOTE;
|
||||||
for (i=0; i < user_param.num_of_qps; i++) {
|
for (i=0; i < user_param.num_of_qps; i++) {
|
||||||
|
|
||||||
/* shaking hands and gather the other side info. */
|
/* shaking hands and gather the other side info. */
|
||||||
if (ctx_hand_shake(&user_comm, &my_dest[i], &rem_dest[i])) {
|
if (ctx_hand_shake(&user_comm, &my_dest[i], &rem_dest[i])) {
|
||||||
fprintf(stderr, "Failed to exchange data between server and clients\n");
|
fprintf(stderr, "Failed to exchange data between server and clients\n");
|
||||||
|
@ -204,7 +203,6 @@ int main(int argc, char *argv[])
|
||||||
printf(RESULT_LINE);
|
printf(RESULT_LINE);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user_param.use_event) {
|
if (user_param.use_event) {
|
||||||
|
@ -225,10 +223,9 @@ int main(int argc, char *argv[])
|
||||||
if (user_param.test_method == RUN_ALL) {
|
if (user_param.test_method == RUN_ALL) {
|
||||||
for (i = 1; i < MAX_SIZE_EXP; ++i) {
|
for (i = 1; i < MAX_SIZE_EXP; ++i) {
|
||||||
user_param.size = (uint64_t)1 << i;
|
user_param.size = (uint64_t)1 << i;
|
||||||
if(run_iter_lat(&ctx, &user_param));
|
if(run_iter_lat(&ctx, &user_param))
|
||||||
return 17;
|
return 17;
|
||||||
|
|
||||||
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
|
|
||||||
print_report_lat(&user_param);
|
print_report_lat(&user_param);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -39,9 +39,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include "perftest_parameters_write_bw.h"
|
#include "perftest_parameters.h"
|
||||||
#include "perftest_resources_write_bw.h"
|
#include "perftest_resources.h"
|
||||||
#include "perftest_communication_write_bw.h"
|
#include "perftest_communication.h"
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|
|
@ -41,9 +41,9 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "get_clock.h"
|
#include "get_clock.h"
|
||||||
#include "perftest_parameters_write_bw.h"
|
#include "perftest_parameters.h"
|
||||||
#include "perftest_resources_write_bw.h"
|
#include "perftest_resources.h"
|
||||||
#include "perftest_communication_write_bw.h"
|
#include "perftest_communication.h"
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
@ -192,7 +192,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if (user_param.output == FULL_VERBOSITY) {
|
if (user_param.output == FULL_VERBOSITY) {
|
||||||
printf(RESULT_LINE);
|
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));
|
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");
|
fprintf(stderr, "Test exited with Error\n");
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
|
|
||||||
print_report_lat(&user_param);
|
print_report_lat(&user_param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,7 +211,6 @@ int main(int argc, char *argv[])
|
||||||
fprintf(stderr, "Test exited with Error\n");
|
fprintf(stderr, "Test exited with Error\n");
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
/* user_param.test_type == ITERATIONS ? print_report_lat(&user_param) : print_report_lat_duration(&user_param); */
|
|
||||||
print_report_lat(&user_param);
|
print_report_lat(&user_param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue