72
submitted 10 months ago* (last edited 10 months ago) by Tobu@lemmy.ml to c/linux@lemmy.ml

Performance is basically the same (in microbenchmarks), they went as far as preserving the use of red black trees for an apples to apples comparison, but it's going to improve security as binder runs inside every process.

That means binder is going to join Asahi graphics, the Android Bluetooth stack, and puzzlefs in the serious drivers written in Rust club.

all 17 comments
sorted by: hot top controversial new old
[-] pr06lefs@lemmy.ml 11 points 10 months ago

IPC standing for Inter Process Communication in this instance.

[-] pastermil@sh.itjust.works 4 points 10 months ago

What else would it stand for?

[-] conciselyverbose@kbin.social 6 points 10 months ago

It's instructions per clock/cycle in a hardware context, because you can't use clock speeds to compare performance between processors.

[-] pastermil@sh.itjust.works 2 points 10 months ago

That is true...

[-] LaLiLuLuCo@lemmy.ca 3 points 10 months ago
[-] Decker108@lemmy.ml 3 points 10 months ago

What about Intraastral Peace Corps?

[-] ElNuevo@lemmy.lemist.de 1 points 10 months ago* (last edited 10 months ago)

Instructions per cycle

Was what I first read anyways

[-] pr06lefs@lemmy.ml 0 points 10 months ago

I find it annoying when an article contains ATANE.

[-] Atemu@lemmy.ml 2 points 10 months ago

Clear case of DOTA.

[-] Spectacle8011@lemmy.comfysnug.space 10 points 10 months ago

This is the kind of high-quality technical discussion I don't understand a word of that rarely surfaced on reddit.

[-] stardreamer@lemmy.blahaj.zone 9 points 10 months ago* (last edited 10 months ago)

Having one program (process) talk to another is dangerous. Think of a stranger trying to come over to me and deliver a message. There's no way I can guarantee that he isn't planning to stab me as soon as he sees me.

That's why we have special mechanisms for programs talking to other programs. Instead of having the stranger deliver the message directly to me, our mutual friend Bob (IPC Library, binder in this case) acts as an intermediary. This way at least I can't be "directly" stabbed.

What's preventing the stranger from convincing Bob to stab me? Not much (except for Bob's own ethics/programming)

To work around this, we have designed programming languages (rust) that don't work if there's a possibility of it being corrupted (I would add "at least superficially", but that's not the main topic here). Bob was trained by the CIA in anti-brainwashing techniques. It's really hard to convince Bob to stab me. That's why it's such a big deal. We now have a way of delivering messages between two programs that is much safer than before.

The only problem is that the CIA anti-brainwashing techniques (rust) tend to make people slow. So we deliver messages less efficiently than before. Good news is in this case we managed to make Bob almost as fast as before, so we don't lose our own much while gaining additional security. The people who checked on Bob even made sure to have Bob do the exact same thing as before when delivering messages (using RB Trees), hence this evidence is most likely credible.

[-] Spectacle8011@lemmy.comfysnug.space 1 points 10 months ago

That's a great explanation! Thank you, I get it now. I always did wonder what exactly IPC was about. Yay for Rust in the kernel.

[-] Quackdoc@lemmy.world 2 points 10 months ago

This could be interesting, a bit worried how this will effect existing binder in distros and DKMS modules since waydroid relies on these

[-] Tobu@lemmy.ml 5 points 10 months ago* (last edited 10 months ago)

Distros will work a bit at shipping the right toolchain the first time they ship a rust-written module, but otherwise, it can't break userspace. I guess they'll start by merging the close reimplementation to make regressions easy to track.

[-] Atemu@lemmy.ml 1 points 10 months ago

The C binder driver has been in the mainline kernel for one or two years at this point.

[-] Quackdoc@lemmy.world 3 points 10 months ago

just because its in mainline, doesnt mean distros build them though we are now seeing more and more distros use them, binder/fs being enabled is not a given

this post was submitted on 01 Nov 2023
72 points (98.6% liked)

Linux

47325 readers
588 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS