自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 envoy源码分析(二):处理客户端请求

在envoy源码分析(一):启动_wyy4045的专栏-CSDN博客中已经分析了envoy本身是一个完整的服务器,启动后,服务器中所有的组件都已经就绪,就绪后的服务器就可以处理客户端的请求了,本文通过一个简单的envoy使用实例来分析envoy服务器是怎么处理客户端请求的。第一节 用envoy完成一个简单的用例 envoy通过配置文件来完成各种用例,这里例举一个简单的用例,配置文件可以是json格式,也可以是yaml,本文使用的是yaml。 现在有一个用例,我们需要将地址12...

2021-07-28 17:57:06 927

原创 envoy源码分析(一):启动

envoy在处理请求时用到的主要的组件为Listener和Cluster,Listener负责监听downstream发送的请求,Listener监听到downstream发送的请求后,由Cluster来选择upstream中的某个端点来处理该请求,最终Listener将端点的回复信息传回到downstream,其架构图如下所示:Listener,Cluster在系统启动时会根据其配置被初始化。 Listener,Cluster和系统其余组件构成了一个完整的服务器,当所有这些组件初始化成功后,e..

2021-07-26 18:22:47 1648 1

原创 Linux 中断管理之ARM GIC V3 硬件中断号映射

Linux 中断管理之ARM GIC V3 初始化 中已经介绍了ARM GIC V3的初始化,函数gic_init_bases()在进行GIC V3初始化的时候会调用irq_domain_create_tree()函数来注册一个irq domain,irq domain用于硬件中断号的映射。Linux内核引入了irq domain的管理框架,irq domain框架可以支持多个中断控...

2020-03-19 21:14:33 1581

原创 Linux 中断管理之ARM GIC V3 初始化

1.ARM GIC V3中断控制器介绍GIC(Generic Interrupt Controller)是一个通用的中断控制器,用来接收硬件中断信号,并经过一定处理后,分发给对应的CPU进行处理。GIC V3是其中一个版本,支持的中断类型如下表: 中断类型 中断号 描述 SGI (Software Generated Interrupt) 0-15 ...

2020-03-14 11:10:18 2947

原创 linux中断管理之工作队列(三)——取消一个work

Linux中,驱动程序在关闭设备节点,出现错误,或者要挂起时,需要取消一个已经被调度的work。cancel_work_sync()函数取消一个已经调度的work,该函数的工作流程图如下:线程池中的delayed_work,不能通过cancel_work_sync()函数取消 调用者必须确保在cancel_work_sync()函数返回之前,work最后一次进入的工作队列不会被销毁 获...

2020-03-05 21:08:45 3766

原创 linux中断管理之工作队列(二)——工作调度

Table of Contents1将一个work加入系统workqueue1将一个work加入系统workqueueLinux系统中,schedule_work()函数将一个work放入系统workqueue中,schedule_work()函数的工作流程图如下: ...

2020-03-01 17:09:57 1136

原创 linux中断管理之工作队列(一)——工作队列初始化

工作队列机制(workqueue)是linux中断中一种最常用的下半部机制,相比tasklet而言,具有更高的实时性.工作队列有两种,带有WQ_UNBOUND标志位的工作队列绑定在每个CPU上,不带WQ_UNBOUND标志的工作队列放在内存节点中. linux内核中有几个和工作队列机制相关的重要数据结构.他们分别是:struct workqueue_struct,struct pool_workq...

2020-02-25 09:09:37 374

原创 kswapd内核线程

