Linux-storage-stack-diagram】的更多相关文章

这是一个描述非常好的存储栈,版本为:Linux Storage Stack Diagram v4.10,我在这里转载下图片,可以提升大家对存储栈的理解. https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram https://www.thomas-krenn.com/de/wikiDE/images/7/72/Linux-storage-stack-diagram_v4.10.svg blk-mq(mq就是多队列的意思),…
相关文章: 如何提高Linux下块设备IO的整体性能?…
https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram…
http://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ Jun 22, 2016 • packagecloud Tags: packagecloud linux kernel networking optimization tuning monitoring TL;DR This blog post explains how computers runn…
https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Network Stack http://blog.jobbole.com/62917/ [A slightly shorter and edited version of this article appeared in the July 2013 issue of Linux Journal. Thanks…
整理一些杂乱的内容.以下x86架构. Linux 内核栈大小 内核栈大小是固定的,默认为8k,曾经有选项可以设置为4k栈.由于大小固定,申请过大的栈内存,或者函数调用层次过深,都可能导致栈溢出. 关注默认4k还是8k栈,社区曾有过长时间讨论. 其中8k栈的缺点如下: 浪费内存. 由于内核4k分页,要创建一个内核栈就需要申请2块连续的4k页.当内存碎片严重,尤其内存紧张的时候,申请8k的连续内存,要比4k困难的多. 但貌似4k栈带来的麻烦更大,内核中许多bug都由4k栈太小,发生溢出导致的. 因此…
Overview 从宏观的角度来看,一个packet从网卡到socket接收缓冲区的路径如下所示: 驱动加载并初始化 packet到达网卡 packet通过DMA被拷贝到内核中的一个ring buffer 产生一个硬件中断,让系统知道已经有个packet到达内存 驱动会调用NAPI启动一个poll loop,如果它还没启动的话 系统的每个CPU上都有一个ksoftirqd进程,它们都是在系统启动的时候就已经注册了的.ksoftirqd进程会调用NAPI的poll函数从ring buffer中将p…
2D图形架构 早期Linux图形系统的显示全部依赖X Server,X Client调用Xlib提供的借口向 X Server发送渲染命令,X Server根据 X Client的命令请求向硬件设备绘制图形,X Client与X Server之间通过X11协议通讯.通过这种方式,X Server屏蔽了所有的硬件差异,保证同一个X程序能够在不同的硬件设备上运行. X Server需要与多种多样的硬件打交道,每个硬件提供自己的DDX驱动程序,X Server最后调用DDX的接口将图形发送给硬件设备.…