ARM v7 State of the Body
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 90 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/40261 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 201378 / 90
2
5
8
10
12
13
14
15
17
19
21
24
25
28
29
31
32
34
36
39
40
43
44
46
50
51
52
54
55
57
58
62
65
66
67
78
79
87
88
00:00
State of matterMIDITime evolutionArithmetic progressionComputer architectureDifferent (Kate Ryan album)WhiteboardMicrocontrollerMereologyScheduling (computing)BootingSocial classNatural numberArmMoment (mathematics)Core dumpBefehlsprozessorService (economics)NumberKernel (computing)VirtualizationWordReal numberWorkloadPoint cloudBitSimilarity (geometry)Computing platformExtension (kinesiology)Game theoryPower (physics)Compilation albumSoftware testingCodeStress (mechanics)Key (cryptography)CausalityMedical imagingSingle-precision floating-point formatDistribution (mathematics)Projective plane1 (number)Gene clusterString (computer science)EvoluteSystem on a chipCodePerspective (visual)Instance (computer science)CoprocessorMultiplicationLecture/ConferenceSource code
07:39
ArmMIDINatural numberEnterprise architectureFocus (optics)Projective planeSpacetimeMoment (mathematics)String (computer science)CodeArmBootingComputer clusterSlide ruleServer (computing)VideoconferencingElectronic mailing listPhysical systemFirmwareEmailExtension (kinesiology)FingerprintProcess (computing)Software bugArithmetic progressionPerspective (visual)Social classHash functionSoftware developerEvent horizonComputer architectureDistribution (mathematics)Library (computing)CompilerHacker (term)Hydraulic jumpCodeSoftware maintenanceOpen sourceKey (cryptography)CoprocessorConnected spaceSource codeLecture/Conference
15:05
CodeLevel (video gaming)PlanningInstallation artGoodness of fitParity (mathematics)ArmPerspective (visual)BootingConnectivity (graph theory)MereologyFingerprintCodeProcess (computing)Source codeLecture/ConferenceMeeting/Interview
20:35
Series (mathematics)Multiplication signInternet forumPoint (geometry)Device driverTrailHypermediaCartesian coordinate systemOpen sourceMoment (mathematics)Medical imagingSystem on a chipProjective planeAuthorizationMemory managementInformation securityArmGoodness of fitVirtual machineINTEGRALKernel (computing)Enterprise architectureComputer fileQuicksortBitDigital rights managementOptical disc driveTime zoneVideoconferencingLecture/Conference
26:04
ArmImplementationComputer hardwareInformation securityTime zoneBitInternet forumDifferent (Kate Ryan album)VideoconferencingComputer architectureVector spaceMulti-core processorCore dumpGeometryBootingField programmable gate arrayProduct (business)Arithmetic meanPhysical systemPower (physics)Server (computing)Cartesian coordinate systemMultiplication signLine (geometry)MappingPerspective (visual)Structural loadView (database)WorkloadCodierung <Programmierung>Price indexFunctional (mathematics)Gauge theoryKey (cryptography)Source codeSemantics (computer science)Point (geometry)Normal (geometry)MereologyType theorySystem on a chipArmOnline helpService (economics)Kernel (computing)AuthenticationRight angleCASE <Informatik>Standard deviationQuicksortSpacetimeOpen setLecture/ConferenceMeeting/InterviewSource code
Transcript: English(auto-generated)
00:01
architecture, what's the status of it, what's happened in the last 12 months. I'm going to do a quick overview of the progress and then I'm going to open it up to the floor for a discussion on how projects, distributions, etc are
00:28
dealing with ARMv7, issues that are encountered, things that you feel other distros could benefit from, things that maybe ARM could benefit from. I'm not
00:44
saying we're perfect, we're close but not quite perfect. So you know it's all about getting dialogue going and working together. So the evolution has been
01:03
fairly rapid over the last 12 months, there's been quite a lot of work, some of it's not overtly visible but some of it's been more of co-cleanup etc. So first
01:27
one is kernel, what's happened with the kernel. Biggest item really is unified kernel. This allows a single Z image to boot five different platforms. It's still
01:49
work in progress, we're trying to get more partners on board. One of our biggest issues is the diversity of kernels required to boot the large
02:04
number of platforms that are available. It's not perfect but we're getting there. Another item that's being introduced, it's not quite upstream yet but
03:22
codes public under review is support for M class SoC, so the microcontrollers Arduino style devices. So that's slowly coming. Another improvement
03:42
thanks to the likes of the A7 and A15 class, the A class is virtualization. With A7 and A15 we introduced virtualization extensions to bring it on
04:02
par with other architectures and with that both major hypervisors can now run. There's a debate shall we say over which one's more advanced whether it be KVM or Zen. From our perspective we just want them to work so we're not
04:25
going to get involved in any discussions of that nature. But again things not quite 100% there. There's some issues around some of the tools trying to get them updated so it supports hypervisors correctly. OpenSUSE-ER
04:49
using KVM now on an A15 board as part of their build service so we know it does work in the real world. The A7 should work the same as A15. There's not
05:08
a huge number of A7 baseboards out at the minute so it's a little bit harder for real-world stress testing. Then power. Arm's always been known about low
05:23
power and we try and continue that. Big one is big little. So cluster of A15 cores with a cluster of A7 cores working in tandem. There's two schedulers
05:42
for big little. There's what's known as IKS in kernel switcher is being used at the moment. With that it's it's more of a CPU governor methodology so
06:04
it will if you have a low powered workload it will schedule it on the lower CPU so the A7. If you get more intensive usage game or whatever
06:20
LibreOffice maybe or something similar it'll bring in the A15 when power is needed and then drop that out onto the A7 again. The other switcher available is the MP switcher multi processor switcher. Code is public not quite upstream. Still needs a bit of a cleanup and that's more of a CPU
06:43
scheduler so that will schedule the workload as required and one of the key differences between IKS and MP. With IKS you can only use one of the CPU clusters at any one time so either the A7 or the A15. With the MP
07:03
scheduler you can actually use both. So first devices that are shipping later this year for instance the Exynos 5 Octa. I'm not a hundred percent sure in which schedule I've got a funny feeling that's gonna be the IKS
07:20
scheduler to start off with but with the MP scheduler you'll be able to utilize all eight cores as required and the schedule will just assign the workload as required to the CPU. Compilers always needed both LLVM and
07:43
GCC work. LLVM supports A class only at the moment. Work is ongoing. GCC supports all three classes A, R and M so that's the most widely used
08:03
compiler at the moment. The enhancements to GCC have been fairly varied and there was quite a big focus on A15 and A7 improving the pipeline there. A15 with those improvements sees performance uplift of upwards of five
08:29
percent so fairly significant. There's also neon support within GCC. Neon is
08:46
arms advanced SIMD processor extension. It helps with high performance, audio and video processing. That's all great but how can you
09:04
leverage it from a Linux perspective? Well Project NE10 was released by Arm an open source library that makes full use of neon. It's BSD3 and
09:20
Apache 2 licensed and it's available at projectne10.org. It's available now and it's codes hosted on github so usual pull requests are more than welcome. Next enhancement to Arm v7 is grub. We all use it or most people use
09:47
it nowadays and works begun not quite upstream yet but it's under code review and grub now supports both U-boot and UEFI so it you know just takes a
10:06
system firmware regardless of which one it is and will boot from there so moving from one architecture to another you get the tools that you used to. Again it's still work in progress but the foundations are there and it is
10:23
working now. Lunaro has been around for about two years just over two and a half years or so. It's a great melting pot of minds for those that are interested in the Arm space. The couple of key RFC channels and mailing
10:46
lists take note of. Hashlanar is the main development RC channel where almost all the developers loiter around, discuss things and Lunaro
11:01
Enterprise is RC channel that's focused around Arm Linux in the enterprise space so the traditional server market where improvements are ongoing to get things up and running. They also host a cross distro mailing list which
11:26
is at present very low traffic. I'd love to see the traffic pick up there for people to actually discuss anything to do with Arm on their distro whether you're Debian, Otsuza, Fedora, Arch, whoever and discuss issues that you're
11:49
encountering any bugs that could be prevalent to other distros they may have found a fix that you're not aware of and it could be a quicker and easier way than trawling through bugzilla or any other bug tracker trying to dig it
12:06
out. They also host three conferences Lunaro Connect. They normally have one in Europe one in Asia and one in the States and almost all the developers
12:23
from members of Lunaro meet up there discuss, plan, hack and generally try and improve the way things are going now. There are, it is a charged for event but it is possible to potentially get some sponsorship if you're running short
12:48
on cash to attend. There's no guarantees but you know we they'll try to help you along how they can. So that's my slide we're done and it's
13:06
now more of a discussion just curious as to who we've got from which distributions I can see some people that I recognize so anybody from sorry
13:21
question okay so so those that didn't hear the question jump in the corner
13:53
there is upstream maintainer for grub and he's asking if the code could be committed upstream. My understanding is the code has gone through review
14:06
internally to make sure everyone is happy that it works and how it works. My understanding is that it is being submitted upstream. I know the gentleman that worked on that is actually here so I shall grab him by
14:25
the ear and make sure that he does that as soon as possible. Okay yeah no
14:56
I appreciate that and it like I say arm has due to the nature of our business
15:05
fairly strict regimen that needs to be followed for code submissions not just from a legal perspective but also to make sure that our code is sane and stable to be submitted upstream. So I know it's gone through at least the
15:24
first two stages so the first stage is to to get the code into your hands now for your approval so I'll make sure that gets done. Yeah no problem I'll
16:25
like I said I'll make sure the discussions happen Monday at the very latest if not sooner maybe I can introduce you in person and you can go through exact details this weekend but yeah I'll I'll make sure that that
16:45
happens because it's in my interest or shall I say it's in our interest as well as yours to make sure that that code is upstream and merged so everyone can benefit. One of the questions side was does anybody is there anybody here
17:01
from Arch Linux? Anybody from Fedora or you all at John Masters talk? Debian? Good good old Debian. And Omtsuza? Yeah. Gentoo? Let me see. Ubuntu or you
17:38
all going under the Debian banner? Great. I mean basically it's has there
17:44
been any major issues within your distros when supporting ARM on v7 that you encountered so yeah I mean for those that didn't hear the original question
19:54
the question is is there any plans or what are the plans to unify installs
20:01
from a OS perspective so rather than just you boot how can you get the installer to work as it does now on x86 where you can choose components basically you want to have parity on ARM as you do with x86 which
20:21
ultimately is our goal. Part of the issue is needing to get the silicon vendors to agree as well on that process. ARM can make recommendations and
20:42
requests but that's not to say that a silicon vendor does their own thing because they know better. I can't make any odd promises but I'll make
21:01
sure that we we try and get that track going it might be a good attack for Linaro to take to try and as they have many of the silicon vendors that are working on not just consumer devices but also enterprise devices it may be an easier forum for their you know for them to actually get that
21:24
sort of thing to work. I'm not entirely sure if they're already working on it with the grub work that's going on but I'll certainly try and get something out that straw man's the ideal track to take but it is a
21:47
very valid point because at the moment if you want to install on an ARM device it's effectively just DD your image you don't get that granularity that you used to on an x86 machine which is an ideal say the least but very valid
22:19
question was what can I say about accelerated graphics drivers and if
22:26
they'll be open no comment but it's graphics drivers on Linux are always a question they're much better now on x86 than they used to be they're not
22:47
perfect but they are ahead at the moment of Armin so much as you can get some open source accelerate graphic drivers there are discussions on how
23:03
best to go about it it's not very easy because there's a whole heap of IP involved there there's the Lima project that's working on trying to to create an open source graphics driver for the Mali 400 series but officially I
23:29
genuinely can't make any comment is it's something that I'm not really able to for legal reasons in all honesty it's something that I'm working to try and
23:45
rectify but that's long-term goal you know five ten year time go yeah so
24:08
getting silicon vendors to to push for that may be the right tack to go around again it's not something that I can say authoritatively on but it's a
24:27
well-acknowledged issue and shortcoming and it's something that's going to take quite a bit of time to rectify any other questions from anybody nobody's got
24:53
any issues with arm we are wonderful working perfectly so question is how do
25:12
I see trust zone integrate integration and mainline kernel for those that aren't where trust zone is low-level secure layer that run on
25:26
cortex a series SOC's it's used predominantly by financial institutions banks etcetera for authorizations it's also now being used for media
25:45
applications so I say DRM and cation for playing about video files etc I'm not entirely sure how trust zone is being looked at from general
26:10
Linux perspective and how it can be integrated into mainline there are discussions on how trust zone can be utilized within the general Linux space
26:24
on server side for authentication perspectives so SH key type vacation it's still out there do you have any opinions on how you kind of
28:19
touched on one of the biggest issues there the SOC disparity in working
28:28
along the same way the same goal again that's something that would need to be brought up in a forum where SOC's can actually agree it may start
28:45
to improve a bit now that trust onyx been created which is going to be dealing a lot with secure secure zone workloads etc so I can take that item
29:08
back and see what the idea is and try and make mention of it and I can
29:25
really say what I think would be useful would be some sort of standard or guidelines from these functions we expect to be offered by the secure
29:44
layer and this is the API you have to use to actually use them and maybe you could I guess there might be also on the security side services which are very common and have almost the same semantics across various implementations but I of course again not exactly standardized yeah I think
30:04
part of the issue may be the fact that because it's interfacing with secure zone there is potentially the fear that well if we have this public API then that means that we're opening attack vectors in secure zone that
30:24
shouldn't be the case I mean if your secure implementation is correct I shouldn't be a problem in publishing the API right shouldn't but I'm I'm just playing devil's advocate here and in so much as you know that the guys may go we don't like other people being able to sneak around or whatever even
30:43
interfacing it's called skew zone for a reason such like I all what I can promise is that I will go back to both the kernel teams and and secure zone teams and see what their views are and see if we can get something moving
31:06
forward okay thank you any other questions are we doing for time so got a bit of time sorry sorry I'll repeat the
31:30
question sorry I can just repeat the question now that you got my friend the
31:54
FPGA oh FPGA vendors so what FPGA products may be coming out I I've no
32:04
comment on that in so much as arm don't actually manufacture anything so you would need to go yeah you know we we license the the architecture design and then vendors like Samsung Qualcomm video etc they then take
32:24
that design and build up on it and build products from that so you you would really need to speak to the hardware vendors to try and find out what their product roadmaps are I mean personally I find out what
32:44
products are shipping almost the same time as most of you guys will find out from whether it be the virgin gadget whatever you know usual online sources so it's it's not something that I can really say it is really down to
33:04
hardware vendors on what they plan on doing so that you know that there are v7 is gonna be around for a while and there are new products coming out based on the architecture so I mean the next big product is going to be big
33:24
little so Samsung's Exodus 5 octa is the first announced product there are going to be more I'm assured so big little is different to in videos implementation where they have quad core plus one so Tegra 3 you've got a much
33:50
lower powered help core that's used at boot up once systems up and running it then hands off to the the quad core for running applications etc so that's
34:07
the next big one it works slightly different but basically the boot doesn't
34:24
actually happen on the low power core the boot happens on the on a small arm seven we also use for co-processing stuff for video decoding and then that one boots the normal cluster and then we switch and then depending on the load we switch back to the low power core now it's it's big little
34:41
ask but not quite the major difference between what take it out doesn't what big little does is that it's not cash coherence so we can't and also we can't run all course at the same time like you can in big little nuts mix that's actually the major difference and it's also not symmetric yeah and it
35:01
not simple not symmetric thing is something which you can of course also doing big little doesn't have to be symmetric it's just a first implementation apparently will be symmetric yeah but there is no requirement for you to yeah there's no requirement for you to be symmetric no quite correct