Understanding the EEVDF Scheduler in Linux Kernel

Understanding the EEVDF Scheduler in Linux Kernel

Linux 6.6 uses the EEVDF (Earliest Eligible Virtual Deadline First) scheduler to replace the CFS (Completely Fair Scheduler). Linux 6.12 completes the EEVDF scheduler by improving the handling of sleep process latency and supporting process time slice settings. The EEVDF scheduler considers schedule latency as one of the factors in process scheduling, ensuring fair allocation … Read more

Zephyr Kernel Data Structures – Red-Black Tree

Zephyr Kernel Data Structures - Red-Black Tree

Overview The search time complexity of a linked list is O(N). As the number of members managed by the linked list increases, the algorithmic cost of searching increases. To address this, Zephyr provides an implementation of a red-black tree, where the time complexity for search and delete operations is O(log2(N)) for a tree of size … Read more

Investigating Coredump File Truncation Issues

Investigating Coredump File Truncation Issues

This article is excerpted from the “ByteDance Infrastructure Practice” series. The “ByteDance Infrastructure Practice” series is a collection of technical content created by various technical teams and experts from ByteDance’s infrastructure department, sharing the team’s practical experiences and lessons learned during the development and evolution of infrastructure, and engaging in discussions with fellow technical colleagues. … Read more

An Overview of Makefile, Kconfig, and .config in the Kernel

An Overview of Makefile, Kconfig, and .config in the Kernel

The Linux kernel source code is extensive, and it can be confusing to understand the relationship between Makefile, Kconfig, and .config. Not knowing how the kernel compilation system works can lead to issues when trying to modify the kernel, integrate your own drivers, or configure the kernel. These problems are all related to Makefile, Kconfig, … Read more

An Overview of Makefile, Kconfig, and .config in Linux Kernel Source

An Overview of Makefile, Kconfig, and .config in Linux Kernel Source

Click on the above“Embedded and Linux Matters”, select“Pin/Star the Official Account” Welfare and valuable content delivered first-hand The Linux kernel source code files are numerous, and it can be confusing to understand the relationship between Makefile, Kconfig, and .config. Not knowing the kernel compilation system can lead to issues when compiling or modifying the kernel, … Read more

Linux USB Device Driver Model

Linux USB Device Driver Model

Linux kernel source: include/linux/usb.h Linux kernel source: drivers/hid/usbhid/usbmouse.c 1. BUS/DEV/DRV Model “USB Interface” is a logical USB device, and the usb_driver driver written supports the “USB interface”: After the USB controller or Hub recognizes the USB device, it will create and register usb_device Once usb_device is claimed by the driver in “drivers/usb/core/generic.c”, it will select … Read more

An Overview of Linux PCI Device Drivers (Part 2)

An Overview of Linux PCI Device Drivers (Part 2)

Click on the top “Baijian Technology”, to pin the public account Embedded technical content delivered promptly —— Author: linuxdrivers Original article: https://blog.csdn.net/linuxdrivers/article/details/5917478 In the previous article, “An Overview of Linux PCI Device Drivers (Part 1)” (hereafter referred to as Overview (1)), we introduced the PCI configuration register set, and Linux PCI initialization utilizes these registers. … Read more

Linux Device Model: Architecture Of Driver World

Linux Device Model: Architecture Of Driver World

Hello, I am Lao Wu. Does every ambitious person feel that they can work a little harder? In the end, if the goal is not achieved, the reason for failure can always be attributed to “not trying a little harder”. However, the biggest misconception about effort is: the longer the time and the more painful … Read more

Linux Kernel Boot Process – Building NUMA Node Zonelists – Source Code Explanation

Linux Kernel Boot Process - Building NUMA Node Zonelists - Source Code Explanation

This is the 120th lesson of the Linux Kernel Boot Process course. This lesson explains from the source code perspective how the Linux kernel constructs zonelists for NUMA nodes, as well as the categories of zonelists and their functions, etc. The previous lesson covered prerequisite knowledge, and this lesson discusses the corresponding kernel source code. … Read more

Understanding the Linux Kernel Makefile Execution Process

Understanding the Linux Kernel Makefile Execution Process

This article is an excellent piece from the Kanxue Forum Author ID on Kanxue Forum: jmpcall Essential Knowledge 1.1. Basic Syntax of Makefile If you are not familiar with Makefile syntax, it is recommended to learn it systematically, especially the following points: (1) Which parts of the Makefile contain shell commands: the command part in … Read more