做网站必需要在工商局备案吗,百度一下百度搜索百度一下,最牛的网站建设,新手学做免费网站目录 利用缓存提高性能的编程技巧
实现方式 利用缓存提高性能的编程技巧
利用GCC编译器对齐属性 __attribute__((__aligned__(n))),利用处理器的缓存提高程序的执行速度#xff1b;
使变量的起始地址对齐到一级缓存行长度的整数倍#xff1b;使结构体对齐到一级缓存行长度…目录 利用缓存提高性能的编程技巧
实现方式 利用缓存提高性能的编程技巧
利用GCC编译器对齐属性 __attribute__((__aligned__(n))),利用处理器的缓存提高程序的执行速度
使变量的起始地址对齐到一级缓存行长度的整数倍使结构体对齐到一级缓存行长度的整数倍使结构体中一个字段对齐到一级缓存行长度整数倍
实现方式 1、以 4 个下划线开头的宏 cacheline_aligned : 对齐到 一级缓存行的长度 。
#ifndef —cacheline_aligned
#define —cacheline aligned _attribute (( _aligned_ (SMP CACHE_BYTES)))
#endif 2、以四个下划线开头的宏____cacheline_aligned_in_smp:在对称处理器系统中等价于宏____cacheline_aligned,在单处理器中是空的宏。
#ifndef cacheline aligned_in smp
#ifdef CONFIG_SMP
#define _ cacheline_aligned in smp _cacheline aligned
#else
#define cacheline_aligned in smp
#endif /* CONFIG SMP */
#endif
3、 以两个下划线开头的宏_cacheline_aligned: 对齐到一级缓存行的长度并且把变 量放在 .data..cacheline_aligned 节中。
#ifndef _ cacheline_aligned
#define _ cachel ine_al igned \
__attribute ((_ aligned (SMP CACHE BYTES) , \
__section_ (.data .. cacheline_aligned )))
#endif /* _ cacheline_aligned */
4、以两个下划线开头的宏__cacheline_aligned_in_smp: 在对称多处理器系统中等价于宏__cacheline_aligned, 在单处理器系统中是空的宏。
#ifndef _ cacheline_aligned_in smp
#ifdef CONFIG_SMP
#define _ cacheline_aligned in srnp
#else
#define _ cacheline_aligned in srnp
#endif /* CONFIG_SMP */
#endif学习链接
kernel学习链接 参考
https://course.0voice.com/v1/course/intro?courseId2agentId0