我可以在不同的功能中锁定和解锁Spinlock吗

我可以在不同的功能中锁定和解锁Spinlock吗

本文介绍了Linux内核-我可以在不同的功能中锁定和解锁Spinlock吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是内核编程和带锁编程的新手.

I'm new to Kernel programming and programming with locks.

以不同的功能锁定和解锁自旋锁是否安全?我这样做是为了同步代码流.

Is it safe to lock and unlock a spinlock in different functions? I am doing this to synchronize the code flow.

此外,在__schedule()中使用自旋锁(锁定和解锁)是否安全?让调度程序等待获取锁是否安全?

Also, is it safe to use spinlock (lock & unlock) in __schedule()? Is it safe to keep the scheduler waiting to acquire a lock?

谢谢.

推荐答案

可以使用semaphoremutex代替spinlock.您应该在同一函数中使用spinlock进行最少的操作.

Instead of spinlock, you can use a semaphore or a mutex. You should use spinlock in the same function for the littlest set of operations.

这篇关于Linux内核-我可以在不同的功能中锁定和解锁Spinlock吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-04 21:46