On Fri, 09 Sep 2022 15:59:01 +0100, Frank Li <frank.li@xxxxxxx> wrote: > > > > > > > [Frank Li] According to my understand, raw_spinlock skip some lockdep > > > /debug feature to get better performance, which should be used when > > > Frequently call, such as irq handle\polling thread. > > > > I'm afraid you are terribly misguided. They both have the same debug > > features because they are both using the same core implementation, and > > the only difference is whether this is preemptible for RT purposes or > > not. > > > > > Spinlock have DEBUG feature to check wrong use lock. Allocate MSI > > generally > > > only is call once when driver probe. > > > > Again, you should really read the code and the documentation and stop > > making things up. > > [Frank Li] Thanks. You give me the correct direction. Some stackoverflow's > Doc was misleaded. I double checked spin_lock implementation. PREEMPT_RT > Kernel map spin_lock to rt_mutex. > > I am curious why exist spin_lock_irqsave and raw_spin_lock_irqsave before > PREEMTP_RT merge into kernel tree. Because the RT merge has been going on for 10 years or so, long before CONFIG_RT was merged. Also, a mutex has a spin lock at its core, and it makes sense to have a single primitive for all these lock types. M. -- Without deviation from the norm, progress is not possible.