Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-9

From: K.R. Foley
Date: Tue Nov 23 2004 - 13:55:47 EST


Ingo Molnar wrote:
i have released the -V0.7.30-9 Real-Time Preemption patch, which can be
downloaded from the usual place:


A couple of observations that I would like to share:

1) With all of the tracing compiled in, there is a measurable amount of additional latency, even when the tracing is disabled via the proc interfaces. So if you want to measure best-case (or worst-case) latencies turn off the tracing facilities to do so. For example, using a blocking read, the worst case latency from interrupt to read: wo/tracing ~68 usec, w/tracing ~110 usec. I am attaching two histograms generated by the rtc histogram by running a slightly modified version of realfeel.

2) Also there is a big difference in latencies between blocking reads and using signals to notify the process that data is available. I am also attaching a histogram generated by the rtc histogram by running amlat. Part of the numbers in the > 10 msec bucket are into the hundreds of msecs.

All of these numbers were generated using a comparable load from stress-kernel.

kr




No tracing using read:
rtc latency histogram of {realfeel/5162, 671921 samples}:
3 221135
4 32396
5 38047
6 62650
7 99079
8 62347
9 47702
10 37572
11 27323
12 16734
13 9889
14 6081
15 3607
16 2214
17 1440
18 784
19 494
20 355
21 269
22 215
23 186
24 163
25 124
26 123
27 93
28 85
29 85
30 90
31 80
32 61
33 72
34 47
35 53
36 49
37 39
38 29
39 26
40 22
41 15
42 19
43 18
44 23
45 15
46 12
47 4
48 10
49 12
50 4
51 4
52 4
53 3
54 2
55 4
56 3
57 2
59 1
60 1
61 1
62 1
67 1
68 2
Tracing on using read:
Nov 22 19:37:39 porky kernel: rtc latency histogram of {realfeel/6592, 487037 samples}:
Nov 22 19:37:39 porky kernel: 13 10
Nov 22 19:37:39 porky kernel: 14 88142
Nov 22 19:37:39 porky kernel: 15 113256
Nov 22 19:37:39 porky kernel: 16 77884
Nov 22 19:37:39 porky kernel: 17 60492
Nov 22 19:37:39 porky kernel: 18 41451
Nov 22 19:37:39 porky kernel: 19 23587
Nov 22 19:37:39 porky kernel: 20 15409
Nov 22 19:37:39 porky kernel: 21 11975
Nov 22 19:37:39 porky kernel: 22 14672
Nov 22 19:37:39 porky kernel: 23 11843
Nov 22 19:37:39 porky kernel: 24 8318
Nov 22 19:37:39 porky kernel: 25 5595
Nov 22 19:37:39 porky kernel: 26 3546
Nov 22 19:37:39 porky kernel: 27 2057
Nov 22 19:37:39 porky kernel: 28 1192
Nov 22 19:37:39 porky kernel: 29 819
Nov 22 19:37:39 porky kernel: 30 682
Nov 22 19:37:39 porky kernel: 31 665
Nov 22 19:37:39 porky kernel: 32 662
Nov 22 19:37:39 porky kernel: 33 540
Nov 22 19:37:39 porky kernel: 34 494
Nov 22 19:37:39 porky kernel: 35 433
Nov 22 19:37:39 porky kernel: 36 290
Nov 22 19:37:39 porky kernel: 37 227
Nov 22 19:37:39 porky kernel: 38 189
Nov 22 19:37:39 porky kernel: 39 129
Nov 22 19:37:39 porky kernel: 40 110
Nov 22 19:37:39 porky kernel: 41 78
Nov 22 19:37:39 porky kernel: 42 85
Nov 22 19:37:39 porky kernel: 43 102
Nov 22 19:37:39 porky kernel: 44 314
Nov 22 19:37:39 porky kernel: 45 189
Nov 22 19:37:39 porky kernel: 46 137
Nov 22 19:37:39 porky kernel: 47 105
Nov 22 19:37:39 porky kernel: 48 147
Nov 22 19:37:39 porky kernel: 49 101
Nov 22 19:37:39 porky kernel: 50 99
Nov 22 19:37:39 porky kernel: 51 93
Nov 22 19:37:39 porky kernel: 52 61
Nov 22 19:37:39 porky kernel: 53 57
Nov 22 19:37:39 porky kernel: 54 44
Nov 22 19:37:39 porky kernel: 55 50
Nov 22 19:37:39 porky kernel: 56 49
Nov 22 19:37:39 porky kernel: 57 50
Nov 22 19:37:39 porky kernel: 58 48
Nov 22 19:37:39 porky kernel: 59 49
Nov 22 19:37:39 porky kernel: 60 41
Nov 22 19:37:39 porky kernel: 61 31
Nov 22 19:37:39 porky kernel: 62 23
Nov 22 19:37:39 porky kernel: 63 19
Nov 22 19:37:39 porky kernel: 64 23
Nov 22 19:37:39 porky kernel: 65 27
Nov 22 19:37:39 porky kernel: 66 18
Nov 22 19:37:39 porky kernel: 67 17
Nov 22 19:37:39 porky kernel: 68 15
Nov 22 19:37:39 porky kernel: 69 16
Nov 22 19:37:39 porky kernel: 70 17
Nov 22 19:37:39 porky kernel: 71 11
Nov 22 19:37:39 porky kernel: 72 11
Nov 22 19:37:39 porky kernel: 73 19
Nov 22 19:37:40 porky kernel: 74 15
Nov 22 19:37:40 porky kernel: 75 24
Nov 22 19:37:40 porky kernel: 76 26
Nov 22 19:37:40 porky kernel: 77 14
Nov 22 19:37:40 porky kernel: 78 15
Nov 22 19:37:40 porky kernel: 79 17
Nov 22 19:37:40 porky kernel: 80 19
Nov 22 19:37:40 porky kernel: 81 12
Nov 22 19:37:40 porky kernel: 82 4
Nov 22 19:37:40 porky kernel: 83 7
Nov 22 19:37:40 porky kernel: 84 9
Nov 22 19:37:40 porky kernel: 85 8
Nov 22 19:37:40 porky kernel: 86 11
Nov 22 19:37:40 porky kernel: 87 8
Nov 22 19:37:40 porky kernel: 88 4
Nov 22 19:37:40 porky kernel: 89 3
Nov 22 19:37:40 porky kernel: 90 1
Nov 22 19:37:40 porky kernel: 91 5
Nov 22 19:37:40 porky kernel: 92 5
Nov 22 19:37:40 porky kernel: 94 3
Nov 22 19:37:40 porky kernel: 95 1
Nov 22 19:37:40 porky kernel: 96 2
Nov 22 19:37:40 porky kernel: 97 2
Nov 22 19:37:40 porky kernel: 98 2
Nov 22 19:37:40 porky kernel: 99 1
Nov 22 19:37:40 porky kernel: 101 1
Nov 22 19:37:40 porky kernel: 107 2
Nov 22 19:37:40 porky kernel: 110 1
No tracing using signals:
rtc latency histogram of {amlat/7215, 535020 samples}:
4 1
9 18916
10 125448
11 29422
12 41496
13 22222
14 15344
15 12256
16 10935
17 11157
18 11192
19 11456
20 12994
21 13832
22 14704
23 14330
24 12625
25 11837
26 11839
27 11206
28 10307
29 10057
30 10183
31 13115
32 11438
33 11897
34 11559
35 7817
36 5823
37 4660
38 3944
39 3106
40 2763
41 2424
42 1961
43 1729
44 1348
45 1154
46 984
47 801
48 682
49 537
50 467
51 345
52 288
53 214
54 182
55 162
56 131
57 117
58 135
59 118
60 111
61 120
62 118
63 89
64 103
65 95
66 92
67 85
68 62
69 45
70 61
71 39
72 29
73 40
74 28
75 25
76 25
77 18
78 18
79 11
80 13
81 9
82 13
83 10
84 11
85 5
86 2
87 4
88 2
89 3
90 2
91 5
92 2
93 1
94 2
95 4
96 3
97 2
98 1
99 3
103 1
104 1
108 2
118 1
7860 1
9999 43