自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 schedutil--调频与调度的交互

cpufreq_update_utilsched模块通过cpufreq_update_util进行调频, flags里包含SCHED_CPUFREQ_WALT,表示是WALT负载变化导致的调频; 否则,就是PELT负载变化引起的调频, 高通设备的默认配置中为WALT负载追踪,因此需要重点关注因WALT产生的调频; static inline void cpufreq_update_util(struct rq *rq, unsigned int flags){ struct

2021-07-18 16:21:03 2142

原创 高通Q888内核源码分析--概述篇

基于小米开源代码Linux Kernel5.4.61, github地址为https://github.com/MiCode/Xiaomi_Kernel_OpenSource.gitstar-r-oss Mi 11 Lite 5G, Mi 11 Pro, Mi 11 Ultra, MIX FOLD Android R LA.UM.9.14.r1-11500-LAHAINA.0 star-r-oss 第一部分 调频部分1. 调频与调度的交互2. 调频相关的负载信号

2021-07-18 16:11:01 1457

原创 Leetcode 632最小区间

632. 最小区间难度 困难 | 标签 哈希表 双指针 字符串Description你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。 示例 1:输入:nums = [[4,10,15,24,26

2020-12-04 21:21:21 202

原创 Chrome ERR_PROXY_CERTIFICATE_INVALID

--ignore-certificate-errors1. Windows 可以在chrome启动参数增加上述参数2. Ubuntu可以在/opt/google/google-chrome中修改

2020-08-16 11:33:44 4929 6

转载 ubuntu下perl模块的安装方法(包括windows)

转自  http://www.cnblogs.com/djcsch2001/archive/2011/04/22/2025254.htmlPerl 到了第五版增加了模块的概念,用来提供面向对象编程的能力。这是 Perl 语言发展史上的一个里程碑。此后,广大自由软件爱好者开发了大量功能强大、构思精巧的 Perl 模块,极大地扩展了 Perl 语言的功能。CPAN(Comprehensive

2013-05-14 11:56:11 1974

转载 查看android所有分支的方法

在网上搜了以下,都是获取某个分支的。如果哦用   repo init -u git://Android.git.kernel.org/platform/manifest.git取得分支,获得的是最近的正在研发的代码,而不是你想要的稳定代码。 所以我们获取稳定的代码,先要看看当前有些什么branch.打开android 官网   http://source.android.c

2013-02-19 09:07:24 1321

原创 Ubuntu12.04安装adb & fastboot

Install "android-tools" package (adb and fastboot) in Ubuntu 12.04, 11.10 or 11.04Like I've said above, android-tools is available in the official Ubuntu 12.10 repositories so all you have to do

2012-12-29 09:27:35 4065

原创 Ubuntu12.04安装skype

添加Canonical Partner Repository 并安装skypesudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"sudo apt-get update && sudo apt-get install skype

2012-12-25 18:53:54 1119

原创 Android启动

一、init进程     init进程(system\core\init),它是系统内核kernel启动后的第一个用户级进程。这时候,手机或者模拟器出现的画面是一个console,显示“ANDROID”信息。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。它执行的主要任务有:(1)

2012-11-26 17:09:38 970

转载 如何在linux内核中调用用户空间的程序

教科书里的Linux代码例子都已作古,所以看到的代码不能当真,领会意思就行了比如以前的init进程的启动代码execve(init_filename,argv_init,envp_init); 现在改为static void run_init_process(char *init_filename){argv_init[0] = init_filename;kern

2012-11-07 21:19:28 1402

原创 ARM based Linux中断(四)

下面介绍三对管理中断的函数,这些函数都是对第2节中提到的内核中的数据结构进行操作。第一对:request_irq和free_irq一般用于动态注册irq_action结构到内核,在设备驱动中使用;第二对:setup_irq和remove_irq用于静态的注册irq_action,一般用于启动之处的函数的注册和移除;第三对:__setup_irq和__free_irq仅用于内核中断核心代码,一般内核

2012-09-17 16:35:10 1420

原创 Linux内核中断相关的数据结构 (三)

中断相关的数据结构 1.      irq_descstruct irq_desc {structirq_data        irq_data;struct timer_rand_state*timer_rand_state;unsigned int __percpu    *kstat_irqs;irq_flow_handler_t handle_irq;#ifd

2012-09-17 16:31:11 2769

翻译 GIC 之三

3中断处理及优先化(Prioritization)概述本章的主要内容如下:Ø  中断处理(interrupthandling)主要描述n  GIC如何识别中断n  软件如何通过编程GIC来配置和控制中断n  GIC处理任意CPU interface中断的状态机n  CPU的异常模式下如何与GIC交互Ø  优先化(prioritization)n  配置和控制

2012-09-06 21:47:00 3599

翻译 GIC 之二

GIC架构可以分为Distributor,CPUinterface和VirtualCPU interface三大部分。VirtualCPU interface只在支持VirtualizationExtensions的系统存在。Ø  Distributor Distributor主要完成中断优先级处理(interrupt prioritization)和分配(distribution)中断到

2012-09-06 21:43:57 2276

翻译 GIC (General Interrupt Controller)之一

1 中断术语1.        中断状态n  Inactive中断尚未激活或挂起n  Pending中断已经由硬件或者软件产生,正等待目标CPU处理n  ActiveCPU已经应答(Acknowledge)来自GIC的中断,该中断正在被CPU处理但尚未完成。n  Active& PendingCPU正在处理该中断,此时GIC又收到来自该中断源的中断。

2012-09-06 21:40:15 4997

原创 ARM based Linux中断 (二)

1      中断处理一般的中断处理过程如图1所示,可以看出中断的处理过程是软件和硬件协同完成的。图1中断处理过程当中断发生后,当前处理器上正在执行的任务将被中断, CPU(Processor Interrupt logic)将会完成一些保护现场跳到中断向量表等工作,在跳转中断向量表后开始执行一些体系结构相关的工作,然后进入通用的中断处理流程,然后找到相应的中断处理函数并执

2012-08-25 16:40:18 2458

原创 ARM based Linux中断 (一)

在start_kernel会存在如下调用start_kernel setup_arch early_trap_init early_irq_initinit_IRQlocal_irq_enable();1 中断相关的初始化工作内核配置选项关于中断子系统的配置如下:CONFIG_GENERIC_HAR

2012-08-25 16:33:25 1871

原创 Linux时间管理(7)

在freerun_clocksource_init函数中向系统注册新的时钟源,但没有切换时钟源。freerun_clocksource_init       clocksource_mmio_init              clocksource_register_hz                     __clocksource_register_scale

2012-08-14 18:48:14 1474

原创 Linux时间管理(六)

1     NOHZ模式(动态时钟)在dynamic tick引入之前,内核一直使用周期性的基于HZ的tick。传统的tick机制在系统进入空闲状态时仍然会产生周期性的中断,这种频繁的中断迫使CPU无法进入更深的睡眠。如果放开这个限制,在系统进入空闲时停止tick,有工作时恢复tick,实现完全自由的,根据需要产生tick的机制,可以使CPU获得更多的睡眠机会以及更深的睡眠,从而进一步节能

2012-08-14 18:44:43 2804

原创 Linux时间管理(五)

1.1     低精度下的hrtimer在低精度模式下,hrtimer的核心处理函数是 hrtimer_run_queues,每一次 tick中断都要执行一次(在tick的中断处理函数中调用update_process_times)。这个函数的调用流程为: update_process_times    run_local_timers        hrtim

2012-08-14 18:43:25 2301

原创 Linux时间管理(四)

hrtimer是建立在per-CPU时钟事件设备上的,对于一个SMP系统,如果只有全局的时钟事件设备,hrtimer无法工作。因为如果没有per-CPU时钟事件设备,时钟中断发生时系统必须产生必要的IPI中断来通知其他CPU完成相应的工作,而过多的IPI中断会带来很大的系统开销,这样会令使用hrtimer的代价太大,不如不用。为了支持hrtimer,内核需要配置CONFIG_HIGH_RES_TI

2012-08-14 18:42:15 1654

原创 Linux时间管理(三) GTOD

1      通用时间子系统1.1      用于时间管理的对象       时钟源设备(clock-source device)系统中可以提供一定精度的计时设备都可以作为时钟源设备。如x86构架里的TSC、HPET、ACPI PM-Timer、PIT等。但是不同的时钟源提供的时钟精度是不一样的。像TSC、HPET等时钟源既支持高精度模式(high-resolution mod

2012-08-13 19:50:10 11845

原创 Linux时间管理 (二)

1.1      Wheel时钟的实现(低精度定时器的实现)通常OS操作系统都支持Wheel方式,例如Linux、Neclues和vxworks都支持100-200Hz的节拍时钟。通过节拍OS进行时钟刷新以及产生任务调度,而每个硬件节拍就称为tick。1.1.1        核心数据结构在Linux 2.6.16之前,内核一直使用一种称为timer wheel(定时器轮)的机制来

2012-08-13 18:44:30 1829

原创 Linux时间管理(一)

linux的时钟系统的两大主要功能是计时和定时。计时功能就是指记录或设置当前的系统时间(包括日期),gettimeofday、settimeofday、time、clock_gettime、clock_settime等系统调用与计时相关。定时功能与定时器相关。设定一个定时器的(定时)时间,设定定时器的回调函数,启动定时器,在(定时)时间到时,定时器的回调函数会被调用。在 Linux内核中主要有

2012-08-13 18:31:12 1531

ARM GIC v2.0手册

ARM的GIC开发手册,可以作为详细的参考~~对分析内核中的ARM体系结构相关代码很有帮助

2012-08-15

ARM GNU 汇编语言参考手册

GNU标准的ARM汇编,给做ARMLinux开发的兄弟们

2012-08-15

Android电源管理

Android电源的整体架构及内核电源管理的介绍

2012-07-26

空空如也

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

TA关注的人

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