如何用QEMU运行x86 kernel

最近在提交cpufreq patch,稍微有点逻辑改动的Rafael都要你test, test。有个改动涉及setpolicy driver,要验证,第一印象就是用qemu。 让我们来看下如何搭环境(initrd=ramdisk): my linux server(xeon) for building can not access internet...

阅读全文

CPUFreq policy代码分析

参考4.9,主要了解几个结构成员: struct cpufreq_policy { /* CPUs sharing clock, require sw coordination */ cpumask_var_t cpus; /* Online CPUs only */ cpumask_var_t related_cpus; /* Online ...

阅读全文

CPUFreq boost代码分析

参考4.9内核,还是先看文档描述: IntroductionSome CPUs support a functionality to raise the operating frequency ofsome cores in a multi-core package if certain conditions apply, mostlyif the who...

阅读全文

Linux CPUFreq Subsystem Overview

参考4.9,CPUFreq即CPU Frequency scaling或者CPU performance scaling,允许你运行时改变CPU clock speed. 文档路径: ./Documentation/cpu-freq/,先来看几个概念: Some CPU frequency scaling-capable pr...

阅读全文

Linux CMA代码分析

CMA全称Contiguous Memory Allocator,是Linux内核的连续内存分配器,最近就遇到一个因CMA分配失败导致的camera功能异常,log如下: <6>[ 3371.081458] alloc_contig_range: [8fa00, 8ff00) PFNs busy<6>[ 3371.081481] al...

阅读全文

Android P重启卡死问题分析

最近遇到重启卡死的问题,有的是黑屏,有的是定屏在”正在重新启动”adb可用,高通平台。 抓下logcat能发现如下log: ShutdownThread: Rebooting, reason: null 代码在:/frameworks/base/services/core/java/com...

阅读全文

提交Linux内核补丁遇坑说明

最近主要在Win7下提交pstore补丁,遇到的坑说明下: 腾讯企业邮箱客户端发送ok的竟然在LKML邮件列表搜不到提交。 maintainer说miss message-id,看了下邮件源码,有message-id啊,如下: Message-ID: <201902062125366715715@xxx.com>+A43ECD8F93303CB9...

阅读全文

Android P使能用户态LMK说明

先看官方介绍: 如何改用用户空间 lmkd从 Android 9 开始,用户空间 lmkd 会在未检测到内核 lowmemorykiller 驱动程序时激活。请注意,用户空间 lmkd 要求内核支持内存 cgroup。因此,要改用用户空间 lmkd,您应使用以下配置设置编译内核: >CONFIG_ANDROID_LOW_MEMORY_KILLER=n...

阅读全文

如何在Windows上提交Android补丁程序

Google在提交Android补丁程序时有说明前提条件: 提交补丁程序本页介绍向 AOSP 提交补丁程序的完整流程,包括使用 Gerrit 查看和跟踪更改。 前提条件 您需要先初始化编译环境、下载源代码、创建密码并按照密码生成器页面中的说明操作,然后再按照本页中的说明操作。 编译环境要使用Linux或Mac OS,目前不支持在Windows下编译。...

阅读全文

pstore ramoops读写分析

pstore读写接口分别是ramoops_pstore_read()和ramoops_pstore_write_buf(),参考代码kernel4.9: static struct ramoops_context oops_cxt = { .pstore = { .owner = THIS_MODULE, .name = "...

阅读全文