RDMA offers that. The NIC can directly access user space buffers. It does require that the buffers are “registered” first but applications usually aim to do that once up front.
Maybe a dumb question but how do non x86 boards normally boot Linux images in a generic way? When I was in the embedded space, our boards all relied on very specific device tree blobs. Is the same strategy used for these or does it use ACPI or something?
All RISC-V consumer boards running Linux also use DT. RISC-V is also working on getting ACPI but primarily for the sake of servers, just like with ARM where ACPI is primarily used for servers (ARM SBBR / ServerReady).
ARM Windows laptops only use ACPI because Windows has no interest in DTs, but under Linux these devices are still booted using DT. I don't know for sure, but the usual reason is that these ACPI implementations are hacked up by the manufacturer to be good enough to work with Windows, so supporting them on Linux requires more effort than just writing up the DT.
The x86 platform uses a plethora of platforms services under different names like UEFI/ACPI/PCI/(ISA plug-n-play back in the day)/APIC (programmable interrupt controller and evolved variants thereof)/etc. that allows the generic kernel to discover what's available when it boots and load the correct drivers.
ARM servers do the same with SBSA (a spec that mandates things like UEFI, ACPI etc. support) etc. I think there's some effort in RISC-V land to do the same, also using UEFI and ACPI.
publicmail was asking about ACPI vs DT, not UEFI. Using UEFI and ACPI/DT are orthogonal; DT-using devices can also boot from UEFI if the firmware provides it. See https://github.com/TravMurav/dtbloader for example.
My favorite is my Bosh wall oven that uses 85C rated capacitors with practically no voltage derating for the control board that sits directly at the top of the oven. After 4 years, they gave out causing the display to dim to the point of invisibility.
We’re talking about 50 cents of part savings on a $3000+ appliance here.
Replaced them myself easily, but most people will end up having to call for service and end up replacing the entire board for hundreds of dollars minimum.
Capacitive touch buttons are #1 on my hate list for "inventions". They have all the downsides of touchscreens with none of the upsides, and they're imitating a control device so perfect that it basically hasn't been changed since its invention (the button).
Agreed - I hate captouch buttons, and would rather have physical controls every time. But in case you're curious why they're so common:
1. They're cheaper than mechanical buttons.
2. They're more space-efficient inside of the product.
3. They are easy to waterproof.
4. They have no wear-out mechanism.
Thanks, I intuited (1) and (2) but I hadn't thought about (3) or (4). I think waterproof mechanisms are about the only time I've encountered them where I haven't immediately despised them for total lack of haptic feedback and lag time between button input and device function--although that probably has more to do with poor system design rather than the limits of the captouch button technology.
My guess is that I associate them with lag because any control interface that cut corners on buttons probably cut corners on everything else, too.
Sidetrack, maybe a silly question: Under what circumstances are you touching your dishwasher with wet fingers? Plates are dry when they go in and dry when they come out if you have a decent dishwasher.
Capacitive buttons suck, but they are no worse in dishwashers than in any other appliance, in my usage at least
It normally works in conjunction with GCC’s “-MMD -MP” arguments which provide .d files which then get included back into the Makefile with something like “-include $(OBJS:%.o=%.d)”.
It doesn’t directly interpret any source file though, if that’s what you mean.