I did a test using the latest kernel from https://github.com/beagleboard/kernel/blob/3.8/configs/beaglebone and the kernel configuration I posted this morning. To load the cpu I used stress --cpu 1 & cyclictest -l10000000 -m -n -t1 -p99 -i400 -h400 -q. I have attached the output of cyclictest and an image with the latency histogram.
The maximum latency is now at 262 µs. However, only about 0.2% of the samples are at t>=36 µs. It is clear that a kernel with the simple PREEMPT option is not as good as one with the PREEMPT_RT option. But it is definitely much better than a default kernel without any preemption enabled. Am Mittwoch, 5. März 2014 11:14:43 UTC+1 schrieb quik...@gmail.com: > > There are two repos on github which are related to the BBB kernel. It > seems that you are active in both of theses repositories.I have always used > https://github.com/beagleboard/kernel. But there's another repo at > https://github.com/RobertCNelson/linux-dev. What exactly is the > difference between these repos? > > The default kernel configuration for kernel 3.8 from > https://github.com/beagleboard/kernel is at > https://github.com/beagleboard/kernel/blob/3.8/configs/beaglebone. In > order to allow people to build a PREEMPT capable version we could simply > provide a second kernel configuration. The name could be > beaglebone_preempt. This way you wouldn't have to change the default > configuration. On the other hand this would allow people to quickly > evaluate the PREEMPT version and have at least some basic determinism. > > I have attached my modified kernel configuration. I am currently doing > further tests. > > > Am Mittwoch, 26. Februar 2014 15:23:01 UTC+1 schrieb RobertCNelson: >> >> On Wed, Feb 26, 2014 at 7:59 AM, <quik...@gmail.com> wrote: >> > Of course every user can create his own kernel coniguration or even >> modify >> > the Linux kernel in any way he wants. But if there is any problem he's >> > beeing left alone. I think it would be much better to have a default >> kernel >> > configuration which at least provides simple PREEMPT support. That >> might >> > help people to fight against most simple latency problems. >> >> >> Notice how the github account says "RobertCNelson"? Your welcome to >> fork that project and push kernel/image with your modifications. I'm >> not psychically forcing my config choices down people's throat. >> Everything is setup to easily allow you to rebuild/modify/etc >> everything. Maybe I just give too many options. So I have my reasons >> for leaving PREEMPT disabled by default and on an old tested v3.8 >> kernel, the last thing i'm going to do is radically change the config. >> To much of a risk on a kernel in maintenance only mode at this point. >> >> Regards, >> >> -- >> Robert Nelson >> http://www.rcn-ee.com/ >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
# /dev/cpu_dma_latency set to 0us # Histogram 000000 000000 000001 000000 000002 000000 000003 000000 000004 000000 000005 000000 000006 000000 000007 000000 000008 000000 000009 000000 000010 000000 000011 000000 000012 000000 000013 000152 000014 000632 000015 000897 000016 558081 000017 6276239 000018 2628262 000019 281356 000020 053448 000021 012484 000022 008817 000023 025329 000024 014764 000025 003927 000026 011242 000027 007705 000028 019419 000029 021899 000030 017860 000031 003330 000032 001290 000033 000825 000034 009369 000035 021962 000036 006922 000037 001855 000038 001172 000039 001024 000040 001150 000041 001705 000042 001440 000043 000933 000044 000763 000045 000538 000046 000431 000047 000213 000048 000141 000049 000100 000050 000101 000051 000131 000052 000063 000053 000060 000054 000069 000055 000069 000056 000115 000057 000050 000058 000047 000059 000055 000060 000078 000061 000089 000062 000035 000063 000019 000064 000037 000065 000041 000066 000070 000067 000010 000068 000010 000069 000016 000070 000039 000071 000053 000072 000008 000073 000003 000074 000018 000075 000025 000076 000062 000077 000003 000078 000006 000079 000013 000080 000036 000081 000044 000082 000003 000083 000001 000084 000010 000085 000023 000086 000054 000087 000004 000088 000003 000089 000010 000090 000022 000091 000052 000092 000003 000093 000000 000094 000010 000095 000023 000096 000048 000097 000003 000098 000000 000099 000008 000100 000022 000101 000045 000102 000004 000103 000000 000104 000006 000105 000022 000106 000045 000107 000004 000108 000002 000109 000008 000110 000022 000111 000047 000112 000003 000113 000001 000114 000009 000115 000031 000116 000035 000117 000003 000118 000000 000119 000007 000120 000025 000121 000044 000122 000000 000123 000000 000124 000007 000125 000025 000126 000044 000127 000005 000128 000001 000129 000008 000130 000028 000131 000045 000132 000001 000133 000000 000134 000002 000135 000001 000136 000009 000137 000000 000138 000000 000139 000000 000140 000000 000141 000002 000142 000000 000143 000000 000144 000000 000145 000000 000146 000001 000147 000000 000148 000000 000149 000000 000150 000000 000151 000000 000152 000001 000153 000001 000154 000000 000155 000000 000156 000000 000157 000000 000158 000000 000159 000000 000160 000000 000161 000000 000162 000000 000163 000001 000164 000001 000165 000000 000166 000000 000167 000000 000168 000000 000169 000000 000170 000000 000171 000001 000172 000000 000173 000000 000174 000000 000175 000000 000176 000000 000177 000000 000178 000000 000179 000000 000180 000000 000181 000000 000182 000000 000183 000000 000184 000001 000185 000000 000186 000000 000187 000000 000188 000000 000189 000000 000190 000000 000191 000000 000192 000000 000193 000000 000194 000000 000195 000000 000196 000000 000197 000000 000198 000000 000199 000000 000200 000000 000201 000000 000202 000000 000203 000000 000204 000000 000205 000001 000206 000000 000207 000000 000208 000000 000209 000000 000210 000000 000211 000000 000212 000000 000213 000000 000214 000000 000215 000000 000216 000000 000217 000000 000218 000000 000219 000000 000220 000000 000221 000000 000222 000000 000223 000000 000224 000000 000225 000000 000226 000000 000227 000000 000228 000000 000229 000000 000230 000000 000231 000000 000232 000000 000233 000000 000234 000000 000235 000000 000236 000000 000237 000000 000238 000000 000239 000000 000240 000000 000241 000000 000242 000000 000243 000000 000244 000000 000245 000000 000246 000000 000247 000000 000248 000000 000249 000000 000250 000000 000251 000000 000252 000000 000253 000000 000254 000000 000255 000000 000256 000000 000257 000000 000258 000000 000259 000000 000260 000000 000261 000000 000262 000001 000263 000000 000264 000000 000265 000000 000266 000000 000267 000000 000268 000000 000269 000000 000270 000000 000271 000000 000272 000000 000273 000000 000274 000000 000275 000000 000276 000000 000277 000000 000278 000000 000279 000000 000280 000000 000281 000000 000282 000000 000283 000000 000284 000000 000285 000000 000286 000000 000287 000000 000288 000000 000289 000000 000290 000000 000291 000000 000292 000000 000293 000000 000294 000000 000295 000000 000296 000000 000297 000000 000298 000000 000299 000000 000300 000000 000301 000000 000302 000000 000303 000000 000304 000000 000305 000000 000306 000000 000307 000000 000308 000000 000309 000000 000310 000000 000311 000000 000312 000000 000313 000000 000314 000000 000315 000000 000316 000000 000317 000000 000318 000000 000319 000000 000320 000000 000321 000000 000322 000000 000323 000000 000324 000000 000325 000000 000326 000000 000327 000000 000328 000000 000329 000000 000330 000000 000331 000000 000332 000000 000333 000000 000334 000000 000335 000000 000336 000000 000337 000000 000338 000000 000339 000000 000340 000000 000341 000000 000342 000000 000343 000000 000344 000000 000345 000000 000346 000000 000347 000000 000348 000000 000349 000000 000350 000000 000351 000000 000352 000000 000353 000000 000354 000000 000355 000000 000356 000000 000357 000000 000358 000000 000359 000000 000360 000000 000361 000000 000362 000000 000363 000000 000364 000000 000365 000000 000366 000000 000367 000000 000368 000000 000369 000000 000370 000000 000371 000000 000372 000000 000373 000000 000374 000000 000375 000000 000376 000000 000377 000000 000378 000000 000379 000000 000380 000000 000381 000000 000382 000000 000383 000000 000384 000000 000385 000000 000386 000000 000387 000000 000388 000000 000389 000000 000390 000000 000391 000000 000392 000000 000393 000000 000394 000000 000395 000000 000396 000000 000397 000000 000398 000000 000399 000000 # Total: 010000000 # Min Latencies: 00013 # Avg Latencies: 00017 # Max Latencies: 00262 # Histogram Overflows: 00000 # Histogram Overflow at cycle number: # Thread 0:
<<attachment: hist_10m_cpu.jpg>>