Linux Kernel Engineer (Memory Management & Device Drivers)
Anagha Techno Soft
San Jose, United States of America
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Remote
San Jose, United States of America
Tech stack
Artificial Intelligence
C++
Computer Engineering
Data Centers
Software Debugging
Device Drivers
Memory Management
Emulators
Python
Kernel-Based Virtual Machine
Linux kernel
Linux-Powered Devices
Open Source Technology
PCI Express
Performance Tuning
Quick EMUlator (QEMU)
Reduced Instruction Set Computing
System Programming
Virtualization Technology
JavaScript Pagination Plugin
Information Technology
Trace32
REST
gRPC
Nvme
Job description
- Design and optimize Linux kernel memory management (paging, allocation, HugePages, page cache, LRU).
- Develop and maintain Linux device drivers for high-speed interfaces such as PCIe (Gen5/6), NVMe, and accelerator hardware.
- Work on heterogeneous memory systems, including UVM, memory tiering, and CXL-based memory expansion.
- Enable and optimize virtualization environments using KVM and QEMU (IOMMU, interrupt handling, memory virtualization).
- Collaborate with hardware teams on SoC bring-up, register definitions, and memory architecture (ARMv9 / RISC-V).
- Perform low-level debugging and performance tuning using kernel tracing tools, hardware debuggers (TRACE32), and emulation platforms.
- Contribute to system-level architecture and resolve complex performance and memory-related issues.
Requirements
- Strong expertise in Linux Kernel Development, especially Memory Management (MM subsystem).
- Hands-on experience with device driver development (PCIe, NVMe, or similar high-speed interfaces).
- Deep understanding of low-level programming in C/C++ (Assembly is a strong plus).
- Solid knowledge of hardware-software interaction, including DMA, cache coherency, and memory subsystems.
- Experience with virtualization technologies (KVM, QEMU, IOMMU).
- Strong debugging skills in complex, low-level environments., * Experience with CXL (Compute Express Link) or next-gen memory architectures.
- Exposure to Python, gRPC, or REST APIs for tooling, automation, or integration.
- Familiarity with ARM or RISC-V architectures.
- Contributions to mainline Linux kernel or open-source projects.
- Knowledge of AI/ML or data center workloads at the system level., * MS/BS in Computer Science, Computer Engineering, or related field.