- 博客(45)
- 资源 (3)
- 收藏
- 关注
原创 eas k5.5 (十):Thermal/Cpu Cooling as Energy Model (EM) user
Add support for devices in the Energy Model [LWN.net][PATCH v8 0/8] Add support for devices in the Energy Model - Lukasz Luba
2021-10-26 11:40:39
280
原创 WALT kernel4.14
一、关键数据结构 task event enum task_event { PUT_PREV_TASK = 0, PICK_NEXT_TASK = 1, TASK_WAKE = 2, TASK_MIGRATE = 3, TASK_UPDATE = 4, IRQ_UPDATE = 5,}; ravg /* ravg represents frequency sca...
2021-04-30 15:39:44
971
原创 [ltp][eas]测试用例解析
eas_one_small_task setup阶段:configure and enable tracing(/sys/kernel/tracing): 分析解析后的trace 加载trace,并按定义的结构体struct trace_record{}格式进行解析 echo 0 > tracing_on //disable tracing 创建一个while(1) task eas_one_small_t,每sleep 1ms起来...
2020-12-04 16:47:26
1531
原创 schedtune
sugov_get_util\--> boosted_cpu_util \--> schedtune_cpu_margin(util, cpu) \-->schedtune_cpu_boost schedtune_margin(util, boost) trace_sched_boost_cpu(cpu, util, margin)select_idle_sibling_cs...
2020-12-02 09:29:33
705
原创 [ltp][eas]eas_big_to_small.c
测试用例图示测试用例源码1 /* 2 * Copyright (c) 2018 Google, Inc. 3 * 4 * SPDX-License-Identifier: GPL-2.0-or-later 5 * 6 * Task starts out as a CPU hog and then becomes small. 7 * Task placement and downmigration latency are verified. 8 *...
2020-10-27 15:41:17
390
原创 cpu_scale/max_freq_scale/cpu_capacity/cpu_capacity_orig的含义
cpu_scale的意义 49 CPU0: cpu@0 {50 device_type = "cpu";51 compatible = "arm,cortex-a55";52 reg = <0x0 0x0>;53 enable-method = "psci";54 cpu-idle-states = <&CORE_PD>;55 cpufreq-data-v1 = <&cpufreq_cluster0_..
2020-10-13 16:06:07
2078
原创 root_domain
一、数据结构1.root_domain初始化函数调用关系start_kernel() \-sched_init(void) \-init_defrootdomain(); \-init_rootdomain(&def_root_domain)start_kernel() \-arch_call_rest_init() \-rest_init() \-kernel_init \-kernel_init_freeable(
2020-07-02 18:39:28
721
原创 eas k5.4 (一):v5.4 - Patch-set sched:fair: Reduce complexity of energy calculation
pending
2020-04-09 13:41:46
624
原创 eas k5.4 (七):v4.17 - Util(ization) Est(imated)
519329 sched/fair: Update util_est only on util_avg updatesa07630b sched/cpufreq/schedutil: Use util_est for OPP selectionf9be3e5 sched/fair: Use util_est in LB and WU paths7f65ea4 sched/fair: Add ...
2020-04-09 08:09:56
789
原创 eas k5.4 (九):v4.15 - Frequency Invariant Engine (FIE)
https://lkml.org/lkml/2017/7/6/268
2020-03-31 20:53:19
640
原创 eas k5.4 (八):v4.17 - Idle CPU Per-Entity Load-Tracking (PELT) update
10a35e6 sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity2312729 sched/fair: Update scale invariance of PELT62478d9 sched/fair: Move the rq_of() helper function
2020-03-31 19:15:26
228
原创 eas k5.4 (六):v4.20 - Misfit task
757ffdd sched/fair: Set rq->rd->overload when misfite90c8fe sched/fair: Wrap rq->rd->overload accesses with READ/WRITE_ONCE()575638d sched/core: Change root_domain->overload type to i...
2020-03-31 15:33:21
459
原创 eas k5.4 (五):v4.20 - Runtime scheduler domain flag detection
AOSP Kernel4.14已经有这个feature,kernel4.20参考AOSP kernel也支持这个feature:e1799a8 sched/topology, arch/arm: Rebuild sched_domain hierarchy when CPU capacity changes3ba09df sched/topology, arch/arm64: Rebuild...
2020-03-31 14:31:25
486
原创 eas k5.4 (二):v5.4 - Util(ization) clamping
Utilizationclamping把cpu的util钳位到[util_min,util_max]范围内,util_min,util_max取决于cpu上的runnable task;每个task使用两个clampbuckets定义该task的最大/最小utilization钳位值util_{min,max}。 每个cpu有5个(默认值)uclamp_bucket, rq上的定义...
2020-01-21 16:08:22
4795
原创 eas k5.4 (四):v5.0 - Per-cpu Energy Model and Energy Aware Scheduling
Linux 5.0 new feature:https://kernelnewbies.org/Linux_5.0#Energy-aware_Scheduling_for_Arm_big.LITTLE 732cd75 sched/fair: Select an energy-efficient CPU on task wake-up 390031e4 sched/fair: Introdu...
2020-01-21 13:40:41
740
原创 eas k5.4 (三):v5.3 - Tracepoints (PELT and over-utilzation)
https://lore.kernel.org/lkml/20190604111459.2862-6-qais.yousef@arm.com/a056a5b sched/debug: Export the newly added tracepointsf9f240f sched/debug: Add sched_overutilized tracepoint8de6242 sched/de...
2020-01-17 16:57:53
278
原创 shell脚本实例(二) - ltp测试
测试sched_latency_dl 100次for i in `seq 0 99`;do ./sched_latency_dl> run.log 2>& 1;echo "----->$i";if [ `grep "DL task did not execute withinexpected" run.log | wc -l` == 1 ];then echo ...
2019-11-26 16:02:36
228
原创 shell 脚本实例(一) - 校正systrace时间戳
#!/bin/bash#$1 is systrace file;#set -xgrep -A 80 "entries-in-buffer/entries-written" "$1"echo -n "\033[31m 从上边trace log中查找和systrace 0点相对应的时间戳并输入: \033[0m"read ts0echo "please wait for a few m...
2019-11-26 14:48:57
508
原创 CPU-PnP工具(一): cpu_loading
(一)简介:测试前取/sys/devices/system/cpu/cpufreq/policy4/stats/time_in_state(个cpu频点及运行时间: Documentation/cpu-freq/cpufreq-stats.txt)和/proc/stat(各cpu不同state的时间)数据,测试开始,测试程序sleep指定的测试时间,测试结束,再次获取测试结束时的节点数据,进行...
2019-11-21 17:02:04
1407
1
原创 git.repo
查看两个manifest之间的差异:1. 建立对应的repo branch2.repo forall -pc git log --oneline branchA...branchB -p: 显示project name -c:执行之后的git 命令解决patch冲突git am *.patchgit apply --reject *.patchvim *.rej...
2019-05-22 16:55:18
792
原创 ltp
现在sync到google最新的ltp git,使用mmm编译:mmm external/ltp会因为aio编译失败报错,因此选择单独build需要的test case。sync google ltp git: sprdroid9.0/external/ltp$git remote add google_ltphttps://android.googlesource.co...
2019-04-18 15:17:26
601
原创 cpu_scale and freq_scale
(init/main.c)kernel_init --> kernel_init_freeable -->( arm64/kernel/smp.c)--> smp_prepare_cpus -->init_cpu_topology-->( arm64/kernel/topology.c)-->parse_dt_topology -->p...
2019-03-22 10:58:06
1787
原创 util变频
在sugov初始化时注册回调函数,到update_util_data中 797 static int sugov_start(struct cpufreq_policy *policy) {823 for_each_cpu(cpu, policy->cpus) {824 struct sugov_cpu *sg_cpu = &per_cpu(su...
2019-03-18 16:43:48
1080
原创 调度器 schedule pelt 介绍
进程类型 交互是进程:人机交互进程,如鼠标键盘,触摸屏,系统响应越快越好 批处理进程:占用较多系统资源,如编译代码 实时进程:对延时有严格要求 调度策略与调度器 用户进程的调度策略 调度器 SCHED_NORMAL cfs SCHED_BATCH cfs SCHED_FIFO realtime SCHED_RR realtime SCHED_...
2018-09-29 14:14:00
4014
原创 Battery Charging Specification, Revision 1.2, December 7, 2010 中文
BatteryChargingSpecificationRevision1.2December7,2010中文版2014.04.03 Rev0.1转载请注明转自:http://blog.youkuaiyun.com/liglei1.Introduction 第一章 简介1.1Scope 适用范围规范定义了设备通过USB端口充电的
2014-04-03 10:18:54
18223
4
原创 Universal Serial Bus 3.0 Specification, Revision 1.0——6 Physical Layer
6.11 Receiver Detection6.11.1 Rx Detect OverviewThe Receiver Detection circuit is implemented as part of a Transmitter and must correctly detectwhether a load impedance equivalent to a DC impeda
2013-12-26 14:58:50
2845
原创 Universal Serial Bus 3.0 Specification, Revision 1.0——7 Link Layer
7 Link LayerThe>7.1 Byte OrderingMultiple>
2013-12-25 21:00:37
3073
原创 usb_control_msg
fdsafd int usb_control_msg ( struct usb_device * dev, unsigned int pipe, __u8 request, __u8 requesttype, __u16 value, __u16 index, void * data, __u16 size, int timint
2013-10-15 20:08:55
4386
原创 USB3.0 link initialization
当Link从Polling,Recovery或Hot Reset状态进入U0状态时,开始进行初始化。初始化的内容主要包括Header Sequence Number Advertisement 和Rx Header Buffer Credit Advertisement,这里的Advertisement指的是“通知”,即link partner之间相互告知自己的的状态。那link partner究
2013-06-08 17:22:33
3670
原创 Lecroy 813Zi-A User Note For USB 3.0
Device Scope PeRT3 (Host TX and RX Tests)This configuration is meant to run all of the transmitter and receiver tests for a user that has a PeRT3 but not the RF Switch. All of the variables are set
2013-05-23 10:30:34
1151
原创 bq24160充电分析
1、VBAT 对于Charger,充电IC使用IBATSHRT=50mA,打开BatteryFET,对电池进行预充电(此时BatteryFET工作在线性区即横流区?);同时系统负载电压被变压至VSYS(REG)=3.7V2、VBAT > VBATSHRT=3.0V时对于Charger,充电电流为ICHARGE=1A(default),这个值通过I2C设置;系统负载电压保持在VSYS(R
2012-03-15 09:59:06
5941
原创 AndroidPowerSaveDebug总结
1、Try to reproduce issues复现问题From hardware aspect:2、PowerDown analysis, try to narrow down suspicious areas step by step做PowerDown分析,缩小问题出现的范围From SW aspect:3、Measure suspicious clock and GPIO
2012-03-13 16:55:26
825
转载 Android_Linux休眠唤醒
static ssize_t state_store(){suspend_state_t state = PM_SUSPEND_ON;+----------------------------------------------------------------------------------------- 30 typedef int __bitwise s
2012-03-08 09:30:07
1341
转载 (ZT)GNU C 的 __attribute__ 机制
(ZT)GNU C 的 __attribute__ 机制2011-11-10 19:02---------------------------------------------------------------- 原作者: 初次发布时间:2006-06-17 修改者:-------------------------------------------
2012-02-28 16:51:27
2709
转载 GNU C 扩展之__attribute__ 机制简介(转)
摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用。----------------------------------------------------------------声明: 此文为原创,欢迎
2012-02-28 16:31:03
925
转载 时钟中断处理程序--do_timer()
start_kernel()--void timer_tick(void) //为Kernel提供的体系架构无关的、系统相关的时钟中断处理函数,通常会在体系架构相关的时钟中断处理函数内调用它。参考1;{ profile_tick(CPU_PROFILING);//调用profile_tick()监管内核代码 do_leds(); write_se
2012-02-27 18:21:43
6450
arm Energy model accuracy-Linux Plumbers Conference2022-Power Management and Thermal Control-140922
2025-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人