linux内核中有一个非常重要的内核线程kswapd,负责在内存不足时回收页面,kswapd内核线程初始化时会为系统中每个NUMA内存节点创建一个名为“kswapd%d”的内核线程。kswapd线程的初始化实现如下:/* * This kswapd start function will be called by init and node-hot-add. * On node...

2019-04-04 15:02:13 1791 2

原创 页框回收算法(PFRA)

1 页框回收算法(PFRA)linux内核的页框回收算法采取从用户态进程和内核高速缓存“窃取”页框的办法补充伙伴系统的空闲块列表。页框回收算法的目标之一就是保存最少的空闲页框池以便内核可以安全地从“内存紧缺”的情形中恢复过来。1.1选择目标页页框回收算法(PFRA)的目标就是获得页框并使之空闲。PFRA按照页框所含内容,以不同的方式处理页框。我们将他们区分成:不可回收页,可交换页,可同...

2019-03-21 17:59:15 992

原创 【Linux内核学习笔记五】内存管理-slab分配器

    slab分配器的基本思想是:将内核中经常使用的对象放到高速缓存中,并且由系统保持为初始的可利用状态。如果没有基于对象的分配器,内核将花费更多的时间分配,初始化以及释放一个对象。slab分配器的目的是缓存这些空闲的对象,保留基本结构,从而能够重复使用它们。     slab分配器由多个高速缓存组成,它们通过双向循环链表链接在一起,称为高速缓存链表。每个高速缓存包含若干slab,slab由...

2018-10-07 21:37:00 554

原创 【Linux内核学习笔记四】内存管理-伙伴系统

1.伙伴系统算法描述      linux系统采用伙伴系统算法来解决外碎片问题。主要做法是记录现存的空闲连续页框块的情况,以尽量避免为满足对小块的请求而分割大的空闲块。     伙伴系统算法中,把所有的空闲页框分为11个组,每个组对应一个链表,每个链表分别包含1、2、4、8、16、32、64、128、256、512和1024个连续页框。对1024个页框的请求对应着4MB大小的连续RAM块。...

2018-09-23 22:09:01 486

原创 Linux内核-内存寻址

本文主要描述80x86微处理器怎样进行芯片级的内存寻址及Linux如何利用寻址硬件。1 内存寻址逻辑地址:包含在机器语言指令中用来制定一个操作数或一条指令的地址。每一个逻辑地址都由一个段和偏移量组成,偏移量指明了从段开始的地方到实际地址之间的距离。线性地址(虚拟地址):是一个32位无符号整数,可以用来表示高达4GB的地址。线性地址通常用十六进制数字表示,值的范围为0x00000000到...

2018-09-02 19:09:08 46

原创 【Linux内核学习笔记三】内存管理-页面(page)

1.页面    系统的内存划分成大小确定的许多块,这些块也称为页面帧,页帧是系统内存的最小单位。内核需要保持该结构尽可能小,因为对于现代计算机,物理内存包含大量的页帧,即便是增加page一点点空间,都会导致保存所有页帧page结构多占用大量物理内存。例如当页长度为4KB,主内存384MB时大约需要100000页。     每个物理页面帧由一个 struct page 描述。它在<ke...

2018-08-29 17:33:05 5357

原创 【Linux内核学习笔记二】内存管理-管理区(zone)

1.管理区类型     在前一篇笔记中,已经对节点的概念进行了讲解。而节点又被分为多个管理区(zone),zone用于表示内存中的某个范围。管理区被分为多个类型。        ZONE_DMA:内存首部16MB,即低端范围的物理内存,某些工业标准体系结构(ISA)设备需要用到ZONE_DMA;        ZONE_DMA32:标记了使用32位地址字可寻址, 适合DMA的内存域。...

2018-08-24 18:22:05 3614

原创 【Linux内核学习笔记一】内存管理-节点(node)

      本文用于学习和分享,参考了《深入理解linux内核》《深入理解linux虚拟内存管理》等书籍以及内存管理相关的博文。1.UMA和NUMA两种模型UMA:均匀存储器存取(Uniform-Memory-Access,简称UMA)模型 NUMA:非均匀存储器存取(Nonuniform-Memory-Access,简称NUMA)模型2.簇      在NUMA体系结构中,内存被...

2018-08-16 16:39:51 2681

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除