Deep DivesThe Linux DMA API: Coherent and Streaming Mappings Explained
A working guide to the Linux DMA API: coherent vs streaming mappings, cache sync rules, the dma-coherent property, and debugging with CONFIG_DMA_API_DEBUG.
Articles in this topic.
Deep DivesA working guide to the Linux DMA API: coherent vs streaming mappings, cache sync rules, the dma-coherent property, and debugging with CONFIG_DMA_API_DEBUG.
Deep DivesHow to write a minimal sched_ext scheduler: the four callbacks, the dispatch queue model, and how to build, load and verify it…
Deep DivesA long initcall is often a waiting initcall, and the log gives you no way to tell. How to read initcall_debug without…
Deep DivesPart 1 of two. Boot time spans four phases with four independent clocks, and dmesg only shows the third. How to put…
Deep Divesdm-verity gives an embedded device a tamper-evident read-only rootfs. Learn how per-block hash-tree checking works and why the root hash must be…
Deep DivesHow managed device resources (devres) work in the Linux kernel: the devres list, devm_* APIs, release order on unbind, pitfalls, and CONFIG_DEBUG_DEVRES.
Deep DivesA system device tree plus Yocto multiconfig builds Linux, bare-metal, and firmware for heterogeneous SoCs like ZynqMP from one hardware description.
Deep DivesA walkthrough of the Linux generic IRQ subsystem: why it exists, irq_domain hwirq-to-virq mapping, flow handlers, irq_chip, and Device Tree to handler.
Deep DivesThe pinctrl subsystem lets Linux multiplex and configure SoC pins from device tree. How pinmux and pinconf work, the consumer API, and…
Deep DivesOne kernel function, rpm_check_suspend_allowed(), decides whether runtime PM suspends your device. Each return code names the exact field to inspect.
Deep DivesQualcomm's qcom-6.19 has not moved since March while qcom-6.18.y is fed daily. How to tell a maintained vendor BSP branch from a…
Deep DivesA deep dive into the Linux Common Clock Framework: struct clk_ops, the prepare/enable split, devm_clk_get_enabled, and debugging clocks disabled at boot via…
Deep DivesA deep dive into Linux workqueues: how the kernel queues, wakes, and runs deferred work — from queue_work() to your handler, traced…
Deep DivesReal-time Linux vs RTOS, compared: FreeRTOS, Zephyr, and mainline PREEMPT_RT, and how mixed-criticality designs run Linux and an RTOS on one SoC.
Deep DivesTrace a DMA mapping through the Linux 7.x source: the dma-direct fast path, arm64 cache hooks, swiotlb bouncing, and CONFIG_DMA_API_DEBUG.
One email every two weeks — the best of our kernel & embedded writing, plus a hand-picked link or two. No spam.
// 1,200+ embedded engineers already read it
We email occasionally and never share your address.