- 博客(20)
- 收藏
- 关注
转载 Linux的页面回收与反向映射机制
页面回收的实现Linux 操作系统进行页面回收需要考虑的方面很多,下图列出了 Linux 操作系统进行页面回收的关键代码流程图,该图给出了实现页面回收的关键代码函数名,并说明它们之间是如何彼此链接的。图 2. 页面回收关键代码流程图上文提到 Linux 中页面回收主要是通过两种方式触发的,一种是由“内存严重不足”事件触发的;一种是由后台进程 kswapd 触发的,该进程周期性地运行
2016-09-30 15:26:56 1453 1
原创 GPU interrupt
GPU 中断源总共有如下三个中断源:1)JOB 中断: JOB finish 产生中断;2)mmu中断:页表映射需求,如page fault ,BUS err等;3)GPU 中断: POWer states changges,Reset completed;
2016-09-25 16:52:01 967
转载 struct结构体的大小计算:
struct结构体的大小计算:struct 大小,与pack的大小(在程序中显示设置#pragma pack(),vc6.0默认大小为8)、结构中最大占用有关struct A{ int a; 0-3 4-7 要填充(padding)以保证内存对齐的原则 double b; 8-15 char c[9]; 16-24};
2016-09-25 15:58:22 725
转载 linux设备驱动程序中的阻塞机制
阻塞与非阻塞是设备访问的两种方式。在写阻塞与非阻塞的驱动程序时,经常用到等待队列。一、阻塞与非阻塞 阻塞调用是指调用结果返回之前,当前线程会被挂起,函数只有在得到结果之后才会返回。 非阻塞指不能立刻得到结果之前,该函数不会阻塞当前进程,而会立刻返回。 对象是否处于阻塞模式和函数是不是阻塞调用有很强的相关性,但并不是一一对应的。阻塞对象上可以有非阻塞的调用方式,我们可以通过一定
2016-09-25 15:24:05 2213
转载 linux下jiffies定时器和hrtimer高精度定时器
一、jiffies定时器,HZ=100,精度只能达到10ms。注:采用jiffies+msecs_to_jiffies(xx ms);可做到ms级,不过精度不够 #include //DO-->jiffies调用头文件#include //DO-->timer_list结构体static struct timer_list ms_timer;//DO-->定义timer_l
2016-09-23 20:30:14 2407
转载 linux 常用命令
Linux的bg和fg命令 我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。 www.2cto.com 假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看
2016-09-22 17:08:42 2681 1
原创 GPU performance tunning
DDR 输出带宽:640M*8byte=5.1GB/s(其中8byte受限为DMC/BUS宽度的影响)latency read:107nslatency write:43nsoutstanding:read :9 transactions ,write:3 transactionsburst length:7 ;transfer size:3;L2 ca
2016-09-22 15:47:54 1655
转载 Decress the bandwidth of the GPU
Technologies from ARMARM® Mali™ Technologies have been developed to allow ever increasing graphics complexity within the thermal limits of mobile devices. The technologies provide significant system
2016-09-18 19:10:44 696
转载 Android HardwareComposer中的fence机制
最近在写HardwareComposer,这东西的主要功能简单来说,就是把SurfaceFlinger准备好的各个layer data送到需要的地方去,以aosp中hardware/samsung_slsi/exynos5/libhwc 这个hwc为例,就是把layer data送到/dev/graphics/fb0去显示. 不过所谓的"sf准备好的layer",其实未必真的准备好了.
2016-09-15 14:45:47 1494
转载 Android中native_handle private_handle_t ANativeWindowBuffer ANativeWindow GraphicBuffer Surface的关系
在阅读SurfaceFlinger HardwareComposer以及gralloc相关代码的过程中,我们经常会遇到native_handle private_handle_t ANativeWindowBuffer ANativeWindow GraphicBuffer Surface等等一系列和memory相关的struct和class,他们相互之间到底是什么区别,又有什么联系呢?本文从st
2016-09-15 14:45:01 2802
转载 Android中使用ioctl方式操作fence
Android的hwc可以通过ioctl,把buffer data信息送入fb driver,由fb控制acquireFence和retireFence,以达到buffer的producer和consumer互相同步的机制,但是假如我们的hwc没有现成的ioctl可以用,又没有办法改到driver的code,我们还有一个选择:hwc可以打开/dev/sw_sync设备,通过一系列的ioctl来监控
2016-09-15 14:43:18 3095
转载 Android fb driver中的fence机制
Android HardwareComposer中的fence机制中讨论了hwc中的fence,hwc最终把layer的acqireFenceFd送进fb driver,再由fb drvier生成新的reitreFenceFd并return回user space.本篇文章我们来探讨下fb driver中的fence,看看S3CFB_WIN_CONFIG ioctl都做了些什么. ke
2016-09-15 14:41:49 2054
转载 taglist
Vim Taglist插件的安装与配置Taglist是以tags文件为基础,需要ctags生成tags文件。安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/
2016-09-15 14:24:12 855
转载 androidM 显示框架
一. android显示系统的建立 我们看SurfaceFlinger的定义就知道,它其实是一个Thread, 因此SurfaceFlinger的初始化工作就理所当然的放在了SurfaceFlinger线程中,详见readyToRun()@SurfaceFlinger.cpp SurfaceFlinger对于显示的管理是通过一个或多个GraphicPlane对象
2016-09-08 20:52:33 1741
转载 androidM app 运行权限问题
新运行时权限android的权限系统一直是首要的安全概念,因为这些权限只在安装的时候被询问一次。一旦安装了,app可以在用户毫不知晓的情况下访问权限内的所有东西。难怪一些坏蛋利用这个缺陷恶意收集用户数据用来做坏事了!android小组也知道这事儿。7年了!权限系统终于被重新设计了。在android6.0棉花糖,app将不会在安装的时候授予权限。取而代之的是,app不得不在运行时
2016-09-08 16:20:19 1705
转载 vim ctags 浏览代码
用VIM浏览源代码之跳转到函数/数据类型/变量的定义处1. 先查看是否安装了ctags用which命令检查:# which ctags/usr/bin/which: no ctags in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin) // 说明没安装ctags。用rpm命令
2016-09-06 10:10:06 400
转载 Mali GPU OpenGL ES 应用性能优化--基本方法
1. 常用优化工具2. 常用优化方案 OpenGL ES优化的主要工作是在图形管道中找到影响性能的bottleneck,其bottleneck一般表现在以下几方面: • 在应用程序代码中,如冲突检测 • GPU与主内存间的数据传输 • 在VP(Vertex Processor)中的顶点处理 • 在FP(Frag
2016-09-05 14:52:20 619
转载 Mali GPU OpenGL ES 应用性能优化--测试+定位+优化流程
1. 使用DS-5 Streamline定位瓶颈 DS-5 Streamline要求GPU驱动启用性能测试,在Mali GPU驱动中激活性能测试对性能影响微不足道。1.1 DS-5 Streamline简介 可使用DS-5 Streamline从CPU和Mali GPU中实时收集性能计数器,然后以图形方式显示这些计数器,其主要功能如下: • 收集计数
2016-09-05 14:50:45 2844
转载 Mali GPU OpenGL ES 应用性能优化--基本概念
http://blog.csdn.net/myarrow/article/details/17675711/1. 基本概念1.1 Mali GPU家族 Mali GPU家族都包含以下通用的硬件: • 基于分块的延迟渲染: Mali GPU把framebuffer分成许多块(16 x 16像素),然后一块一块地进行渲染。基于分块的渲染是
2016-09-05 14:40:12 2445
转载 Android属性(property)机制
1. 属性简介Android里有很多属性(property),每个属性都有一个名称和值,他们都是字符串格式。这些属性定义了Android系统的一些公共系统属性。比如:[dalvik.vm.dexopt-flags]: [m=y][dalvik.vm.heapgrowthlimit]: [48m][gsm.operator.iso-country]: [][gsm.o
2016-09-03 15:01:00 2450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人