Linux Device Driver - Interview Questions
LDD - Concurrency, Race Conditions and Synchronization
LDD - Concurrency, RC and Sync Interview Questions
- What are the best synchronization techniques used in linux kernel?
- How SpinkLocks work in SMP and UP architectures. what happens when a interrupt is received ?
what is contained inside an interrupt handler What is the process of system call ,what happens exactly
and how the mode toggles between user/kernel mode and vice versa?
- What are spin locks, are they better then mutex ?
- Difference between semaphore and mutex.
- What is difference between wake_up ( ) and wake_up_interruptible ( ) APIs in linux kernel ?
- When should should use which one, how it should be decided ?
- Why do we need synchronization mechanisms in Linux kernel?
- What are the different synchonization mechanisms present in Linux kernel?
- What are the differences between spinlock and mutex?
- What is lockdep?
- Which synchronization mechanism is safe to use in interrupt context and why?
- Explain about the implementation of spinlock in case of ARM architecture.
- Explain about the implementation of mutex in case of ARM architecture.
- Explain about the notifier chains.
- Explain about RCU locks and when are they used?
- Explain about RW spinlocks locks and when are they used?
- Which are the synchronization technoques you use 'between processes', 'between
- interrupt' and 'between interrupts'; why and how ?
- What are the differences between semaphores and spinlocks?
- Diff between mutex and semaphore? Can semaphore be used for data synchronisation purpose?
- What is deadlock? How to come out of deadlock?
- About Synchronization mechanism where you used in real time(examples)
- what happen if you use mutex in ISR, how you over come with that problem
- what is critical section?
- Semaphore internal code behavior in a way semaphore implementation ?
- spinlock vs mutex vs semaphore
- Working of spinlocks
- Can Spinlocks works on mutliprocessor system.
- In what scenarios mutex is used and semaphore is used.
- What is the difference between Mutex and Binary semaphore
- When a Mutex lock is aquired by a low priority task and High priority trys to acquires the lock will
the low priority task will be pre emitted .
- The same above scenario is with sema and spinlock
- How do you establish a sync mechanism in above hard disk scenarios.
- Write a simple with crtical section,mutex lock and mutex unlock.
- Spin locks behavior?
- If spin locks what flavor of spin locks will you use.
- Explain Shared memory, Message Queue Synchronization techniques in Linux
- How can you make part of driver code is allowed to be executed and not executed depending upon condition?
- Different synchronization techniquies ?how do you chose the best sync mechanisam fits the scenario?
- What are all the Kernel APIs used in you driver programming?
- how to divided critical work and non critcal work based on top half and bottom Half
- What is task_struct and how are task states maintained ?
- What is rwlock and spinlock ? Briefly explain about both of them ?
- When will you use rwlock instead of spinlock ?
- Can spinlock/rwlock be used in Interrupt handler ?