• Wayland源码分析-Commit相关流程

    本文关注Wayland中从客户端执行wl_surface_commmit后相关的流程 Commit? 为什么需要commit操作? 因为,surface state需要double...


  • Wayland源码分析-damage相关流程

    wayland代码分析系列,刚刚开始,慢慢来~ 本文关注damage相关的流程 Damage? 什么是damage?做图形开发的同学应该还比较熟悉,准确定义就不去深究了。 可以理解为,当图形应用需要重绘指定区域时,发送的一种事件,X11协议中有针对Damage的专门的扩展协议,Wayland中,其实就是client向server发送的一种事件(request),server端(compositor)收到事件后进行相应的处理,通常也就是重绘指定的区域。...


  • 闲聊Linux内存管理(1)

    今天还有时间,之前一直想抽时间来写写Linux内核原理相关的东西,关注点不在代码,而在于内在的原理和机制,让大家对Linux内核有个总体的感性认识,个人认为这很有必要,把看似复杂、深不可测的内核实现,用大家都能理解的方式,用讲故事的方式,讲给大家听,如果有人听后,有原来不过如此的感觉,那我的目的就达到了。 # 内存管理 从哪里开始呢?还是从最基础的内存管理开始吧。 内存管理是Linux内核中最基础,也是相当重要的部分。理解相关原理,不管是对内存的理解,还是对大家写用户态代码都很有帮助。很多书上、很多文章都写了相关内容,但个人总觉得内容太复杂,不是太容易理解,这里想用我自己理解的简单的方式来描述,希望能有所帮助,按自己的思路,可能有点乱,见谅。 从内存分配开始...


  • 图形的未来

    好久没有写blog了,今天终于有时间可以写点什么了,今天还早,本来想写点内核相关的东西,但脑子里突然想到了这个话题,简单闲聊,权当笔记。 图形架构 之前写过有关Linux中图形架构的文章,有兴趣的同学可以去翻一下。其中图形引擎部分,原本仅关注了Xorg,但如今,Xorg似乎已经处在被淘汰的边缘,毕竟年纪太大,在软硬件都飞速发展的今天,Xorg应该是为数不多的年龄超过30岁的软件了。 Xorg为何会淘汰? 主要是因为其原有的架构设计与现如今各种严苛的绘图需求不相匹配,主要表现如:...


  • Disqus down

    又一堵墙 最近发现blog中的评论加载不了了,而且之前也有发现别人的评论我无法回复的问题,之前没有专门去研究,今天抽空看了下,原来是Disqus访问不了了,又被墙了,墙越来越高,不仅影响工作,也影响生活,生活在这里,只能默默忍受了。 翻墙,之前看似“必备”,但碍于平时实在没有时间去折腾,还是姑且算了,暂时看不了评论,也无法回复了。。。


  • 显卡内存管理机制及驱动实现(Intel gma500为例)

    背景 在Intel Atom芯片的环境中分析故障时,顺便看了下该环境的显卡驱动中的内存管理相关机制,显卡为Atom CPU的集成显卡,低端产品,gma500显卡。本文主要关注该显卡驱动中的内存管理相关的实现原理,其他显卡原理与之类似,有一定的参考意义。 CPU的内存管理...


  • 网络分片相关

    背景 记录网络分片相关的笔记,供参考,随性更新。。。 笔记 1、当上层发送的数据包大小超过mtu时,会进行分片(或分段) 2、通常情况下网络包分片(分段)在传输层(level...


  • 网卡多队列及中断均衡

    背景 记录网卡多队列及中断均衡相关的笔记,供参考。 概念 网卡多队列需要硬件和驱动同时支持,通常新服务器上的网卡都是支持的。 网卡多队列,即每个CPU一个网卡队列,每个队列对应一个独立的中断。...


  • 高分辨率显示器时开机动画无法显示问题分析

    问题现象 最近在环境中,使用23寸显示器时,发现系统的开机动画无法显示,图形环境正常,接19寸显示器时正常。 在内核启动参数中加上调试信息开关:plymouth:debug,查看plymouth的日志,发现日志中有如下报错: [ply-boot-splash.c] ply_boot_splash_show:showing...


  • 内核编码技巧

    背景 内核中编码有很多跟用户态不一样的地方,需要有一些技巧,本文做相关记录,不全面,随性更新。。。 内核中新增源码目录的方法 最近移植新驱动到老版本内核的过程中,发现新增的目录没有编译,尝试解决了,记录下主要步骤: 父目录的Makefile中添加obj-y=...