 So welcome back. I hope you enjoyed your lunch and I have the honor of Guiding through you through your food coma, which is upcoming So let me just get you a few details and we're already with our tea. What's the state of the union? So currently we are looking into Linux 4.6 or tea and 4.8 or tea Actually, that's going to change because we are Going to soon drop 4.8 and go to 4.9 Because 4.9. That's what's going to be the next long-term stable We don't So that's that that means that we just carry on 4.8 for a while Until 4.9 goes into something usable state Which is usually around or C4 or C5 so that's four to five weeks out now and Then we just drop 4.8 support and Just tell people don't use it Yeah Yeah, I've come to that in a minute in a second So 4.6 It's considered stable We have no serious outstanding issues, but it's end of life because we we just Support the versions up to the point where the stable maintainer stopped working on it So food at 4 is I think the most recent LTS supported kernel which still is Updated by us and So 4.9 will be the next one Unless something turns up in the merge window or during the stabilization phase that Brack decides not to go for it If it's falling apart in bits and pieces he might go for for the 10 or 4.8 We don't know but it's as things look like Shouldn't be that hard So 4.8 we have the first releases published. That's nothing serious And as I said, we will abandon it for in favor of 4.9 Let's a little bit talk about our upstream activities so In the lowest nine months we have merged almost 300 patches from that work Into the mainline we fixed a drill and roughly 40 latent bucks Interesting stuff which falls apart if you actually make the CPU hot black stuff be testable which we hadn't had for 16 17 years or whatever when the CPU hot black stored it So it was basically untestable But the box already and they just or not discovered because The whole most of the time CPU hot black is used go up go down be done with it That that whole combination works pretty well, but if you have something on the halfway up halfway down Failing and then you have to revert the whole thing to the previous state That's where things really fell apart and those error cases are not handled very well There were in other interesting things we we discovered like Ordering by chance So that means the notifiers or Chest in the right order because the link time order of the init calls is By chance in the right order So we tripped over that when we just moved one of the Notifiers over to the state machine and then the ordering reverted and things died Horribly so now with the explicit state machine we we have a documented ordering and so things Should be more stable So let's look at what impact that has on RT so going back to the beginning of the year so that's food at 4 or tea with 350 patches and You see the net Number of files changed and the insertions and deletions so What we achieved by now? It's not much we touching 34 files less. That's roughly 10% We have a slight increase in line in the number of lines we add and the bulk of that is in drivers so that's actually and not surprising because If you look at the speed drivers flood into the kernel So there's no not a big surprise that you have to do some fix up left and right because drivers or most most of them are just crap They kind of work, but when they expose them to a little bit more sophisticated testing then They just fall apart Some of that stuff is actually Just working because lots of lots of these things are Protected by other means on in mainline, but not guaranteed The chance that it triggered a problem in mainland is relatively small But more tea makes just the windows more open and so you get the damage We're fixing that stuff upstream with some of the things or just not fixable fast So we have to carry work arounds in in or tea around Which is not fun, but yeah so So you might ask what you send 300 patches upstream and With you didn't cut the patch size in half. Yeah, why? Because most of you are mostly doing right now is preparatory work So we are trying to fix problems. We've seen for years and Try to address them in the right way. So and that's mostly cleaning up upstream code rewriting upstream code Cpo hot block. We got the time of real rewrite merged Which was another? Problem space in our tea that we had to turn off the full the no-hurt stuff and the full no-hurt support Because they hope we were not able to To handle the type or time a wheel related issues in that context on our tea So that's fixed by now We're still continuing a lot of preparatory work And I think so that's my expectation that by end of next year Now we will finally start to To start the end game which means By end of 2018 we might get the switch the config switch into the kernel bit There's so much unknown territory ahead, so I can't predict that very well My crystal ball is not working proper at the moment So that's roughly would be Can't tell Questions no questions That's good. We all have coffee break. No so Nothing I can tell you I'm surprised Forever So the question was whether there will be in the very end leftovers of the real-time patch which will just stay out of the kernel forever So There's Some stuff which might fall into the category, but we try to avoid that so we were discussing yesterday about one of the more debugging or tracing debugging oriented features and so if we do it right and if people think hard enough about it, we can actually May argue it that you can it's beneficial for non real-time use cases as well so it's just Some more engineering work to come up with generic use cases for that and not focused in the implementation Totally on the real-time needs That's what we do a lot of times. I mean that was Basically, it was the way how I got the high-resolution timers into the kernel Millions when did you have the no hurts idle stuff for because the power Management people were complaining about the tick-ticking away for nothing and But that needed a lot of other changes and which we did and then I told him Okay, you get a no hurts there for free But you have to take HR timers because the word stuff depends on HR timers, which was not true, but Or only Yeah, it was kind of true but he he accepted that and He said the real-time people are pretty good in creating those nice Trojan horses where he has this warm and fuzzy feeling that He gets really something what he wants and what he likes to see in the mainline kernel and On the way there, we just get our out of stuff. He doesn't care about in so now I'm not expecting that there's too much stuff going to be out of tree What we might end up, but I think it's then going more into into a regular development Model Like any other subsystem that we Then at the very end we have a lot of functionality which is basically now turned off when you're enabled or tea Because we just do not have the capacity to fix all that So but once it's in so that might be some development works still going on or it's expected to happen When people come up and say okay, we want to have this feature re-enabled when it's running or tea And this might still be an extra for evaluation and testing purposes, but then it's going to To be fed through the proper subsystems and We don't So we're expecting it to normalize into normal cloud kernel development style Which we can't do right now That's that answer your question Okay, more questions Go ahead ask questions. Otherwise I start asking questions that Could be embarrassing. I don't tell for well for whom but you can guess that Yeah, I know I Actually said I will take that Yeah, there's another question so he Is something that is nice to hear about our tea has a huge user base But it's still the same the same old thing we use it and it works works for us And most people didn't have issues with it so We don't see a massive Uptake in people actually flea contributing. No We get the occasional bug reports and the occasional patch here it explodes in that driver. Here's the fix or You got that wrong, but no, it's not Not really something where we see a lot of uptake I Didn't expect it to be honest. I mean industry just Uses it. Yes, and I know that the user space is steadily growing Not necessarily because RT so great it's also Due to the fact that other operating system or even worse Or not longer existing or not supporting enough for fear or whatever Yeah, that's so it's and of course another reason is that Companies want to want to consolidate on their operating space a system space and if they use Linux for a lot of non real-time stuff then using Linux for the real-time stuff as well Makes a lot of sense from a maintenance point of view and then Tooling and whatever so Yeah, but no, it's great. It's the best real-time operating system out there So more questions There must be more than one person in the room who has questions Michael you're hiding I Know you have always have questions I mean Yes, and no So I Said that earlier in the earlier talks that certainly When it comes to the end game as long as we are doing chest preparatory work and cleaning up the tree Nobody's going to object. They're all happy that some Massacist is going and rewrite hot block and fix up the timer wheel after 20 years It's not being it hasn't been changed in 20 years neither has hot block in 17 years So and you really have to be some kind of And There's a character thing you need to do that as you it hurts Yes, well once we go further down the road where the real Intrusive changes stored then I might get that question asked And Linus Said it to me a couple of times. He wants to see a strong user base supporting it so it's not not so much the He's not so much concerned about the 50 people working on it I mean he he needs to get the feeling that there are enough users to sustain it and there's enough industry interest to Actually keep the people around who can sustain it in terms of Working on it Yeah, I mean Ideally he sees oh, there's 20 people from random companies working on it, but he's He's good with Okay, there's 20 companies Supporting the five people who actually understand what they are doing So it works both ways Yeah, well, is that the case then this is the industry interest more many small companies than large companies I mean the support the interest in the interest in using it's all over the place It's from big corporate to the real small ones, so that's totally I Can't put numbers on that but from what I see and what I know and what I hear it's all over the place So there's no no preference on on something But I mean of course at the moment or more the big the big parties are Investing in the into that effort Which is not a surprise Okay, so I guess my time slot Is still going so more questions But yeah, okay, so you can talk slower if you stalk early You promise Well, I mean they are talking about it so of course because they have interest to support all those interesting use cases And they are definitely very interesting use cases coming up in the near future One of the biggest one is going to be autonomous driving. I mean, I think it's horrible But that's a that's a different different issue So, of course, they are trying to get into those markets, but they don't want to go and change their designs radically so some stuff we are seeing which will help what yarn and and Rick mentioned is the cash petitioning stuff Intel is doing that's definitely a step into the right direction But at the same time They are still increasing the inherent Nondeterministic behavior of hardware just because that's the only way how they can do performance improvements without wasting power and so I expect that this stuff is going To dominate our problem space for quite the next years there might be things where Specialized silicon vendors like the FPGA folks or whoever Have a little or a little bit more interested in in Having more deterministic behavior from the hardware side, but Even there They are bound to deliver the performance and the performance is going to involve caching parallel pipelines and memory Orbitus and all that kind of stuff. So Yeah, it's Yeah, yeah, I mean, that's that's what I am I think it's going to happen in the long run that You the the heart of the your real-time requirements get the more you walk go into the space of Offloading the real tight stuff into an FPGA or into a Tiny little microcontroller and then relax the requirements on the on the main CPU I mean we see that that kind of tendency in other places as well Because they don't know what to do with the silicon right now So they start to do accelerators specialized accelerators, and if you look at it If you just just pick a random example motion control motor control current control loops So it's something you can easily do either in a microcontroller or in there in an FPGA but that Get says that the current control loop runs with typically hundred kilohertz or 125 So but the outer control loop which feeds into the current control loop runs at kilohertz or two kilohertz, so you're really Taking the pressure away from the from the main CPU and I think that's where Stuff is going to head because of the nature that the Generic purpose CPUs are going to be lasted to minister go with time So just people have to understand that and not say oh well, but we could We were able to do all that stuff on the good old 386 with the parallel port and we're perfectly fine. Yes Good luck finding a 386 with a parallel port Yeah, yeah, I mean today's microcontrollers or as powerful as the 386 back then and so if it then they say Oh, but we need this extra piece of hardware. Yes. I mean you have to die of death You can die because your control loops fuller port or You can die of a heart attack because you have to spend the extra 5 cent on the PCB And a funny enough, it's I mean I have this discussion on a regular base Then you're talking to those people and say okay. What kind? Yeah, there's a trade-off between making it work somehow on Whatever random PC hardware and Actually spending the extra dollar Because if you're saving that extra dollar you have to clearly look at what quantities are you talking about? so if your total Quantities per year or ten thousand so and your shipment duration is five years. So you spare is Spare fifty thousand bucks So now guess how much engineering time you get for fifty thousand bucks Definitely not enough to solve the problem So it might be way cheaper to actually spend the extra dollar on this particular controller and Reduce the engineering complexity So that's I think we're stuff is heading I don't know what's your experience I mean you're you're in that Extra extra tight latency domain the extra mile So you basically tell them put it into the FPGA and be done with it Offloading it into hold there. Yeah, that's what I expect to happen But it don't see that the whole the whole manufacturers are going to do it the other way around That's not going to happen Yeah, where's in the other Mike? Thank you. I was wondering is it possible Academic discussion somehow in a real-time domain would it possible in the current to have a scheduler We're actually build some statistical statistics and be able to hit next Time and reduces the later for example, you have a loop you keep checking for to every 200 kilo every two kilo For example, this is a loop so and you have base time was that accurate also We possible have somehow the system to accurate statistics and say, okay I'm using this I have this kind of behavior I can do the maintenance a little bit at this time all that time and make sure that I have available time for that task Around with this jitter. I mean, that's what's cat. That's cat Sketch that line is for you have a schedule over it can act Explicitly say I'm running at this time for that budget and the schedule will move to the rest of the crap out of the way Because making this heuristics is going to be interesting. How many tasks are you going to monitor to do that? one Yeah, I don't know. I haven't thought but this is an idea. Yeah, I know I did this came up before So the question is how many tasks are you're going to monitor one? It might work for one But when you go and start to behavioral monitoring on two or more or five and then try to fit them all It's going to be fun. It's not going to work So explicit reservation based scheduling. What is cat that line does is the answer to that question? Make sure that you get the free room there Once the problems are solved What details? Okay, one question, so I ask a question who is actually willing to help us with that stuff Or has beer cycles Yeah, no seriously we can we can we need help So a lot of the things you don't have To have the deep knowledge the deep inside knowledge of our tea in the first place some of the things is helping us to do the documentation which is As always in open source projects Not as good as it could be We're not as good Reaches from oh, it's not existing at all to outdated to oh, yes, it's good That's something we really can Want to want to seek help actively we have the task to Move pages from the old or TV key on the criminal work website to the new one and the Linux Foundation project website We have it restructured and we are trying to make it really Useful instead of a dump place of random information, which is some of which is outdated or false or whatever The other thing where we really need people to help and is testing So because we just have not the variety of knighted a variety of hardware You have as a whole Nor do we have the variety of use cases So we can't just have our set of defined Test cases or official test cases and say okay. It doesn't explode for us. So it must be perfect Which is the approach Every project of this size is taking because there's no way you can Exercise all the combinations the Linux kernel has So it's up to the users to actually Go there and and stress test that out with their particular piece of hardware with their particular Drivers and their application. That's what we need in the first place If there's people who have spear cycles and want to help on the actual product product coding, please contact us So we can coordinate and avoid either embarrassment by I'm Reviewing the stuff you're sending me from my parts that and I ask stupid questions and you can answer them or Just avoiding parallel work and Wasting cyclists for nothing So That means I'm handing over to the next maintainer of these