Description
Contrary to the common belief, Python has real threads and even with the famous GIL, they can be used in useful ways. Vdsm is a heavily multi-threaded Python program, constantly juggling tens of threads waiting for blocking system calls. In this talk we will explore a real world thread synchronization problem taken from Vdsm's LVM cache module. We will demonstrate the problem using simple tests and show the unexpected solution.