杂问题记录

时间同步机制与ebpf

Portable_Time_Synchronization_Method_using_eBPF

PTP时间同步的具体原理 - 酷鲨科技的文章 - 知乎 https://zhuanlan.zhihu.com/p/571804924
两次同步,第二次网络传播时延,第一次是传输时延

PTP在Linux网络栈中的应用
https://linuxptp.sourceforge.net/

直接高速缓存访问(DCA)

DCA是一种通过将一些已发布的入站写操作直接放置在CPU缓存中来提高网络I/O性能的方法。

DCA可能消除由于入站写操作而引起的缓存未命中。DCA提供了一种机制,可以将来自I/O设备(如以太网NIC)的已发布写入数据与硬件预取一起放置到CPU缓存中。该机制在电源正常复位时进行初始化。

用于I/O设备的设备驱动程序配置了DCA,并设置了适当的CPU ID和总线ID,以便设备发送数据。然后,设备将该信息封装在PCIe TLP头中,通过标签字段触发硬件预取到CPU缓存中。

DCA与DMA

DCA(Direct Cache Access)和DMA(Direct Memory Access)是两种不同的技术,用于改善数据传输的效率和性能。它们的区别如下:

  1. 目标:

    • DCA的目标是将来自I/O设备的数据直接放置到CPU缓存中,以减少对内存的访问和缓存未命中的次数。这样可以提高数据访问的速度和效率。
    • DMA的目标是通过绕过CPU,直接在外设和内存之间进行数据传输。DMA允许外设控制器直接访问内存,并进行高速数据传输,减轻了CPU的负担。
  2. 数据传输方式:

    • DCA通过硬件预取将数据从I/O设备传输到CPU缓存,从而使数据在CPU和主存之间的传输更加高效。
    • DMA通过外设控制器读取或写入内存来完成数据传输,而不需要CPU的干预。外设控制器直接将数据传输到内存中的指定位置,或从指定位置读取数据。
  3. 应用场景:

    • DCA主要用于减少网络I/O操作的延迟,提高网络性能。它在高性能网络设备(如以太网卡)和网络协议栈中广泛应用。
    • DMA主要用于数据传输密集型设备,如磁盘控制器、图形卡等。它可以提高数据传输的速度和效率,减少CPU的负载。

总的来说,DCA是一种针对CPU缓存的优化技术,通过将数据直接放入缓存中来提高数据访问的速度;而DMA是一种直接在外设和内存之间进行数据传输的技术,减轻了CPU的负担并提高了数据传输效率。它们可以在不同的应用场景中相互补充使用。

page fault的两种区别(major、minor)

https://blog.youkuaiyun.com/rikeyone/article/details/108623187
区别
对于IO子系统来说,内核中的分层结构从上到下:

VFS–> EXT4/EXT3–>Page Cache–> General Block Layer --> IO Scheduler --> Disk Driver

那么如果访问一个地址时,与该地址空间vma绑定的数据还存在于Disk上,那么此时即会触发一次major fault;如果访问一个地址时,与之绑定的vma对应的地址空间已经被内核加载到了Page Cache中,那么此时只需要把该Page映射到vma中即可,这种异常即为一次minor fault。
对于内核不熟悉的人此时有一个疑问:为什么数据已经被加载内核中的Page Cache了,理论上说直接访问就行了,为什么还要触发一次minor fault呢?
这里给出答案,懂得人可以略过,主要是因为虚拟地址和物理地址的映射关系并没有建立,我们知道Linux进程访问一块内存实际上使用的是虚拟内存,必须把对应虚拟地址空间和物理页面进行了映射才能够正常访问,那么vma结构体实际仅仅表示一个虚拟地址空间,必须把内核中Page Cache中的物理地址与进程vma虚拟地址空间进行映射才能正常被进程访问到。
————————————————
版权声明:本文为优快云博主「程序猿Ricky的日常干货」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/rikeyone/article/details/108623187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值