0 - 10 years
20 - 45 Lacs
Posted:1 week ago|
Platform:
On-site
Full Time
12+ years of experience with Linux device driver development, preferably with a focus on PCIe devices.
Open Source Contribution: Experience contributing to the Linux kernel or relevant open-source projects is highly valued.
Expertise in C Language: Mastery of C for low-level, performance-sensitive code, including bitwise operations, memory management, pointer arithmetic, and data structure optimization.
Familiarity with C++: Advantageous for certain projects, though most Linux kernel drivers are written in C. Understanding object-oriented concepts in a C context is also helpful.
Deep Understanding of Linux Kernel Architecture: Familiarity with kernel space versus user space, kernel modules, device driver concepts, and memory management.
Kernel Module Development: Experience writing loadable kernel modules (LKMs) and integrating them with the Linux build system.
Debugging and Profiling: Proficiency with debugging tools such as kgdb, ftrace, perf, dmesg, and sysfs interfaces to troubleshoot and optimize drivers.
Comprehensive Understanding of PCIe Specification: Knowledge of the PCIe standard, including enumeration, configuration space, BARs (Base Address Registers), MSI/MSI-X interrupts, and bus mastering.
Device Datasheet Interpretation: Ability to read and interpret PCIe device hardware documentation, including register maps, timing requirements, and signaling protocols.
Interfacing with Firmware/BIOS: Understanding how PCIe devices are initialized during system boot, and the mechanisms by which firmware and BIOS communicate with hardware.
Device Driver Development Lifecycle
Probing and Initialization: Experience writing probe() and remove() functions to handle device enumeration and teardown.
Resource Management: Skills in managing memory and hardware resources, including DMA (Direct Memory Access), I/O regions, and interrupt lines.
Interrupt Handling: Ability to write efficient and robust interrupt handlers, using mechanisms such as bottom halves, tasklets, work queues, and threaded interrupts.
Power Management: Familiarity with runtime and system power management interfaces, including suspend/resume operations.
Concurrency and Synchronization: Understanding race conditions, atomic operations, spinlocks, mutexes, and semaphores in a preemptible kernel environment.
Bachelor’s or Master’s Degree: In Computer Science, Electrical or Computer Engineering, or a related technical field.
Desirable Additional Qualifications:
Knowledge of Other Operating Systems: Familiarity with Windows, FreeBSD or RTOS driver models for cross-platform development.
Experience with FPGA, SoC, or Custom Hardware: Useful for teams working on nonstandard PCIe endpoints or accelerators.
Performance Tuning: Skills in profiling and optimizing for low-latency, high-throughput data paths.
Community Engagement: Involvement in Linux kernel mailing lists, conferences (such as Linux Plumbers Conference), or speaking at industry events.
Note: Please send Cv only, who can attend the interview weekdays, with short notice period (max 15 days only)
Job Location: Bangalore (Work from office)
Job Types: Full-time, Permanent
Pay: ₹2,083,594.88 - ₹4,528,981.39 per year
Benefits:
Experience:
Location:
Work Location: In person
GLOBAL TECHNOLOGIES
Upload Resume
Drag or click to upload
Your data is secure with us, protected by advanced encryption.
Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.
We have sent an OTP to your contact. Please enter it below to verify.
Bengaluru, Karnataka
Experience: Not specified
20.83594 - 45.28981 Lacs P.A.