The Linux kernel on dragon wings

Video thumbnail (Frame 0) Video thumbnail (Frame 1465) Video thumbnail (Frame 2367) Video thumbnail (Frame 3019) Video thumbnail (Frame 4170) Video thumbnail (Frame 6373) Video thumbnail (Frame 7878) Video thumbnail (Frame 11009) Video thumbnail (Frame 12344) Video thumbnail (Frame 18560) Video thumbnail (Frame 21001) Video thumbnail (Frame 22062)
Video in TIB AV-Portal: The Linux kernel on dragon wings

Formal Metadata

The Linux kernel on dragon wings
Compiling the Kernel with LLVM/clang
Title of Series
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.
Release Date

Content Metadata

Subject Area
Jan-Simon Möller will introduce the audience to the LLVMLinux project which goal is to compile the Linux kernel with the compiler tools provided by the LLVM project (clang). He will talk about the steps needed to compile the Kernel itself, the issues found during this endeavour and the status of upstreaming the patches to the Kernel and the LLVM project
Computer animation Projective plane Sound effect
Computer animation Code Mathematical analysis Virtual machine Energy level Convolution Social class Compiler
Computer animation Code Multiplication sign
Arm Projective plane Mathematical analysis Planning Student's t-test Limit (category theory) System call Convolution Vector potential Power (physics) Intermediate language Computer animation Term (mathematics) Mathematical optimization Position operator
Point (geometry) Metre Focus (optics) Patch (Unix) Projective plane Planning Device driver Set (mathematics) Mereology Food energy Element (mathematics) Compiler Arithmetic mean Computer animation Term (mathematics) Volumenvisualisierung Boundary value problem Computer architecture Social class
Point (geometry) Aliasing Code Variety (linguistics) Euler angles Length Patch (Unix) Multiplication sign View (database) Sheaf (mathematics) Device driver Mereology Stack (abstract data type) Element (mathematics) Bit rate Different (Kate Ryan album) Encryption Data structure Mathematical optimization Vulnerability (computing) Social class Module (mathematics) Standard deviation Information Assembly language Weight Planning Line (geometry) Convolution Compiler Connected space Befehlsprozessor Computer animation Mixed reality Phase transition Right angle
Point (geometry) Email Link (knot theory) Information Patch (Unix) Multiplication sign Real number Projective plane Electronic mailing list Control flow Set (mathematics) Convolution Goodness of fit Computer animation Network topology Website Summierbarkeit Window
Point (geometry) Group action State of matter Code Patch (Unix) Multiplication sign Moment (mathematics) Device driver Function (mathematics) Software maintenance Product (business) Exergie Googol Right angle Arrow of time Data structure Social class
the 1st on the rest of the way in which the the last year then some of
don't understand command is used it is absolutely integers and the dependent on and extend the use of reserve that is you know that that movements in the future and so on and so on and and that's called Dragon wings so all the the what's our topic here so who has heard about earlier ways and all the effect was heard about all who has used clan which is the compiler from yeah OK so our project is about compiling the
kernel with class and so
OK from the from all you all know it was really starting as low level virtual machine and I we want to use the compiler but also we want to use things like the the code analysis yeah check and we want to be able in the end as a goal to use a code refactoring so why
well compiling the code takes quite some time if we can be that of a even better at but still that's about
compiling for the leaker we still rely on on the gene will be there so and there are still 2 sides of the story compiled times are faster we have a
lot of potential in the plan and there is still a lot of work and a lot of things which can be do which can be done in terms of optimizations on for example 1 1 student at the last year of was trying to get the elevator Olivia my arm the intermediate representation of the kernel and then he wanted to to do some research or apply optimizations or whatever on the intermediate language here so I think that has a lot of potential yeah
and we also have a g sub project where 1 student from we made sure that the checker which is the static analyzer is able to run against the limits column here they are a few glitches on on the check side that has been solved and we can now get some a static analysis runs on the car and it works you can see it on our with got it's available just on the checkers subfolder I'm still there is quite some work to do well the trigger was 1st done with kind of users based in mind yeah so uh if you do a check run against the kernel you still see quite a few false positives or things that don't apply it in terms of the call but it's a really good tool because it shows you the power you know where the issue happens and you wouldn't believe how deep those paths are sometimes in the current year like 30 6 steps that's nothing you can find out with just a human review or in the inspecting the coat yeah if it if it the sense uh 36 steps
also plan is so element is used in a lot of other projects and um for example renders produces uses it it's used to and it's meaning was hot in the in the end or indicate whether there was some room or they for wanted to compile all enjoyed with clan well let's see what happens on it certainly has that went that in terms of enjoyed they can kind of focus on just 1 compiler well let's see and it's part of the gallium in 3 D N and B impide drivers and others and if you are interested in this talk tomorrow and maybe gallery and from from semester the he does the full rebuild of the union with you that uses this with a linear so what
about our in Linux project so we want to compile the coral for multiple architectures with the LEM plan energy into check Our and we want to fix issues which we which we find on the way that started out with kind of class I'm not supporting whatever nitty-gritty of features was used in the car on and on the other side there are a few things in the car which are kind of horrible and JCC doesn't complain here from those low fences just kind of the college uses the there always kind of developed of a for driving each other and so on and they were kind of topic pushing the boundaries so um now planning is usually is a kind of more of the and goes by the book yeah goes really easy really by the standard so that we find a few issues where there was the coach shouldn't actually work are still the GCC to its sentence and on so we had a few things to fix another via we have kind of a meter project yeah we call it the patches we kind of get them up and feed them into the upstream projects that work through our work out really well right now with that in 3 point 4 the latest stable release you need no patches to a linear still we need a few patches to the become yeah because well compiler facts need to be the set or the compiler needs to be reset so there are a few issues in the column as what else so FIL
LEN part all patches which are needed off-street yeah and going in 3 . 5 and then the dual trials is doing an evident that wound up here but we also get rid of what 1 masterpiece which is this code 16 support yeah that's for putting the x 86 CPU and so that was not present in planning where we have it so we can get the Buddha part of solved up to now we still use for just these parts due the now but we have that now on the and so on 1 the big thing the here which is In the
kernel that these um we still have to upstream a lot of cultures and the they have some small some of them are just enabling other compilers to work with the kernel from others we deal with a few of the larger problems want is for example what we call the ladies that don't mix it up with relaying relay is perfectly fine so arrival of some length of rate is perfectly fine but arrival information in the structure is kind of evil and kind of and supported it's actually even not part of the the standard and still we have such pieces of code flying around especially in crypto and in in in the Net Filter stack and regarding trip told the problem is that code gets now copied over in every phase of the kernel yeah like through 2 of the AES encryption in Wi-Fi now uses such pieces where we where you end up having a variety of arrival information in a structure or you kind of next the structure weights with over rivaling integrate into another structure boom and that happens a lot and that's a big problem right now we talk to the class is and basic no it's nothing we really ago it's something we want to support and it's it's of the the standard is actually view last year during an the climate conference and we had a line is in the room and so after looking at using it's the it's actually that so that it takes the quite some time to figure this out now and get the get the patches upstream you know that I just if you happen to work on some code there please make sure you don't use of of these the new coat the a difference in plan is on weak alias and section at the college uses that in what when we do the modules yeah driver modules we assign the module in it once we can make this connection we use a weak alias the problem is GCC makes just this side of the alias in here all the sections on the side yeah so all the other elements gets all the uh section and all the annotations from the from from the from the uh and uh simple willing to claim doesn't do that yeah so that the difference of right now it's it's no problem we just applied the the necessary attitudes at this point over here right now we also do not use the integrated assembler of plan it would be possible to compile and link with planet once yeah and kind of LTO which uh applied more optimizations a for the x 86 we still have a few things to sort out code 16 was 1 with that kind of sold to and we plan to enable the integrated assembler again and give it a new right for our we have a few issues with this and style used in the kernel versus what plan that so if
you want to try it out have lots of a tomorrow is another talk of in the yearly different being you can try it out so we have a website link follows and that we have from the G tree which hosts a set of Makefiles which allows you to pull everything good everything so you get over makes 86 64 kernel for the to place to we have the express this as so you would target uh we have also a few boards and if you enjoyed kernels kind of next 7 is supported so you could try that out on your PC all on a real target and it's kind of always the moving project because we have I have to upstream yeah so sometimes it did breaks the course well the monitoring of the kernel opened or too much window of Aluminium open here so be aware sometimes the patches do not apply but right now with no patches to mn just the kernel and that actually works most of the time 4 of what else do we have if you want your target you award supported feel free to post a patch on the mailing list um it's not that hot and it will yeah contact
here's the sum that site and the and the Linux Foundation . org we have also a mailing lists IRC channel Olivia minutes on all of PC and feel free to contact us all the information is also in the of picture over there no questions just to make just a minute the hello would to be you the token you mentioned point is that out of place I I can't
hear from the beginning of 2002 mentioned on his sector wanted to goes off the could decide to use energy and yeah so so that the idea here these kind of OK so for example Google when when the checking that Google happens they compile full production with CCC but at the panel with planning for the debug output and for they have that it instrumental like that for a kind of the most obvious to uphold the kind of the recurring arrows they can even find out through planned what's wrong and kind of proposed patch already yeah so that's kind of the what's possible we could kind of do this good gene whatever there for uh cooking they're tools with class and you have to find and sold off its of issues in the but there are some right now that's just ideas there's no specific work on that right now but from regarding the to do with the variable names used as you see in a limited edition of the supporters of the to do is to remove all of them from the Lindstrom and do you have courage attentions which in the mountains that's what I have just for a few things in mostly it's not that hard to move things out of the structure of yeah it's kind of just moving it out and accessing it just uh directly that that's not the point the problem is it at the moment it's used in a few critical bits and like now the maintaining of uh I'm not in favor of changing it the solution that it's probably some time some of and some will have time to cool reason that the problem is now that code gets copy and pasted in the sense that our our main problem right now we have a few patches of for a while and some wind upstream like this you is be get if S you state and we met the maintainer and it OK that's that's just 2 and so and in principle yes we would have to find and to remove all the places where we use fleas it will not be supported you so uses a driver using it because it was coming comfortable to use then it won't work and I need to to fix at 1 million that country look at that that that and then to the group