Linux Kernel Engineer (Memory Management & Device Drivers)
Anagha Techno Soft
San Jose, CA, United States
3 months ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on dice.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours
Job source
Tech stack
Artificial Intelligence
C++ (Programming Language)
Computer Engineering
Data Centers
Software Debugging
Device Drivers
Memory Management
Emulators
Python (Programming Language)
Kernel-Based Virtual Machine
Linux Kernel
Linux-Powered Devices
+13 more
Open Source Technology
PCI Express
Performance Tuning
Quick EMUlator (QEMU)
Reduced Instruction Set Computing
System Programming
Virtualization Technology
JavaScript Pagination Plugin
Information Technology
Trace32
Restful APIs
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.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on dice.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
EM
Eli McGarvie
over 3 years ago
CH
Chris Heilmann
Dev Digest 121 - AI goes offline
over 2 years ago
CH
Chris Heilmann
Dev Digest 120 - Apple and peers
about 2 years ago
DC
Daniel Cranney
How software is steering vehicle technology
over 1 year ago
IK
Igor Khokhriakov
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
24 days ago
MH
Michael Hunger
Everything a Developer Needs to Know About MCP with Neo4j
about 1 year ago