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.


Am Mittwoch, 26. Februar 2014 13:21:58 UTC+1 schrieb Charles Steinkuehler:
>
> There's PREEMPT_RT, and there's PREEMPT.  *ALL* Linux kernels have 
> PREEMPT available now.  It sounds like you're just complaining that the 
> kernel was built with a different option than you want.  Simply rebuild 
> the kernel and set CONFIG_PREEMPT instead of CONFIG_PREEMPT_VOLUNTARY: 
>
>
> https://github.com/RobertCNelson/linux-dev/blob/am33x-v3.8/patches/defconfig#L467
>  
>
> Or if you're requesting a change to the default kernel configuration, 
> you're going about it in kind of a round-about way. 
>
> On 2/26/2014 3:11 AM, quik...@gmail.com <javascript:> wrote: 
> > Hi Charles, 
> > 
> > the PREEMPT_RT patches can now be applied to the BBB kernel. As John3909 
> > suggested there is a ready to use patch script available from OSADL. 
> > Compiling a BBB kernel 3.12.10-rt15 is quick and easy. But 
> unfortunately, 
> > it requires the use of kernel 3.12.x which causes problems with the GPMC 
> as 
> > documented at 
> > 
> https://groups.google.com/forum/#!searchin/beagleboard/gpmc/beagleboard/KOHLJI1NUTA/8wrsV_ZodDUJ.
>  
>
> > 
> > In the default BBB kernel there is no "built-in" PREEMPT option. Without 
> > that Linux cannot be used for any time critical application and 
> latencies a 
> > very bad. Contrary to that the Raspberry PI's default kernel had PREEMPT 
> > activated from the very beginning and does provide some form of 
> determinism 
> > out of the box. 
> > 
> > What we need is a default kernel that has at least support for the 
> simple 
> > PREEMPT option. Yes, there are custom drivers and they need to fit into 
> the 
> > concept. But that is working perfectly for the Raspberry PI which 
> > definitely uses custom firmware and drivers. The BBB seems to be far 
> behind 
> > that. 
> > 
> > 
> > 
> > Am Montag, 24. Februar 2014 18:30:51 UTC+1 schrieb Charles Steinkuehler: 
> >> 
> >> Be careful of applying x86 experience to the ARM.  PREEMPT_RT requires 
> >> well written driver code that is "high-performance SMP friendly" in 
> >> order to run well.  PREEMPT_RT on the x86 works so well because a *LOT* 
> >> of smart people have been working very hard to get maximum performance 
> >> out of the multi-core CPUs that ship in virtually every new system 
> these 
> >> days. 
> >> 
> >> ARM systems, on the other hand, are riddled with vendor supplied device 
> >> drivers that hopefully work well and if you're lucky weren't written by 
> >> the summer intern.  The ARM situation _is_ getting better, but IMHO 
> >> PREEMPT_RT on the ARM is still hit-and-miss.  It will work quite well 
> in 
> >> some situations, and have horrible performance on similar but 
> >> not-quite-identical setups. 
> >> 
> >> That said, while Xenomai offers better bounded performance figures, 
> >> PREEMPT_RT is perfectly fine for a large class of problems and as you 
> >> mentioned you get access to the full suite of Linux services. 
> >> 
> >> Unless I missed it, you never said exactly _what_ you are trying to do, 
> >> you simply started off by complaining that the kernel wasn't configured 
> >> by default the way that you wanted it.  So go compile a kernel, and if 
> >> you're asking for advice, please provide specifics on exactly what you 
> >> are trying to do and any limitations on your solution space. 
> >> 
> >> Also, make sure you test any PREEMPT_ based kernel to determine your 
> >> worst-case performance.  When I was looking into this some time ago, 
> the 
> >> PREEMPT_RT patches wouldn't even apply to the BeagleBone kernel, and 
> >> using the built-in CONFIG_PREEMPT setting I was seeing latencies in the 
> >> hundreds of mS (yes that is tenths of seconds!).  I believe things have 
> >> gotten much better, but you'll need to test to know if your setup will 
> >> provide the performance you require. 
> >> 
> >> On 2/24/2014 10:47 AM, quik...@gmail.com <javascript:> wrote: 
> >>> Only PREEMPT_RT allows access to the full Linux functionality. Xenomai 
> >> uses 
> >>> a dual kernel concept which is very limited. All custom device drivers 
> >> need 
> >>> be design to fit into the Xenomai concept which makes things even 
> worse. 
> >>> The performance gain of Xenomai compared to that of PREEMPt_RT is 
> >>> negligible in most cases. 
> >>> 
> >>> 
> >>> Am Freitag, 21. Februar 2014 12:27:01 UTC+1 schrieb Giuseppe Iellamo: 
> >>>> 
> >>>> Or just try Xenomai... 
> >>>> 
> >>>> 
> https://github.com/cdsteinkuehler/linux-dev/tree/3.8.13-bone39-xenomai 
> >>>> 
> >>>> 
> >>>> Il giorno venerdì 21 febbraio 2014 11:03:24 UTC+1, David Goodenough 
> ha 
> >>>> scritto: 
> >>>>> 
> >>>>> On Friday 21 February 2014 00:20:39 quik...@gmail.com wrote: 
> >>>>>> I am trying to figure out how to create a kernel for the BBB that 
> >>>>> supports 
> >>>>>> PREEMPT_RT. It's kind of strange that the BBB's default kernel does 
> >> not 
> >>>>>> even have PREEMPT activated. Such a board doesn't fit to many 
> >> embedded 
> >>>>>> applications where we need at least some kind of determinism. It is 
> >>>>> even 
> >>>>>> worse, that nobody seems to care about this problem. Contrary to 
> >> that, 
> >>>>> the 
> >>>>>> Raspberry PI's standard kernel has PREEMPT activacted from the very 
> >>>>>> beginning. 
> >>>>>> 
> >>>>>> I have tested Robert Nelsons kernel 3.8.13-r9 
> >>>>>> (https://github.com/beagleboard/kernel/tree/3.8-rt). It does not 
> >> have 
> >>>>>> PREEMPT_RT activated by default. When doing so, it does not boot. 
> But 
> >>>>>> activating PREEMPT does work. However, development of this branch 
> has 
> >>>>>> stopped several months ago. The official source for RT Linux 
> (3.8.13) 
> >>>>> has 
> >>>>>> evolved since then. Meanwhile there's an rt17 patch set 
> >>>>>> (https://www.kernel.org/pub/linux/kernel/projects/rt/3.8/). Did 
> >>>>> anybody 
> >>>>>> give this a try? Does it work with the BBB? 
> >>>>> Surely the point of the Beaglebone, or rather its processor, is that 
> >> you 
> >>>>> do not need to put the time critical bits on the main processor, you 
> >> put 
> >>>>> them in the PRUSS processors. 
> >>>>> 
> >>>>> David 
> >>>>> 
> >>>> 
> >>> 
> >> 
> >> 
> >> -- 
> >> Charles Steinkuehler 
> >> cha...@steinkuehler.net <javascript:> 
> >> 
> > 
>
>
> -- 
> Charles Steinkuehler 
> cha...@steinkuehler.net <javascript:> 
>

-- 
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.

Reply via email to