atomic在linux编译不通过,内存障碍和在linux上的atomic_t

最近我正在阅读一些

Linux内核空间代码,我看到了这一点

uint64_t used;

uint64_t blocked;

used = atomic64_read(&g_variable->used); //#1

barrier(); //#2

blocked = atomic64_read(&g_variable->blocked); //#3

这段代码片段的语义是什么?确保#1在#3之前执行#2.

可是,我是一个乱七八糟的人,因为这样@H_403_6@

#A在64位平台中,将atomic64_read宏扩展为@H_403_6@used = (&g_variable->used)->counter // where counter is volatile.

在32位平台中,它被转换为使用锁cmpxchg8b.我假设这两个具有相同的语义,对于64位版本,我认为这意味着:@H_403_6@

>全部或全部,我们可以排除地址不对齐,字长大于cpu本机字大小的情况.

>无优化,强制cpu从内存位置读取.@H_403_6@

atomic64_read没有保留读取顺序的语义!见this@H_403_6@

#B屏障宏定义为@H_403_6@/* Optimization barrier */

/* The "volatile" is due to gcc bugs */

#define barrier() __asm__ __volatile__("": : :"memory")

从wiki this起只是防止gcc编译器重新排序读写.@H_403_6@

我困惑的是如何禁用cpu的重新排序优化?另外,我可以想到屏障宏是全面的?@H_403_6@

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pythonrgb高精度浮点运算类型_python实现RGB字符串,按24位对齐后输出对应Integer行数字...

题目来源:2021届字节跳动算法岗笔试题题目描述:实现一个RGB字符串(如:rgb(0, 50,255) ),按24位数字对齐后输出对应Integer型数字。R为高位,B为低位。例如:输入 rgb(0, 50,255) ,输出13055输入描…

idea升级2019.3后字体有的粗有的细

解决办法: 设置File–>Settings–>Editor–>Fallback font–>SimHei

飞天2.0 | 万物智能的基础服务

在2018杭州云栖大会的主论坛上,阿里云技术研发总经理蒋江伟发表了《飞天2.0,万物智能的基础服务》的主题演讲,从全连接、安全、简便、高速四个方面,阐述了飞天2.0网络的新特性。 蒋江伟表示,万物智能时代产生的海量数据…

黑科技揭秘:3分钟,轻松构建一张覆盖全球的企业专有网络

2018杭州云栖大会主论坛上,阿里巴巴研发技术总经理 蒋江伟在大会现场演示了分钟级构建企业专有网络的技术。 回顾一下当时的场景,一共有三步操作:上电, WAN口连接Internet,LAN口连接电脑,在工程师没有对设备…

恕我直言,有了这款 IDEA 插件,你可能只需要写 30% 的代码。。。

文章目录1. 安装(EasyCode)2. 建立数据库3. 在IDEA配置连接数据库4. 开始生成代码5. pom.xml6. Application.yml7. 启动项目8. 测试一下Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。…

linux硬盘为啥分区,Linux下为什么要进行磁盘的分区

一、先从整体上说说说分区的好处:1.数据安全:主要方面:只用一个分区,若遇到系统需要重装或者分区需要进行格式化等,原有的重要文件无法在本硬盘保留,而若提前进行了合理分区,则用户数据不会收到影响次要方面,我们知道&…

双十一提前预热,这款耳机直降80元!

还有不到10天时间就到双十一狂欢购物节了你们是不是已经把购物车加满了呢?反正的我已经加了好多了此时好想自己有个程序员男友帮我把购物车清空可惜了赶不上了之前推荐了一款兰士顿的T7R按键版蓝牙耳机大部分购买的用户给我的反馈说还不错哦但是也有一部分人问我有没…

python以写模式打开录入_Python的学习(六)—-文件和输入输出处理 | 学步园

Python中的文件和输入输出处理1. 文件对象的概念文件对象不仅可以用来访问普通的磁盘文件,还可以访问任何其他类型抽象层面上的文件。例如实时地“打开一个URL”来读取Web页面,在另一个独立的进程中执行一个命令进行通信,就好像是两个同时打开…

