Professional Documents
Culture Documents
ORG
0
0
0
0
0
0
1.601uS
0.337uS
0.073uS
0.074uS
0.044uS
0.184uS
testlog_test1
testlog_test2
testlog_test3
testlog_test4
testlog_test5
testlog_test6
0
0
0
0
0
0
3.348uS
0.178uS
0.058uS
0.071uS
0.039uS
0.044uS
testlog_test1
testlog_test2
testlog_test3
testlog_test4
testlog_test5
testlog_test6
0
0
0
3.340uS
0.173uS
0.063uS
testlog_test1
testlog_test2
testlog_test3
484
485
0
0
0.039uS
0.040uS
testlog_test5
testlog_test6
Subsystems Characterized
Critical Sections
IPIQ Messaging
Tsleep/Wakeup
SLAB Allocator's free() path use of passive IPIQ messages
Single and multiple packet interrupt overheads
Single and multiple packet TCP processing overheads
Interrupt moderation and message aggregation
Critical Sections
CPU #n
CRIT_ENTER( )
INTERRUPT
FLAGGED
(CODE)
61
62
732
733
758
759
443
444
INTERRUPT
EXECUTED
0.902uS
0.970uS
0.902uS
1.008uS
testlog_crit_beg
testlog_crit_end
testlog_crit_beg
testlog_crit_end
testlog_crit_beg
testlog_crit_end
testlog_crit_beg
testlog_crit_end
CRIT_EXIT( )
0
0
0
0
0
0
0
0
IPIQ Messaging
CPU 0
SEND IPI
PINGPONG
SEND IPI
CPU 1
PINGPONG
SEND IPI
PINGPONG
SEND IPI
SEND IPI
SEND IPI
SEND IPI
CONSUMER
(PIPLINED)
652
794
653
795
654
796
655
797
1
0
1
0
1
0
1
0
1.040 uS
1.171 uS
1.008 uS
1.164 uS
0.995 uS
1.169 uS
1.025 uS
1.174 uS
PING
PONG
PING
PONG
PING
PONG
PING
PONG
813
814
815
816
817
0
0
0
0
0
1.159 uS
0.141 uS
0.044 uS
0.079 uS
0.015 uS
PIPELINE
PIPELINE
PIPELINE
PIPELINE
PIPELINE
Thread B
WAKEUP
MISC CODE
812
813
814
0
0
0
119
120
121
1
1
1
760
761
762
0
0
0
0.291 uS
1.102 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
0.297 uS
1.000 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
0.276 uS
0.999 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
SWITCH
TSLEEP END
CPU 1
627
628
230
1
1
0
RX IPI MSG
570
571
161
1
1
0
406
407
768
0
0
1
372
373
754
0
0
1
WAKEUP
CODE
MISC CODE
SWITCH
TSLEEP END
0.016 uS
0.953 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
0.016 uS
1.180 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
0.168 uS
1.295 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
0.117 uS
3.412 uS
WAKEUP_BEG
WAKEUP_END
TSLEEP_END
CPU 1
FREE (LOCAL)
~237 nS
FREE
FREE
FREE
~318 ns / ea
FREE (REMOTE)
FREE (REMOTE)
FREE (REMOTE)
~745 ns / ea
615
616
617
618
1
1
1
1
0.211 uS
0.097 uS
0.119 uS
FREE_BEG
(misc)
SEND IPI
FREE_END
619
620
621
622
1
1
1
1
0.135 uS
0.034 uS
0.040 uS
FREE_BEG
(misc)
SEND IPI
FREE END
5
6
7
8
9
0
0
0
0
0
0.036 uS
0.142 uS
0.156 uS
0.398 uS
RECV IPI
FREE_REMOTE
FREE_BEG
(misc)
FREE_END
10
11
12
13
14
0
0
0
0
0
0.030 uS
0.098 uS
0.124 uS
0.507 uS
RECV IPI
FREE_REMOTE
FREE_BEG
(misc)
FREE_END
89
90
91
92
93
94
95
96
97
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0.285 uS
0.476 uS
0.214 uS
0.154 uS
0.879 uS
0.248 uS
0.178 uS
0.062 uS
0.147 uS
0.059 uS
367
368
369
370
371
372
373
374
375
376
377
378
FREE BEGIN
FREE END
FREE BEGIN
FREE END
FREE BEGIN
FREE END
FREE BEGIN
FREE END
FREE BEGIN
PASSIVE IPI
FREE END
FREE BEGIN
PASSIVE IPI
FREE END
FREE BEGIN
PASSIVE IPI
FREE END
0
0
0
0
0
0
0
0
0
0
0
0
0.421 uS
0.148 uS
1.584 uS
0.032 uS
0.084 uS
0.541 uS
0.032 uS
0.075 uS
0.318 uS
IPIQ RECEIVE
FREE REMOTE
FREE BEGIN
FREE END
IPIQ RECEIVE
FREE REMOTE
FREE BEGIN
FREE END
IPIQ RECEIVE
FREE REMOTE
FREE BEGIN
FREE END
Network Interrupt
Single and Muliple frames
CPU 0
EM0 INTR
RX PACKET
EM0 END
EM0 INTR
RX PACKET
RX PACKET
RX PACKET
EM0 END
310
311
312
0
0
0
502
503
504
0
0
0
498
499
500
501
502
503
504
505
0
0
0
0
0
0
0
0
0.864 uS
1.841 uS
INTR_BEG
RX PACKET
INTR_END
0.856 uS
1.662 uS
INTR_BEG
RX PACKET
INTR_END
0.955 uS
1.575 uS
1.093 uS
1.089 uS
1.254 uS
1.166 uS
1.825 uS
INTR_BEG
RX PACKET
RX PACKET
RX PACKET
RX PACKET
RX PACKET
RX PACKET
INTR_END
CPU 1
EM0 INTR
RX PACKET
RX PACKET
RX PACKET
EM0 END
TCP WAKEUP
TCP PACKET
TCP PACKET
TCP PACKET
651
862
863
652
864
865
866
653
867
654
868
655
656
657
658
659
669
1
0
0
1
0
0
0
1
0
1
0
1
1
1
1
1
1
2.234 uS
0.637 uS
0.940 uS
1.668 uS
2.684 uS
0.812 uS
0.666 uS
1.474 uS
0.948 uS
0.074 uS
1.114 uS
0.962 uS
0.952 uS
6.081 uS
1.662 uS
TCP_WAIT
EM0 RX PKT
EM0 RX PKT
TCP RX PKT
EM0 RX PKT
EM0 RX PKT
EM0 RX PKT
TCP RX PKT
EM0 RX PKT
TCP RX PKT
EM0 END INTR
TCP RX PKT
TCP RX PKT
TCP RX PKT
TCP DELAYED
TCP XMIT ACK
TCP_WAIT
TCP TSLEEP
Conclusions
Conclusions
Galen Sampson
YONETANI Tomokazu
Hiroki Sato
Simon Schubert
Joerg Sonnenberger
Justin Sherrill
Scott Ullrich
Jeroen Ruigrok van der Werven
Todd Willey
and Fred -->
WWW.DRAGONFLYBSD.ORG