腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
为什么
linux
在内核代码持有
自旋
锁
后禁用内核抢占?
、
、
、
我是
Linux
新手,正在阅读Rubini & Corbet的
Linux
设备驱动程序手册。我对一项与spinlocks有关的声明感到困惑;这本书写道 内核抢占情况由
自旋
锁
代码本身处理。当内核代码持有
自旋
锁
时,相关处理器上将禁
浏览 1
提问于2013-08-15
得票数 4
回答已采纳
1
回答
自旋
锁
-(单处理器与多处理器)-(抢占式与非抢占式内核)
、
、
我是
linux
领域的新手。
自旋
锁
被用作繁忙等待机制。1)
自旋
锁
(单处理器+非抢占式内核)-->不存在(因为如果你在
自旋
锁
中睡眠,会导致死锁)3)<
浏览 3
提问于2013-03-05
得票数 0
回答已采纳
5
回答
为什么
自旋
锁
不能在单处理器(unicore)系统中工作?
、
我知道
自旋
锁
与
自旋
一起工作,不同的内核路径存在,内核是抢占式的,那么为什么单处理器系统中
自旋
锁
不起作用呢?(例如,在
Linux
中)
浏览 1
提问于2012-02-07
得票数 9
回答已采纳
2
回答
如何在
linux
中使用
自旋
锁
?
、
、
、
我是一名计算机科学专业的学生,我有一个任务要求我使用
自旋
锁
锁定一个线程,并在它的关键部分完成后解锁它。困难是我搜索了很多次,但没有找到任何有用的信息。例如,我试图包括像#include <
linux
/spinlock.h>这样的标题,但是当我使用gcc编译这个c程序时,它说找不到这样的头。那么,我应该包括哪些标头,需要调用哪些函数才能使用
自旋
锁
?
浏览 4
提问于2016-11-26
得票数 2
1
回答
一个正在旋转并试图获得
自旋
锁
的线程不能被抢占吗?
、
、
、
当
Linux
上的线程正在旋转并试图获得
自旋
锁
时,这个线程不可能被抢占吗?我只想确定一些事情。在“向上”系统上,并且没有中断处理程序将访问这个
自旋
锁
。如果正在旋转并试图获得
自旋
锁
的线程可以被抢占,我认为在这种情况下,spinlock保护的关键部分可以调用sleep,因为保持
自旋
锁
的线程可以重新调度回CPU。
浏览 5
提问于2015-11-26
得票数 2
2
回答
内核代码在持有
自旋
锁
时休眠
、
、
、
假设
Linux
驱动程序代码获取了一个
自旋
锁
,在临界区内,一个函数调用迫使在驱动程序顶部运行的进程休眠。知道持有
自旋
锁
会禁用相关处理器上的抢占,进程是否有可能被唤醒,从而允许驱动程序代码释放
自旋
锁
?
浏览 0
提问于2014-10-17
得票数 0
1
回答
Linux
驱动程序上下文中的微秒延迟和
自旋
锁
、
、
、
我有一个关于
自旋
锁
和驱动程序延迟的一般性问题。我有一个在gpio中读写的
Linux
驱动程序。读写操作采用单引脚进行,完全基于时序(、HDQ协议、)。最初的驱动程序是使用udelay()调用
实现
的,最糟糕的场景是500 us。驱动程序不
实现
任何中断,只是使用常规的gpio_get_value()和gpio_set_value().在特定的GPIO中进行定期读取和写入。在这些延迟之间,驱动程序包含
自旋
锁
。这有多安全?我有点担心这些被旋
锁
所包围的延迟。
浏览 6
提问于2016-10-03
得票数 0
1
回答
当所有线程都是潜在的更新者时,rcu在某种程度上有用吗?
、
、
我的问题实际上是针对
linux
的rcu列表
实现
的。我需要为正在从列表中读取和更新(比如删除该条目)的任何临界区持有一个
自旋
锁
,因为在读取之后看到的rcu版本可能不适合更新。你认为有没有办法在这样的场景中有效地利用(即最小化持有
自旋
锁
的部分) rcu
实现
?
浏览 1
提问于2013-06-27
得票数 0
1
回答
Linux
如何
实现
‘队列
自旋
锁
’?
、
根据的文章,从4.2版开始,
Linux
内核就会有队列
自旋
锁
。但是在4.4版中,我研究了spin_lock的
实现
,发现它们在kernel/locking/spinlock.c中
实现
了这样的
自旋
锁
} \ 在do_raw_spin_trylock中有一个do_raw_spin_trylock,基本上它只是一个TATA
浏览 2
提问于2016-01-18
得票数 1
回答已采纳
2
回答
如何估计
自旋
锁孔/等待时间?
、
我正在研究
Linux
内核中的
自旋
锁
。我需要估计
锁
的时间和
锁
的等待时间。为此,我首先尝试修改
自旋
锁
函数(arch_spin_lock()),但由于无法构建内核,所以无法修改该函数。是否有办法
实现
这一目标?我认为有一种方法可以使用msr或系统实用程序。谢谢!
浏览 0
提问于2018-04-01
得票数 0
回答已采纳
4
回答
在Boost中
实现
自旋
锁
。所需的示例
、
、
、
我想知道boost是否有帮助
实现
自旋
锁
的库。我知道boost支持互斥
锁
,但我找不到任何在boost.Any中展示或描述
自旋
锁
的例子,展示如何使用boost(最好)
实现
自旋
锁
的例子将不胜感激。
浏览 3
提问于2013-11-02
得票数 3
3
回答
检查是否在核心转储中持有
自旋
锁
。
、
、
我试图分析
Linux
内核内核转储中的
自旋
锁
变量。在互斥
锁
的情况下,如果互斥锁住了,计数变量的值应该是0。如果是
自旋
锁
,spinlock_t my_lock的字段如下 (arch_spinlock_t) raw_lock如果
锁
被拿走了,会不会有不同的值?是否有其他方法检查
自旋
锁
变量的转储,以确定它是否已被接受?价值体系结构是依赖的吗?
浏览 3
提问于2015-01-02
得票数 4
回答已采纳
1
回答
linux
内核中的__context__属性
在Kernel中包括\
linux
\编译器.h#define __release(x) __context__(x,-1) 请帮助我理解,在上述声明中,我们试图用上下文
实现
什么。当我理解
linux
内核中的
自旋
锁
实现
时,我跨越了它。
浏览 2
提问于2015-02-17
得票数 6
1
回答
如何知道内核空间中是否持有
自旋
锁
、
、
、
我正在使用NVIDIA API编写一个
Linux
设备驱动程序,我注意到如果我调用一个持有
自旋
锁
的函数,它就会失败。我在问自己,一个内核函数如何知道它是否被称为持有旋转
锁
?nvidia_p2p_get_pages(...)这种情况下的函数p2p_get_pages返回一个错误(但如果我使用它时没有使用
自旋
锁
也许它想要另一个
自旋
锁
?还是睡觉?或者它检查
自旋</
浏览 0
提问于2015-02-04
得票数 0
1
回答
CPU松弛指令和C++11原语
、
、
、
、
我注意到许多使用操作系统特定原语
实现
的无
锁
算法,例如描述的
自旋
锁
(它使用
Linux
特定的原子原语)经常使用"cpu relax“指令。GCC可以通过以下方式
实现
这一点:具体来说,这条指令通常用于while循环
自旋
锁
的主体中,同时等待变量设置为某个值。
浏览 5
提问于2014-08-07
得票数 17
1
回答
票证锁定算法性能?
、
有人熟悉票证锁定算法,它取代了
linux
内核中的基本
自旋
锁
算法吗?我希望能找到这方面的专家。我从一些在线消息来源中了解到,票证锁定算法应该更快,因为朴素算法在CPU总线上淹没了所有试图同时获得
锁
的线程。有人能为我确认/否认吗?在我看来,一个不公平的算法应该更快一点,因为在早期占据
锁
的线程完成得更快,使调度程序的工作量更少。如果它不是更快,为什么在内核中<e
浏览 1
提问于2012-05-01
得票数 3
1
回答
如何在
Linux
中
实现
自旋
锁
?
、
我正在考虑如何在
Linux
中为spinlock
实现
“防止上下文切换”的特性。大图片/伪代码是可以接受的,因为我只是知道它背后的逻辑。
浏览 0
提问于2018-12-27
得票数 2
回答已采纳
4
回答
java并发包是使用
锁
实现
的吗?
、
、
、
Mutex 被用作四种主要的同步机制,它们纯粹是基于
锁
的POSIX pthread包就是这种
实现
的一个这样的例子。最后两个是使用睡眠
锁
实现
的。 基于
锁
的同步在cpu周期方面是昂贵的。但是,我了解到java.util.concurrent包并不使用
浏览 5
提问于2014-10-24
得票数 0
1
回答
linux
是否在终止进程时释放
自旋
锁
/信号量?
、
、
、
、
如果一个进程持有一些
自旋
锁
或信号量,并意外退出(例如,被
linux
杀死),
linux
会正确释放这些
锁
吗?如果
linux
不这样做,为什么?
浏览 6
提问于2012-03-19
得票数 9
1
回答
为什么在诸如preempt-rt内核这样的RTOS上响应时间是确定的?
、
、
、
、
我寻找了原因,我发现它与“
自旋
锁
”有关。然而,我无法理解“
自旋
锁定”是什么,以及它是如何影响响应时间的。
浏览 26
提问于2020-12-12
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux 内核 --- 自旋锁(spinlock_t)
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
CAS与自旋锁
Java并发编程:AQS的自旋锁
互斥锁、自旋锁、读写锁……理清它们的区别和应用
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券