阿里云朱照远:视频云2.0,更大规模、更智能、更清晰

在2018杭州云栖大会19号下午的主论坛上,阿里云视频云总经理朱照远发表了《视频云2.0,智享未来视界》的主题演讲,从超大规模、智能化、实时连接、超高清8K这四个方面,阐述了视频云2.0的定义。 朱照远表示,在这个超大规模…

这次的新计算,很全能!

在2018杭州云栖大会上,阿里云技术研发总经理蒋江伟发表了《全能计算,灵活稳定》的主题演讲,从函数计算、弹性容器实例、高吞吐ESSD云盘、弹性裸金属服务器、SCC超级计算集群这五个方面,阐述了飞天2.0计算的新特性。 蒋江伟表示&am…

linux virtualhost不能正常运行,造成网站无法正常运行的4个原因!

原标题:造成网站无法正常运行的4个原因!同虚拟主机产品对网站开发环境要求不同,如果两者不兼容,网站自然无法正常运行,这也是最常见的原因之一。因此,用户需设计好自己网站的开发环境,再去选择匹…

AMD第二代7nm GPU现身:原生支持光追;Facebook曾洽谈收购Fitbit 但谷歌的报价是其两倍……...

极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周两次,打卡即read更快、更全了解泛云圈精彩newsgo go go近日,位于软件园的联想未来中心正式开幕&…

阿里云首席智联网科学家丁险峰:每个企业都将有LoRa

一场由物联网(IoT)技术引发的“万物智联”革命正在加速到来。而物联网,也成为了阿里巴巴在继电商、金融、物流、云计算后新的主赛道。 在2018年9月19日杭州云栖主论坛上,阿里云首席智联网科学家丁险峰从天空物联网的搭建、达尔文计…

3. 什么是icmp?icmp与ip的关系_月入3万的大龄剩女相亲被拒:如果余生是你,晚一点有什么关系...

做你的情感树洞。点击上方“关注”,你的故事,你说,我听禾田飞歌 | 原创文章1、“爱情是我坚持了这么久的原则,我为什么要放弃呀?”等待爱情,盛如曦用了35年,还是没有等到她的意中人,…

SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory

org.apache.commons.discovery.DiscoveryException: Class org.apache.commons.logging.impl.SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory但是在 commons-logging包下根本没有SLF4JLogFactory类 解决方法 所以要引入 <dependency><g…

阿里云安全肖力:云的六大安全基因助力企业构建智能化安全体系

杭州云栖大会主论坛上&#xff0c;阿里云安全事业部总经理肖力发表了《云安全&#xff0c;技术驱动智能化防御》主题演讲&#xff0c;结合企业的安全痛点详细解读了云上安全的六大优势&#xff0c;并指出了企业安全最佳实践之道。 肖力表示&#xff0c;传统的企业安全边界正在…

美国爆料:量子计算机将如何颠覆一切?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 架构师技术联盟责编 | 阿秃世界第一超算Summit需要大约1万年来完成的计算&#xff0c;量子计算机需要多久&#xff1f;谷歌研究人员给出答案&#xff1a;3分20秒。据英国《金融时报》报道&#xff0c;谷歌研究人员在本周向美…

linux删除磁盘后刷新,linux – 短暂的文件是否刷新到磁盘?

我的程序创建了许多小的短期文件.它们通常在创建后的一秒内被删除.这些文件位于由真实硬盘支持的ext4文件系统中.我知道Linux会定期将(pdflush)脏页刷新到磁盘.由于我的文件是短暂的,很可能它们不是由pdflush缓存的.我的问题是,我的程序是否会导致大量磁盘写入&#xff1f;我担…

奥运转播加速上云,北京冬奥组委测试阿里云视频传输技术

10月11日晚&#xff0c;北京冬奥组委与国际奥林匹克转播机构进行了云视频传输技术测试&#xff0c;工作人员通过阿里云传输技术&#xff0c;对布宜诺斯艾利斯青奥会多个项目进行多路电视转播测试&#xff0c;监测了实时传播的画面清晰度、延时等指标&#xff0c;并模拟了整套体…