• 2024-05-03linux锁的介绍和使用 -04
    本节参考:https://www.kernel.org/doc/html/latest/locking/index.htmlhttps://mirrors.edge.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/  锁的类型 Linux内核提供了很多类型的锁,它们可以分为两类: ①自旋锁(spinninglock); ②睡眠锁(sleepinglo
  • 2024-04-30软中断调度时机
    软中断处理流程目录软中断处理流程软中断处理的时机中断退出时软中断调度机制软中断处理的时机中断退出时(中断上下文)软中断线程处理中断退出时软中断调度机制判断是否属于中断上下文以及是否有软中断处与pending状态判断软中断线程是否处于runing状态(4.9内核引入)进行软
  • 2024-04-19软中断
    softirq软中断(softirq)是内核虚拟出的一种异步中断,通过raise_softirq()来触发,可以将一些不紧急的任务推迟执行。在软中断中可以处理中断下半部,比如网卡数据收发的软中断NET_TX_SOFTIRQ和NET_RX_SOFTIRQ,还可以处理一些需要异步执行的场景,比如定时器软中断TIMER_SOFTIRQ。softirq这
  • 2024-01-14软中断
    前言博主在公众号看到介绍中断的一篇文章,特此记录便于自我以后查阅原文公众号:无聊的闪客软中断软中断是纯软件实现的,宏观效果看上去和中断差不多的一种方式。什么叫宏观效果呢?意思就是说,中断在宏观层面看来,就是打断当前正在运行的程序,转而去执行中断处理程序,执行完之后
  • 2023-12-06Linux收包(L2层)
    一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且王页可全局搜索函数)网卡:Intel的igb网卡网卡驱动源码目录:drivers/net/ethernet/intel/igb/二、Linux启动Linux驱动,内核协议栈等等模块在具备接收网卡数据
  • 2023-07-162023.7.16 linux 软中断Softirqs 队列 Workqueues 并发管理队列cmwq
    Implementingwork-deferringmechanisms 延期任务Softirqs:Executedinanatomiccontext # kernel/softirq.c ;<linux/interrupt.h>.Tasklets:Executedinanatomiccontext Workqueues:Executedinaprocesscontext structsoftirq
  • 2023-06-11【Linux中断】中断下半部-软中断softirq的原理与使用
    软中断软中断是中断下半部的典型处理机制,是随着SMP的出现应运而生的,也是tasklet实现的基础,软中断的出现是为了满足中断上半部和下半部的区别,使得对时间不敏感的任务延后执行,而且可以在多个CPU上并行执行,使得总的系统效率可以更高。软中断有以下特性:产生后并不是马上可以执行,必
  • 2023-04-30linux 软中断
    中断的分类中断分为硬中断和软中断,其分类依据是实现机制,而不是触发机制,比如CPU硬中断,它是由CPU这个硬件实现的中断机制,但它的触发可以通过外部硬件(比如GPIO),软件的INT指令,或者CPU执行检测(访问非法地址、除法异常)。一些资料会把以上三种方式做区分,把INTn这种方式叫做软件中断,因
  • 2023-01-11linux 内核中的上下文判断
    linux内核中的上下文判断linux/include/linux/preempt.h.../**Arewedoingbottomhalforhardwareinterruptprocessing?**in_irq()-We'rein(
  • 2023-01-01Linux内核机制—softirq
     基于Linux-5.10.110一、软中断简介1.软中断是一种中断底半部机制,允许在中断上下文中,因此软中断函数中不能休眠。2.软中断是函数是在开中硬断的环境下调用,但是调用前
  • 2022-12-26内核进程rpciod
      近期在处理cpusoftlockup问题时注意到rpciod进程影响较大,先简单了解下,具体还未找到原因和解决方法rpciod进程简介rpciod进程对应的内核线程共有32个,从rpciod/0到rpci