Description
:
Job Title: Senior Software Engineer – Linux Kernel & Device Drivers
Location:
San Jose, CA - Onsite
Experience:
5 to 15 years (depending on grade)
Contract
Job Overview
As a Senior Engineer in the Systems Software team, you will drive the software-hardware co-design for Client’s AI and data center solutions. This role requires a visionary approach to
Linux Kernel Memory Management
, specifically focused on heterogeneous memory, virtualization, and high-bandwidth interconnects for our next-generation SoC and SSD platforms.
Key Responsibilities
-
Memory Management R&D:
Architect and optimize Linux kernel memory management for
heterogeneous systems
, including UVM (Unified Virtual Memory), memory tiering, and
CXL-based memory expansion
.
-
Kernel & Driver Design:
Lead the design of Linux device drivers for high-performance interfaces such as
PCIe Gen5/6, NVMe
, and proprietary AI accelerators.
-
Virtualization & Hypervisors:
Develop and tune
KVM and QEMU
support for IOMMU, interrupt virtualization, and hardware-assisted memory management.
-
SoC Bring-up & Architecture:
Partner with hardware architects to define registers and memory maps for upcoming
ARMv9
and
RISC-V
silicon.
-
System-Level Debugging:
Resolve critical system bottlenecks and memory corruption issues using advanced tools like
Lauterbach TRACE32
, hardware emulators (Palladium/Zebu), and kernel profilers.
Technical Skills & Qualifications
-
Education:
MS in Computer Science, Computer Engineering, or a related field.
-
Kernel Deep-Dive:
Expert knowledge of the
Linux MM subsystem
(paging, swapping, HugePages, page cache, and LRU eviction policies).
-
Hardware Interface Mastery:
Deep understanding of
PCIe/CXL
protocol stacks, cache coherency (AMBA CHI/ACE), and DMA engines.
-
Low-Level Programming:
Expert proficiency in
C
and
Assembly (ARM/x86)
; experience with Python for automation and performance modeling.
-
Security & Reliability:
Familiarity with hardware security features like
TrustZone, ARM CCA
, and memory protection units.
Preferred Experience
-
Significant contributions to the
mainline Linux Kernel
(specifically in the mm/ or drivers/pci/ directories).
-
Experience with
Cloud and Data Center
workloads and understanding their impact on kernel scheduling and memory latency.
-
Knowledge of
Machine Learning frameworks
and how they interact with kernel-level memory allocators.