- 博客(127)
- 资源 (1)
- 收藏
- 关注
转载 转:LightNVM 移植到 Open Channel UFS 设备的实现分析
https://blog.xiocs.com/archives/33/
2019-12-26 19:24:23
348
转载 转:Android性能优化(九)之被忽视的电量
https://cloud.tencent.com/developer/article/1190954
2019-09-03 10:37:09
227
转载 深入解析Linux内核I/O剖析(open,write实现)
笨拙的菜鸟深入解析Linux内核I/O剖析(open,write实现)Linux内核将一切视为文件,那么Linux的文件是什么呢?其既可以是事实上的真正的物理文件,也可以是设备、管道,甚至还可以是一块内存。狭义的文件是指文件系统中的物理文件,而广义的文件则可以是Linux管理的所有对象。这些广义的文件利用VFS机制,以文件系统的形式挂载在Linux内核中,对
2016-12-16 00:37:00
438
转载 Linux文件系统性能优化
Linux文件系统性能优化分类: LINUX由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍适用性。然而在特定应用下,这种配置往往在I/O性能方面不能达到最优。因此,如果应用对I/O性能要求较高,除了采用性能更高的硬件(如磁盘、HBA卡、CPU、MEM等)外,我们还可以通过对文件系统进行性能调优,来获得更高的I
2016-12-16 00:34:18
587
转载 Linux内核文件系统-页高速缓存
Linux内核文件系统-页高速缓存摘要: Linux内核的VFS是非常经典的抽象,不仅抽象出了flesystem,super_block,inode,dentry,file等结构,而且还提供了像页高速缓存层的通用接口,当然,你可以自己选择是否使用或者自己定制使用方式。本文主要根据自己阅读Linux Kernel 3.19...Linux内核的VFS是非常经典的抽
2016-12-16 00:30:38
287
转载 Linux内存管理原理
本文以32位机器为准,串讲一些内存管理的知识点。 1. 虚拟地址、物理地址、逻辑地址、线性地址 虚拟地址又叫线性地址。linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻辑地址专指下文说的线性偏移前的地址)是一个概念。物理地址自不必提。内核的虚拟地址和物理地址,大部分只差一个线性偏移量。用户空间的虚拟地址和物理地址则采用了多级页表进行映射,但仍
2016-12-16 00:17:02
192
转载 内存分配和回收——三种适应法
#include#include #define Free 0 //空闲状态#define Busy 1 //已用状态#define OK 1 //完成#define ERROR 0 //出错#define MAX_length 640 //最大内存空间为640KBtypedef int Status;int flag; typedef struc
2016-12-10 03:17:46
654
原创 NVMe
当命令被NVM子系统处理完成时,控制器会提交CQE到主机的CQ。如果MSI-X或者多消息MSI被使用,则中断向量会提醒主机可能有新的完成命令待处理。如果pin-based中断或者单消息MSI中断被使用,主机软件将查询CQ是否有新的CQE。之后主机会更新CQ Head Tail Doorbell寄存器来通知控制器已释放CQE,并清除关联的中断。
2016-01-18 19:33:18
375
原创 NVMe- 控制器架构7.1
控制器要提交较高优先级的命令到对应的SQ中去。优先级是跟SQ本身相关联的,因此命令的优先级是基于其提交的SQ。控制器的仲裁控制横跨所有SQ,其根据仲裁机制会公平处理所有命令或者根据优先级处理所有命令。
2016-01-18 19:32:42
685
原创 NVMe
7.1 介绍主机软件通过事先分配的SQ提交命令道控制器,然后通过写SQ Tail Doorbell寄存器来提醒控制器有新的提交命令。从之前Doorbell寄存器值和当前Doorbell寄存器值的差值可以得出提交命令的数量。控制器从SQ队列中取出命令并将其提交到NVM子系统中处理。除了融合操作,不管是同个SQ队列内的或者是不同SQ队列内的命令,它们的处理顺序没有约束。主
2016-01-18 19:31:03
390
转载 KVM相关社区开源动态月报
KVM相关社区开源动态月报 201503 Qemu社区目前进入V2.3版本的hardfreeze时刻,所以特性提交不多,关键特性如下:Qemu社区 x86:1. virtio-gpu/2d redhat2. 用户态处理页异常userfaultfd redhat3. block同步框架 fujistu4. COLO虚拟机热备框架 huawei5.
2015-06-22 14:19:54
748
原创 linux-c-201433
12 公共资源包括全局变量、双口RAM、共享内存等。几种常见的互斥实现方案有( )①:开关中断②:锁任务③:动态调整优先级④:信号量13 全球的法律环境和政治环境已经发生非常突出的变化,网络安全问题已上升为法律问题、政治问题,政治的博弈已转移到网络安全领域。在软件开发阶段,需要遵循安全编码的要求,如下安全编码要求正确的是( )①:代码注释中可以有开发人员的电子邮箱地址,
2015-03-10 21:20:56
156
原创 linux-c-201432
16 据统计,90%的网络安全问题来源于第三方软件(包括开源软件),外部客户对第三方软件的网络安全高度重视,基于此,华为公司关于第三方软件管理总体要求是:( )①:所有开源及第三方源代码、二进制文件等使用前,必须提交使用申请后才可使用;②:不能从非正式渠道获取任何形式的源代码、二进制文件等用于产品中;③:第三方软件版本升级、新增第三方软件时,必须提交使用申请后才可使用;④:所有第三
2015-03-10 21:20:14
182
原创 linux-c-201431
6 (C002) 软件的集成测试工作最好由( )承担,以提高集成测试的效果①:该软件的设计人员 ②:该软件开发组的负责人③:该软件的编程人员 ④:不属于该软件开发组的软件设计人员7 (C003) 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准①:程序的内部逻辑 ②:程序的复杂程度③:使用说明书
2015-03-10 21:19:55
179
原创 linux-c-2014-43
6 (C002) 软件的集成测试工作最好由( )承担,以提高集成测试的效果①:该软件的设计人员 ②:该软件开发组的负责人③:该软件的编程人员 ④:不属于该软件开发组的软件设计人员7 (C003) 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准①:程序的内部逻辑 ②:程序的复杂程度③:使用说明书
2015-03-10 21:17:01
230
原创 linux-c-2014-42
13 全球的法律环境和政治环境已经发生非常突出的变化,网络安全问题已上升为法律问题、政治问题,政治的博弈已转移到网络安全领域。在软件开发阶段,需要遵循安全编码的要求,如下安全编码要求正确的是( )①:代码注释中可以有开发人员的电子邮箱地址,以便于外部交流;②:C标准的随机数产生函数rand()可以用于生成密钥相关的随机数;③:正式发布给网上客户的代码、代码注释、脚本或者二进制文件中
2015-03-10 21:16:18
189
原创 linux-c-20144
16 据统计,90%的网络安全问题来源于第三方软件(包括开源软件),外部客户对第三方软件的网络安全高度重视,基于此,华为公司关于第三方软件管理总体要求是:( )①:所有开源及第三方源代码、二进制文件等使用前,必须提交使用申请后才可使用;②:不能从非正式渠道获取任何形式的源代码、二进制文件等用于产品中;③:第三方软件版本升级、新增第三方软件时,必须提交使用申请后才可使用;④:所有第三
2015-03-10 21:13:50
193
转载 linux-c7
本试题希望各位同事通过软件模拟Cache的工作机制,实现软件Cache控制器功能,从而使各位同事对处理器的Cache机制有深入的理解,促进各位同事在实际工作中正确理解和利用处理器的Cache功能。
2015-03-02 18:50:58
238
原创 (2)linux-c3
1.2.11 以下对数组进行正确初始化的是()①:static char myword[]='Turbo\0';②:static char myword[]={'T','u','r','b','o','\0'};③:static char myword[]={"Turbo\0"};④:static char myword[]="Turbo\0";1.2.12 衡量一个
2015-03-02 18:45:10
394
原创 (2)linux-c2
1.2.6 能影响中断响应次序的技术是()①:时间片 ②:中断 ③:中断优先级 ④:中断屏蔽 ⑤:特权指令 1.2.7 在多进程的并发系统中,有关进程间的关系的正确说法是()①:都是逻辑上无关的 ②:有些可能逻辑上无关的③:都是逻辑上有关的 ④:有些可能逻辑上有关的⑤:它们之间都直接或
2015-03-02 18:44:21
298
原创 (2)linux-c1
1.2.1 进程从运行状态进入就绪状态的原因可能是():①:被选中占有处理机;②:等待某一事件;③:等待的事件已发生;④:时间片用完;1.2.2 产生系统死锁的原因可能是由于():①:进程释放资源;②:一个进程进入死循环;③:多个进程竞争,资源出现了循环等待;④:多个进程访问共享数据;1.2.3 下面()不是操作系统中调度程序所采用的调度算法①:
2015-03-02 18:43:37
173
原创 linux-c6
11 (A033) 要定义一个有5个元素的指针数组,正确的定义是()A:int (*p) [5] B:int p[5] C:int *p[5] D:int *p12 (B001) 在"文件包含"预处理语句的使用形式中,当#include后面的文件名用(尖括号)括起时,找寻被包含文件的方式正确的是()A:仅仅搜索当前目录B:仅仅搜索源程序
2015-03-02 18:42:07
265
原创 linux-c5
6 (A064) 计算机内存一般分为静态数据区、代码区、栈区和堆区,若某一指令的操作数之一采用立即数寻址方式,则该操作数位于()A: 静态数据区 B: 代码区 C: 栈区 D: 堆区7 (A029) 以下定义整型3行4列的二维数组a并初始化不正确的是()A:int a[3][4]={0}B:int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12
2015-03-02 18:41:40
317
原创 linux-c4
1 (A020) 以下叙述中不正确的是()A:表达式a&=b等价于a=a&bB:表达式a|=b等价于a=a|bC:表达式a!=b等价于a=a!bD:表达式a^=b等价于a=a^b2 (A014) 以下程序的输出结果是fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;
2015-03-02 18:40:16
237
原创 linux-c4
16 (C001) 为了提高测试的效率,应该( )A:随机地选取测试数据 B:取一切可能的输入数据作为测试数据C:在完成编码以后制定软件的测试计划D:选择发现错误的可能性大的数据作为测试数据17 (C003) 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准A:程序的内部逻辑
2015-03-02 18:38:00
143
原创 linux-c3
37 (E016) 在局域网中,以下哪种传输介质既可以用于物理层10BASE-T协议,又可以适用于100BASE-T协议?A: 同轴电缆 B: 3类非屏蔽双绞线 C: 5类非屏蔽双绞线 D: 光纤电缆38 (E021) 以下关于NOR FLASH说法正确的是?①:软件可以象读写内存的方式一样读写NOR FLASH中的数据②:NOR FLASH中的数据掉电后不丢失
2015-03-02 18:37:35
412
原创 linux-c2
31 (E031) 一个16K×32位的存储器,其地址线和数据线的总和至少是(不考虑复用)A:48B:46C:36D:3232 (E035) 以下接口不属于串行接口的是A:SATAB:PCIC:PCIED:RapidIO33 (E033) 传输中经常用到奇偶校验,其中奇校验能够A:检测1位错误,纠正0位错误B:检测2位错误,纠正1位错误C:检测奇
2015-03-02 18:36:05
139
原创 linux-c1
26 (D027) 多核cpu的软件编程中,说法错误的是A:需要注意核间共享数据、变量的一致性B:遇到DMA等硬件操作内存时,注意通过cache操作,来保证数据的一致性C:尽量避免使用锁,以免影响系统性能D:每个core承担的工作应合理分配,以使整个系统最佳负载均衡27 (D006) 嵌入式系统大都采用嵌入式实时操作系统 RTOS,以下哪些不是对 RTOS 时间性能的评价指标(
2015-03-02 18:33:20
295
原创 linux-c0
1 (A020) 以下叙述中不正确的是()A:表达式a&=b等价于a=a&bB:表达式a|=b等价于a=a|bC:表达式a!=b等价于a=a!bD:表达式a^=b等价于a=a^b2 (A014) 以下程序的输出结果是fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;
2015-03-02 18:27:52
473
原创 linux-c
21 (D025) 在中断响应过程中,CPU保护程序计数器的主要目的是____A:使CPU能找到中断服务程序的入口地址 B:为了实现中断嵌套C:为了使CPU在执行完中断服务程序时能回到被中断程序的断点处D:为了使CPU与I/O设备并行工工作22 (D020) 在多任务操作系统中,进程切换也称为上下文切换,在切换的过程中不需要保存和恢复以下那些内容?(__)A:PC寄存器
2015-03-02 18:25:43
329
原创 日志分析
具体调用栈:\[75683.009185s][1970:01:01 21:01:12][pid:0,cpu0,in irq]INFO: rcu_preempt detected stalls on CPUs/tasks: { 2} (detected by 0, t=7397867 jiffies, g=18446744073709551380, c=18446744073709551379,
2014-11-03 19:55:35
621
原创 ddr带宽申请接口通过pm qos驱动实现
ddr带宽申请接口通过pm qos驱动实现:1、包含头文件,linux/pm_qos.h2、主要接口void pm_qos_add_request(struct pm_qos_request *req, int pm_qos_class, s32 value)添加一个qos请求,req内存空间由用户提供,pm_qos_class设置为枚举类型PM_QOS_MEMORY_THROUG
2014-09-22 20:35:50
1590
转载 linux-kernel-gpufreq-mali_kbase_config_XXXX.c
/* * * (C) COPYRIGHT ARM Limited. All rights reserved. * * This program is free software and is provided to you under the terms of the * GNU General Public License version 2 as published by
2014-08-16 18:13:13
11288
转载 linux-kernel-devfreq-governor_maliondemand.c
/* * linux/drivers/devfreq/governor_maliondemand.c * Copyright (C) 2013 Hisilicon * * base on: * linux/drivers/devfreq/governor_simpleondemand.c * * This program is free software; you
2014-08-16 18:07:04
373
转载 linux-kernel-freqtable.c
/* * linux/drivers/cpufreq/freq_table.c * * Copyright (C) 2002 - 2003 Dominik Brodowski * * This program is free software; you can redistribute it and/or modify * it under the terms of the
2014-08-16 12:59:13
288
转载 linux-kernel-cpufreq_stats.c
/* * drivers/cpufreq/cpufreq_stats.c * * Copyright (C) 2003-2004 Venkatesh Pallipadi venkatesh.pallipadi@intel.com>. * (C) 2004 Zou Nan hai nanhai.zou@intel.com>. * * This program is fr
2014-08-16 11:46:57
360
转载 linux-kernel-cpufreq.c_2
static void update_policy_cpu(struct cpufreq_policy *policy, unsigned int cpu){ int j; policy->last_cpu = policy->cpu; policy->cpu = cpu; for_each_cpu(j, policy->cpus) per_cpu(cpufreq_pol
2014-08-16 11:45:30
231
转载 linux-kernel-cpufreq.c_1
/* * linux/drivers/cpufreq/cpufreq.c * * Copyright (C) 2001 Russell King * (C) 2002 - 2003 Dominik Brodowski linux@brodo.de> * * Oct 2005 - Ashok Raj ashok.raj@intel.com> *
2014-08-16 11:45:00
382
转载 linux-kernel-cpufreq_interactive1
/* * drivers/cpufreq/cpufreq_interactive.c * * Copyright (C) 2010 Google, Inc. * */#include #include #include #include #include #include #include #include #include #inclu
2014-08-16 11:40:17
291
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人