<a href="#" class="seekto" data-time="3090">51:30</a> `mlock`sounds interesting, but from my understanding, it only prevents pages from being swapped out. That's what I gathered from a quick look at the manpages. Could you explain what you meant or provide a source for further clarification?
@Maple-Circuit
Ай бұрын
@@James-uw4it Pinning this because you are right, mlock() is only to keep the memory from being swapped out of main memory and not to protect your addresses... My mistake! Thank you for calling it out!
@AGentooUser
Ай бұрын
Finally youtube is recommending me good channels. this is a hidden gem
@Maple-Circuit
Ай бұрын
@@AGentooUser thanks(;
@sozforex
Ай бұрын
Oh, another Gentoo user in the wild
@meem2Greene-ju3cs
Ай бұрын
A gentoo user!
@werthorne
Ай бұрын
gemtoo albeit
@FilthyPitDog
Ай бұрын
I too use Gentoo btw
@jothiprasath
Ай бұрын
in video tittle add "linux" keyword. example "Linux Kernel 6.10 | Locked & Optimized" for better seo
@falkster4045
Ай бұрын
I hate that the internwt works this way. You get only shown stuff by people who know how seo works, and not by people who know what they are talking about
@vappyreon1176
Ай бұрын
Honestly not even seo itd just be a bit more clear
@falkster4045
Ай бұрын
@@vappyreon1176 i agree on that, i was really tired and just wanted to rant lol
@Margen67
Ай бұрын
Locked In
@michalsvihla1403
16 күн бұрын
You'd think someone who knows what they are talking about would also know how seo works
@thegorn
Ай бұрын
RIP RiserFS, and RIP Han’s dead wife
@Maple-Circuit
Ай бұрын
Lol the your user image fits XD
@mueshen9861
Ай бұрын
cannot believe i am finally leveling up as geek and am watching linux kernel update video xD
@Maple-Circuit
Ай бұрын
LVL UP++
@chri-k
Ай бұрын
i don't even use linux and i still watched it
@atemoc
Ай бұрын
KZitem recommendations, finally being good for once! Awesome content.
@bloepje
Ай бұрын
Zero Copy means the cpu doesn't cp the data from memory to memory trashing the data cache of the cpu. Not trashing the cache has a performance benefit. It's very hard to do because usually you do a read() write() construction from user space. This is even a double trash, because it goes from memory to kernel cpu cache to user cpu cache then back to kernel cache, and then to the other device.
@stends113
Ай бұрын
Not only that, but copying data from one part to another (from one buffer to another), even if we had some cache skipping feature (they do exist but not everywhere), copying is actually pretty slow by it self, and depending on copy size, the CPU will often have to resort to doing it by itself (as accelerators usually have startup overhead, and if not in the CPU, uncoupled speed, needing synchronization), and we don't need that added latency in the kernel, for small things like packets usually are.
@Maple-Circuit
Ай бұрын
Thanks to both of you, now I know(;
@turtlefrog369
Ай бұрын
its insecure though.
@surters
Ай бұрын
@@Maple-Circuit Think the original code, back in the days copied that data 3+ times.
@PixelHamster
Ай бұрын
wow, it's clear that you put a lot of effort into this, tyvm for the information rich video :d
@Chat_De_Ratatoing
Ай бұрын
You explain things very easely, your videos are really nice
@FentFanta
Ай бұрын
Another gem channel. Congrats on getting onto the algorithm. Subbed.
@smvsilva
Ай бұрын
Probably the best video explaining low level kernel stuff on KZitem, thar even non-coders like me could understand everything clearly! Amazing man! Congrats, subscribed! 👏🤝
@csabamihaly8732
Ай бұрын
2 minutes in, this is the most useful channel I have ever found
@BigWillieFreestyle
Ай бұрын
Intel MIPI fix... Finally! This has been the bane of my existence at work recently 😭
@FPVogel
Ай бұрын
After waking up I usually start the first video KZitem recommends to me to have some background noise, but this really is a gem, will watch again, thank you!
@ImperiumLibertas
Ай бұрын
Incredible production quality. Subbed!
@danielkemmet2594
Ай бұрын
I subbed based on this video. This is really great and I hope you continue to make this kinda stuff
@raenkie
Ай бұрын
god sent this man directly from the algoheavens to inform us about this beautiful place called the kernel. what a gem!
@fronbasal
Ай бұрын
Insane effort, thanks for the great long-format video
@polskiglizda5639
19 күн бұрын
Finaly youtube algorithm showing some interesting video. Great work
@Maple-Circuit
18 күн бұрын
Thx!
@AJ213Probably
Ай бұрын
as a developer I am glad for the mutex lock change. Something like that really is awesome for compatibility
@mohammedgoder
Ай бұрын
The shadow stack is just a way to split your stack into a data stack and a call stack.
@lewddrip5383
Ай бұрын
this content is great, please make more of this!
@coyote4440
Ай бұрын
<a href="#" class="seekto" data-time="2065">34:25</a> - I really like the developers’ approach - “Let’s do the important thing now, and leave everything else for the future” - that’s why they decided to implement IPv4 first, not IPv6))
@Maple-Circuit
Ай бұрын
100% accurate, pragmatism is the best policy
@bertblankenstein3738
Ай бұрын
Mutex for mutually exclusive. Meaning that only one process can run or modify something. If two processes try to increment a memory location at the same time, synchronization needs to occur to ensure proper results.
@vinylSummer
Ай бұрын
Wow, a highly technical video that is actually interesting to watch! You're a genius, instantly subscribed
@williambrasky3891
Ай бұрын
This is amazing! So glad I ran across your channel!
@lithiumwyvern_
Ай бұрын
Good video, though you're off by one at <a href="#" class="seekto" data-time="596">9:56</a>. The AES-XTS speed boost uses the VAES and VPCLMULQDQ extensions, first used by AMD in Zen 3, not Zen 2. (Intel introduced them in Ice Lake, during which time it was wrongly thought to specifically be a new part of AVX-512.)
@Glozzom
Ай бұрын
Some more detail on TLB, it is cache that is set aside for holding a virtual page id, and the "translation" to its actual hardware counterpart. I'm sure there are sentient values like if the data is actually in swap or possibly a register, but in general it is a good old fashion look up table. The piece I wanted to add is that it is simply a cache for the virtual memory to hardware translations, and the fact that programs actually deal in virtual memory, and ask the OS for the real stuff, which necessitates things like the TLB for everything not to be terribly slow.
@stephanweinberger
Ай бұрын
Also, TLBs are usually implemented to do the lookup _in_ _hardware_ - not microcode, but a truly parallel implemented in silicon; i.e. you put in a virtual address and the physical address pops out _immediately_ . Hence why the TLB has a very limited size, since it isn't just another (dumb) cache but requires quite a lot of circuitry; e.g. in Zen2 the TLB has 2k entries (i.e. it can hold addresses for just 8MB of memory with the standard page size). Now, if we use the example from the video with 250k pages, it should be clear that this would make the TLB completely useless, as basically any access to that memory region would be a TLB miss, which causes an interrupt, that then needs to be handled by the kernel to put the missing entry from the process's page table into the TLB - so we just turned an immediate lookup into: context switch, execute handler code, lookup some more memory, context switch... which is obviously several orders of magnitude slower.
@isaac_shelton
Ай бұрын
just an fyi risc-v is pronounced "risk five", and clang is pronounced "klang"
@Maple-Circuit
Ай бұрын
Yes, my brain died when I said clang.. but thanks for risc-v, I didn't know
@joshxwho
Ай бұрын
Genuinely, thanks - I've always said riskv 😂
@nezu_cc
Ай бұрын
you're right, but imo it sounds way cooler as "risk-vi" and will probably remain like that in my head while reading things.
@kirill9064
Ай бұрын
@@Maple-Circuit Do we call С programming language K?
@po1nt1776
Ай бұрын
Awesome rundown. Subscribed
@otocotara
Ай бұрын
i dunno how did i subscribe, but im not going to complain
@olealgoritme6774
29 күн бұрын
Nice video. Thanks. Would love benchmark comparisons tho. 😇😁
@k1ngjulien_
Ай бұрын
awesome video! would love some timestamps in the comments/description so i can skip around to what i find most interesting pls :)
@radvilardian740
Ай бұрын
I can not imagine how informative this video for all if tou kernel developers, that even me as a casual user enjoy watching it to the end. I love linux, I use it for gaming all the time, and i'm so exciting for what's coming next. About that NTSync, idk exactly what it is, but it sounds good for later gaming experience. Great video..
@GeorgeNoiseless
24 күн бұрын
Feels kind of crazy that we're getting hacks to improve Wine's performance in games, but it all makes sense -- it's a bigger use case than ever, thanks in no small part to Valve's efforts. And the pipeline from games to regular desktop usage is very real. Heck, Linux VMs running Windows games for streaming services don't feel like a particularly crazy idea any more.
@tonyonce
Ай бұрын
okay how is this channel so good an why am I seeing it just now?
@kleinesfilmroellchen
Ай бұрын
<a href="#" class="seekto" data-time="464">7:44</a> an architecture from 2013 is new, but it may possibly be dying out already. even 64-bit x86 is 20 years old and the various 32-bit architectures are usually over 30 years old
@Maple-Circuit
Ай бұрын
Well said!
@UltimatePerfection
Ай бұрын
I am still waiting for the Kernel 6.66 so I can rip and tear in style.
@OfficialViper
Ай бұрын
Great video!
@middyjohn
Ай бұрын
I was wondering why the CC said linux konel when I hover my mouse over the thumbnail, so I clicked. Well played sir
@Maple-Circuit
Ай бұрын
Lol, my accent sells me well even when I'm not trying XD
@VEKTOR_87
Ай бұрын
amazing presentation , really interesting
@uis246
Ай бұрын
Commited Linux from prison, lol
@samconnelly7630
Ай бұрын
X32 is not necessarily a 64-bit system faking a 32-bit system. AFAIK it is x86_64, but with 32-bit pointers and long integers (in C). Because the pointers are 32-bit, an x32 program cannot access more then 4 GiB of memory (or was it 3 GiB?). If a program should never use that much memory anyway, then x32 wouldn't hurt.
@Maple-Circuit
Ай бұрын
True! Thank you for the correction!
@redram4574
Ай бұрын
Thank you. Everyone seems to get x32 wrong. Which is sad because I think it is pretty cool for cache performance
@NiffirgkcaJ
Ай бұрын
Oh, thank you for explaining everything!
@Pizzanicv
Ай бұрын
great job. I approve.
@James-uw4it
Ай бұрын
Awesome video, thanks
@bloepje
Ай бұрын
TLB, translation look aside buffer. Just content addressable memory (cache). Flushing it is fast. It is reloading it that is painful, as you actually have to get the data from memory.
@thomhughes4617
Ай бұрын
TLB shootdown is slow (at least on x86), I'm unaware for how it works for ARM but would imagine it to be similar.
@toastyboye
Ай бұрын
Uuoh amazing video! Such enthusiasm! Amazing :3
@snooks5607
Ай бұрын
ntsync isn't going to be functional in 6.10, it's missing patches that'll be in 6.11. <a href="#" class="seekto" data-time="1230">20:30</a> performance boost is good but guess I'm one of those people who otherwise don't know what you're talking about, existence of ntsync driver isn't going to make porting something to linux any easier. as a dev you can either use wine/proton like before or make a proper port that is still system specific, existence of ntsync driver doesn't change that (in windows the syscall is NtCreateSemaphore() no such thing will be provided by linux kernel, instead there's a char device that wine makes an ioctl call to when NtCreateSemaphore() is called in wine)
@greyshopleskin2315
Ай бұрын
Nice video. Im gonna check more of your videos. It would be nice if you add timestamps to easily skip stuff we dont care about
@asphalt2554
Ай бұрын
lol brutal.. but I agree.
@kirill9064
Ай бұрын
<a href="#" class="seekto" data-time="540">9:00</a> I have been reading RISC-V as RISC-FIVE all this time.
@Maple-Circuit
Ай бұрын
I had a few comments telling me that I'm wrong on that, Risc-5 makes a lot of sense too (;
@yayakame
Ай бұрын
informational, thank you, keep up with it
@joshxwho
Ай бұрын
Fantastic video, Google really knows my niche eh
@yeshey5443
Ай бұрын
You should make this into a searies ahha, nice work
@Maple-Circuit
Ай бұрын
Will do!
@elizabethtwo1931
Ай бұрын
Duplicating the performances of arm so great
@WololoWololo2
Ай бұрын
Hi i like Linux i hope Linux grow
@matthieu8457
Ай бұрын
Very well explained!
@p0n-pompf
Ай бұрын
THE GOATTT
@durikke2
Ай бұрын
Wine is now an emulator.
@nyxiereal
Ай бұрын
Yay, more free stuff!
@gwydion_maranio
Ай бұрын
damn, this channel is a good find. Nice vdo
@bloepje
Ай бұрын
I really hate Hans Reiser for "stepping out of the community" the way he did. In the 2.4 series, reiserfs 3.6 was the best and fastest filesystem that we could get. Due to his "personal project" that made him land in prison, reiserfs 4 didn't get the care it needed and turned out to be unstable crap, like jfs and xfs turned out to be. It took a lot of time before ext4 had the same possibilities as reiser had. And as a side note: though you did not understand everything correctly, it was a nice change for me, to just put up a nice voice that tried to explain what the kernel changes are while I am working. So don't stop with that. It's brought nicely, and you will learn more details in time.
@Maple-Circuit
Ай бұрын
Thank you for the feedback, I won't stop!
@luizhenriqueamaralcosta629
Ай бұрын
Amazing info
@thenameisluk
Ай бұрын
and this is great content
@jamesrivettcarnac
Ай бұрын
Nfsdctl looks cool
@tsiiphsycoii
Ай бұрын
MurderFS still the best
@nightfall2863
Ай бұрын
I wonder if shadow stacking could be used to help anti cheats
@kcalbxof
Ай бұрын
Please, add timestamps to your videos. Video is an hour long, description is nonexistent... Im not gonna waste my time on 100500 explanations and 1% real info
@WololoWololo2
Ай бұрын
Why are you watching Linux videos then?
@luk187
Ай бұрын
Read the changelog then genius. If that's too verbose for you, try the commit messages rofl.
@user-ro1cc8tz6d
Ай бұрын
@@WololoWololo2 yeah its a massive waste of time. Unless you're a bisector or maintainer how is stuff automatically enabling itself is any usefull being acknowledged. Ah right you gotto enable them by hand because loonix is maintained by bunch of hippies who thought of genius ideas like enforcing vsync due to their "philosophy". Although I have to give credit where its due because defaults were garbage way back
@user-ro1cc8tz6d
Ай бұрын
I'm reminded that watching loonix videos are a massive waste of time
@nikhils7583
Ай бұрын
Subbed, great stuuf.
@fishsayhelo9872
Ай бұрын
very gud 👍
@chaemelion
Ай бұрын
I'm admittedly unfamiliar with the kernel under the hood, but zero-copy operations and io_uring sound mutually exclusive. Aren't ring buffers handled by the kernel and by extension the CPU? How can using them constitute a zero-copy CPU-less operation? Am I missing something?
@Maple-Circuit
Ай бұрын
Ring buffers contain the pointer to the data (the buffer), not the data itself (;
@MisakaMikotoDesu
Ай бұрын
I installed this and went from 12 threads to 8 threads. I'm not sure what config caused it
@techofebd
Ай бұрын
Gentoo MasterRace BTW!
@couldntfindafreename
27 күн бұрын
<a href="#" class="seekto" data-time="540">09:00</a> When will the kernel have Zig support? I personally think Zig would have been a better fit for the kernel than Rust.
@kolz4ever1980
27 күн бұрын
Soon as you add it. the community can add stuff so go on.. 😆
@xymaryai8283
Ай бұрын
i'm asking before i watch the video so i remember, is drm kernel panic implemented?
@Maple-Circuit
Ай бұрын
Lol
@rssszz7208
Ай бұрын
Time stamp would be great
@herwighochleitner422
13 күн бұрын
Y u call the Translation Lookaside Buffer a "Table Lookaside Buffer" tho, when it's even written on your slide?
@Maple-Circuit
13 күн бұрын
The animation is made afterward. Yes I screwed up (;
@theforeskinsnatcher373
Ай бұрын
Great video but can you make it a little more techincally and less dumbed down next time? For example when you talked about the TLB I think it would have been much better to just say that it caches virtual addresses instead of being so vague. I think understanding the absolute basics like virtual memory should be a prerequisite for this kind of video
@user-ro1cc8tz6d
Ай бұрын
can you add timestamps?
@OfficialViper
Ай бұрын
Variables in Rust are immutable by default. Would it be possible for the rust compiler to use mseal on Linux to seal those variables? The kernel could prevent anyone modify the immutable (and thus sealed) variables.
@Maple-Circuit
Ай бұрын
i don't think they apply immutability at the same level... how your compiler is supposed to use data and how you os will manage its memory are probably 2 worlds away from each other. i have no idea how both work under the hood soooo who i'm i to speak on it (;
@ItsCOMMANDer_
Ай бұрын
how would you go about porting a linux 5.11 code for a pecific device (open source and arm 32) to kernel 6.10? i've tried it but after dealing with compiler errors (by disabling affected modules, the problems were mostly spinlock -> raw_spinlock and spi_master -> spi_controller stuff) it compiles but doesnt boot. The device is a 3ds btw
@Maple-Circuit
Ай бұрын
I have the feeling the 3ds probably need some non-standard module... but I would try compiling and replacing the 5.11 by another 5.11 that you compiled. Once you know the right option to make it work, you can work your way up the versions.
@ItsCOMMANDer_
Ай бұрын
@@Maple-Circuit i dont tbink you understand this/i sucked at explaining. Somone made a functional 3ds port of 5.11,and its open source with all driver and stuff, but i cant upgrade it because after resolbing some compiler errors it just blackscreens and also dont have a way if debugging it (yet)
@Maple-Circuit
Ай бұрын
@@ItsCOMMANDer_ maybe i still don't understand but the reason for compiling with the original version is to see if the commands and config you are using are good. You are dealing with a 3ds which is both really cool and insane at the same time (; being that i have never even compile the kernel for an arm64 device, i'm probably less knowledgeable than you on this (;
@ChandrashekarCN
Ай бұрын
💖💖💖💖
@rogo7330
Ай бұрын
How NTSYNC faster than userspace? If mutex stays in userspace, you don't need to switch context to kernelspace all the time. As I've heard, switching to kernel context is slow.
@SkigBiggler
Ай бұрын
I don’t know the details, but it’s likely that WINE has to call into kernel space already to emulate NT mutexes. It still needs to synchronise threads, but without NT style synchronisation primitives it would have had to wrap linuxes own ones in user space code to correctly implement NTs behaviour, likely resulting in multiple context switches for an action that should only take one
@konradcomrade4845
Ай бұрын
anybody knows about John L. Gustafson's numbers format: Posits, or Unums, better than Reals!! Could Linux do it, or does it need advanced Hardware? Can do better than 64bit Floats with only 32bit_width Unums/Posits. Symetrical mapping from 0 to infinite. Needs only one: Not_a_Num_exception!
@Maple-Circuit
Ай бұрын
I agree that Posits and Unoms give more precision for less bit, but they are exponentially harder to compute thus useless in the linux kernel. Thoses implementations have their place in specialized software (;
@rch5395
Ай бұрын
Why do people say line-us when it's linus by that logic linux would be line-ux.
@skatingbozo
Ай бұрын
That's exactly how people in my country pronounce Linux. Drives me crazy. Line ux 😂
@amalirfan
Ай бұрын
Linus made it, so he gets to call it whatever he wants 😁
@Zmej420BlazeIt
Ай бұрын
that's the common name pronunciation for most other people afaik. I vaguely remember him commenting on adopting the "lin us" pronunciation years and years ago but idk. anything is better than calling Linux "loonucks" haha
@techofebd
Ай бұрын
Originally it is LeeNux and I would like to interject a moment, it is called Gahnew/ LeeNox or now Gahnooh Plluss LeeNox
@JonDisnard
Ай бұрын
Using a phonegram, It's probably closer to Lee-Lus, his kennel is Lee-nux.... The ftp server admins that (re)named the kennel way back in the 1999s used the name Linux arbitrarily as a contraction of whatever Linus had named it... I forget the original name.
@ron5948
Ай бұрын
How does cfi deal with ebpf tracing well probes? Arent these functions not in thr jump table maybe?!? <a href="#" class="seekto" data-time="416">6:56</a>
@Maple-Circuit
Ай бұрын
Good question, but I couldn't answer. CFI is like magic to me (;
@minma02262
Ай бұрын
Noice!
@devanarayanababu1996
22 күн бұрын
algo comment
@ron5948
Ай бұрын
Prison, ReiserFS all over again hahahahkek3krke😢😮😅😅😊😊😊😂 <a href="#" class="seekto" data-time="46">0:46</a>
@CamaradaArdi
Ай бұрын
You're the first person I hear pronouncing clang as c-lang
@Maple-Circuit
Ай бұрын
@CamaradaArdi lol french canadian brain strikes again (; I normally say clang but ... why not XD
@destiny_02
Ай бұрын
c-lang makes more sense than clang
@Lavadawg
Ай бұрын
When i say clang, i say klang klang like im tapping a pipe
@NOOBgamer-dn9zl
Ай бұрын
Timestamp would be helpful
@cheako91155
Ай бұрын
<a href="#" class="seekto" data-time="1786">29:46</a> I've worked on a few rust projects and I can think of one example, but it's a general issue that rust development is full of cases where missing features in the rust compiler lead to project""s"" needing 10,000 lines of code. For example async corutines... Rust has corutines, functions that return more than once, and having a stream of data generated by an async block happens all the time and the number of lines the planet has to deal with because this feature missing is massive. I object to the Linux Kernel team getting priority!!! It may seem like they are more important, but that's fallacious. How popular a project is has no effect on how crucial it is for support from the rust compiler team.
@Problematist
Ай бұрын
Rust is only really used on a case by case basis. Mostly it's used to fix memory safety issues with C bindings or for abandoned projects.
Пікірлер: 166