Linux SMP *IS* portable across architectures, and *MOST* of the problems *ARE* gone. The Linux kernel on whole is much better code than before PREEMPT was merged.
These days problems are generally caused by ARCH and SoC specific drivers (like HDMI, SD/eMMC, USB, etc), where the folks writing them might not have the experience of the primary kernel maintainers. Also, the drivers don't get near the "wringing out" of more common hardware, so it more common to find "lurking" bugs when enabling PREEMPT. In an ecosystem like ARM, which has mostly been single-core (until recently) and had *LOTS* of different folks of varying ability writing drivers, it's going to take a while before _everything_ is truly SMP safe and you can enable PREEMPT with no more concern than you would on an x86. On 9/18/2014 2:03 PM, neo wrote: > Thanks Charles for the reply. > I was trying to understand the complications of using CONFIG_PREEMPT. > But one final question, shouldn't SMP be portable across platforms be it > x86 or ARM ? If so the problems should be gone right ? > > On Thursday, September 18, 2014 11:30:43 PM UTC+5:30, Charles Steinkuehler > wrote: >> >> I realize the BBB is a single-core SoC. >> >> My point is enabling PREEMPT code in the kernel *REQUIRES* all kernel >> code to be SMP safe (even when running on a single core!), which is why >> this option causes stability issues. >> >> As for the multi-core TI chips with similar drivers, it is not uncommon >> for drivers to (mostly) work in a multi-core system without *REALLY* >> being SMP safe. See the history of integrating the PREEMPT patch set to >> the mainline kernel for a laundry list of obscure, hard-to-trace kernel >> bugs that were uncovered in the process, even though Linux had been >> running on multi-core x86 systems for quite some time. >> >> On 9/18/2014 12:34 PM, neo star wrote: >>> Hi Charles the BBB is a single core Soc >>> >>> On Thu, Sep 18, 2014 at 10:47 PM, Charles Steinkuehler >>> <cha...@steinkuehler.net <javascript:>> wrote: >>>> On 9/18/2014 11:40 AM, Robert Nelson wrote: >>>>> >>>>> sudo apt-get update >>>>> sudo apt-get install linux-image-3.14.19-ti-r22 >>>>> >>>>> has: CONFIG_PREEMPT_VOLUNTARY >>>>> >>>>> In the past, preempt broke a lot of things. So i'm always hesitant to >>>>> enable it by default across the board. >>>> >>>> PREEMPT has a tendency to tickle obscure bugs in non-SMP safe kernel >>>> code. Many nasty bugs were uncovered as the PREEMPT code got merged >>>> into the kernel. Now the core kernel is very SMP safe, but there are >>>> still a lot of drivers (ie: "vendor-supplied code for single-core >> SoCs") >>>> that are not SMP clean. >>>> >>>> As multi-core ARM systems become more common, the situation should >>>> improve (as it did with the x86 over time). >>>> >>>> -- >>>> Charles Steinkuehler >>>> cha...@steinkuehler.net <javascript:> >>>> >>>> -- >>>> For more options, visit http://beagleboard.org/discuss >>>> --- >>>> You received this message because you are subscribed to a topic in the >> Google Groups "BeagleBoard" group. >>>> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/beagleboard/4eDQvQOkUkc/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >> beagleboard...@googlegroups.com <javascript:>. >>>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> Charles Steinkuehler >> cha...@steinkuehler.net <javascript:> >> > -- Charles Steinkuehler char...@steinkuehler.net -- 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/d/optout.