Description
WHAT YOU DO AT AMD CHANGES EVERYTHING
At AMD, our mission is to build great products that accelerate next-generation computing experiences—from AI and data centers, to PCs, gaming and embedded systems. Grounded in a culture of innovation and collaboration, we believe real progress comes from bold ideas, human ingenuity and a shared passion to create something extraordinary. When you join AMD, you'll discover the real differentiator is our culture. We push the limits of innovation to solve the world's most important challenges—striving for execution excellence, while being direct, humble, collaborative, and inclusive of diverse perspectives. Join us as we shape the future of AI and beyond. Together, we advance your career.
THE ROLE:
We are seeking an engineer to join our team that will thrive in a fast-paced work environment, using effective communication, problem-solving and prioritization skills. Individuals that are well organized, show great attention to detail, and employ critical thinking are well-suited for our team.
The AMD Embedded Linux X86 Software Driver development engineering team is seeking a passionate Linux Kernel Engineer
in our Linux Operating Systems team – bring a willingness to learn and absorb new concepts and technologies, along with a sound understanding of computer architecture and operating system concepts
designed for the x86-64 architecture.
Design, develop, Integrate core CPU, GPU and SOC features/drivers for the Linux kernel and related open-source projects.
This opportunity gets you involved in all phases of software development. Work with the internal multiple component teams, architecture, customers and upstream Linux Kernel community to
develop these features, enahanced, productized for Automotive, Networking and Storage, Industrial segments
THE PERSON:
Your curiosity will drive your learning and innovation to improve how we as a group, and an organization, can get better every day. Your peers will provide you a results-oriented and encouraging environment for your career growth, fueling your opportunity to be a part of Delighting Our Customers.
KEY RESPONSIBILITIES:
- Collaborate internal central engineering teams and develop new features, Integration, Bug fixes and productization of the Linux platform driver stack.
- Design, develop, and maintain Linux kernel drivers (platform and PCIe-based) with production-quality robustness and upstream-grade coding practices.
- Own end-to-end driver lifecycle: requirement analysis, design/LLD, implementation, bring-up, debugging, performance tuning, and long-term maintenance/porting across kernel versions.
- Drive kernel bug-fixing, regression management, and (where applicable) upstreaming / open-source engagement.
- Own and debug PCI/PCIe-centric flows across enumeration/config space, resource assignment, link behavior, interrupts (MSI/MSI-X), DMA mappings.
- Troubleshoot issues spanning PCIe devices, root complexes, and OS/hypervisor interactions, especially where IOMMU/DMA safety and isolation are required.
- Develop and debug Linux power management features and issues (system sleep/resume flows, low power behavior, and power regressions), including PCIe-related power interactions.
- Develop and enhance Xen core/BSP capabilities focused on hardware bring-up and foundational correctness (e.g., CPU bring-up, early memory handling, interrupts/timers, ACPI/EFI integration, IOMMU enablement, and DMA isolation primitives).
- Work on performance-focused storage software using/around SPDK, integrating with platform/kernel/driver constraints where required, and contributing to high-throughput/low-latency data paths.
- Profile and tune systems using tools like perf, ftrace, dpdk-proc-info, pktgen, etc.
- Deep involvement with Linux internals, including:
- Memory management
- Scheduler
- Interrupts, NAPI, and polling mechanisms
- PCIe, DMA, and device drivers
- Collaborate with firmware, hardware, validation, and customer teams
- Collaborate with hardware and software teams to resolve Linux OS, Kernel, Driver issues.
- Analyze and debug critical low-level driver, hardware, and OS issues
- Build and maintain strong technical relationships with internal teams and external partners
- Contribute to open-source Linux Kernel driver initiatives.
- Stay updated on industry trends and best practices.
- A powerful desire to learn new skills and understand new features as they are added
- Proven record of accomplishment of working within and across groups.
- Excellent Communication and Presentation skills.
- Responsible for exploring opportunities to improve product
- Work closely with other team members to understand design architecture and to propose solutions to improve and enhance products.
- Join the talented group of linux kernel engineers working on various core subsystems such as GFX, Multimedia, Display, Virtualization, Power and Performance management, Ethernet, DPDK, SPDK, SDXI, PCIe, IOMMU, etc
PREFERRED EXPERIENCE:
- Exposure to systems architecture
- Engineer with 10+ Yrs of experience in developing Linux system software and kernel mode drivers.
- Proven track record in kernel device driver development and kernel debugging.
- Experience with virtualization, specifically Xen (core/BSP understanding preferred).
- Strong knowledge of PCI/PCIe subsystem and power/performance implications.
- Excellent debugging skills and ability to handle complex system-level issues across layers.
- Experience with IOMMU (AMD-Vi/VT-d concepts), DMA isolation, interrupt remapping concepts
- Proficient in C/C++ programming for operating system kernel & systems development.
- Strong debugging skills on complex, multi‑threaded systems
- Deep understanding of multi‑core architectures, NUMA, and memory hierarchies
- Ability to produce high-quality code with strong communication and problem-solving skills.
- Solid understanding of operating systems, with emphasis on Linux or any other UNIX-like operating system.
- Experience with concurrent programming, threading APIs, and OS development on Linux.
- Deep understanding of operating systems concepts, data structures, and at least one general-purpose processor architecture (knowledge of x86-64 architecture is a bonus).
- Proficiency in Linux kernel development, strong understanding with Linux modules like Scheduler, Memory management, IPC, DMA,IOMMU, Interrupt/event handler etc.
- Familiarity with embedded systems and hardware-software integration, with a collaborative approach in a fast-paced environment.
- Hands-on issue debugging skills, issue isolation with Linux kernel, driver module level, System knowledge, System Debugging.
- Knowledge of software development tools, including debuggers and version control systems (e.g., Git, GitHub).
- Hands on experience in PCIe subsystem, PCIe Drivers, Ethernet, IOMMU, System level debugging, Linux Kernel Programming,
Scheduler, Memory management, Interrupt architecture.
ACADEMIC CREDENTIALS:
- Bachelor's or Master's degree in Computer or Electrical Engineering or equivalent
#LI-DB2
Benefits offered are described: AMD benefits at a glance.
AMD does not accept unsolicited resumes from headhunters, recruitment agencies, or fee-based recruitment services. AMD and its subsidiaries are equal opportunity, inclusive employers and will consider all applicants without regard to age, ancestry, color, marital status, medical condition, mental or physical disability, national origin, race, religion, political and/or third-party affiliation, sex, pregnancy, sexual orientation, gender identity, military or veteran status, or any other characteristic protected by law. We encourage applications from all qualified candidates and will accommodate applicants' needs under the respective laws throughout all stages of the recruitment and selection process.
AMD may use Artificial Intelligence to help screen, assess or select applicants for this position. AMD's “Responsible AI Policy” is available here.
This posting is for an existing vacancy.
Apply on company website