前言 回顾上一篇文章(Linux PM QoS framework(1)_概述和软件架构),PM QoS framework抽象出4个系统级别的QoS constraint(统称为PM QoS class...2.1 向kernel其它driver提供的,用于提出PM QoS需求的API void pm_qos_add_request(struct pm_qos_request *req, int pm_qos_class...pm qos class的定义如下: 1: /* include/linux/pm_qos.h */ 2: enum { 3: PM_QOS_RESERVED = 0,...2.2 向kernel PM有关的service提供的,用于获取、跟踪指定PM QoS需求的API int pm_qos_request(int pm_qos_class); int pm_qos_add_notifier...enum pm_qos_type包括PM_QOS_MAX、PM_QOS_MIN和PM_QOS_SUM。
} 该指针的数据类型struct dev_pm_qos是per-device pm qos的核心数据结构,定义如下: 1: struct dev_pm_qos { 2: struct...struct pm_qos_constraints为pm qos要求的具体抽象,可参考“Linux PM QoS framework(2)_PM QoS class”中的描述; latency_tolerance...当为DEV_PM_QOS_RESUME_LATENCY、DEV_PM_QOS_LATENCY_TOLERANCE时,为一个plist_node,类似PM QoS class。...2.3 向kernel PM有关的service(例如PM domain)提供的,用于获取、跟踪指定PM QoS需求的API enum pm_qos_flags_status dev_pm_qos_flags...对于其它两个类型的QoS,和PM QoS class中的pm_qos_*接口类似。
Runtime PM数据段 在每个device结构中都存在dev_pm_info的结构,此结构中通过CONFIG_PM_RUNTIME配置字段代码了Runtime PM的信息。...Runtime PM举例 写了一个简单的测试runtime测试例子,如下: #include #include #include #include #include #include #include static int runtime_pm_probe(struct platform_device *pdev) { printk(KERN_EMERG..."runtime_pm: runtime_pm_probe!
Runtime PM数据段 在每个device结构中都存在dev_pm_info的结构,此结构中通过CONFIG_PM_RUNTIME配置字段代码了Runtime PM的信息。...pm_runtime_get/pm_runtime_put(异步请求增加/减少引用计数) pm_runtime_get_sync/pm_runtime_put_sync(同步请求增加/减少引用计数) pm_runtime_set_active...__pm_runtime_resume(resume设备) Runtime PM举例 写了一个简单的测试runtime测试例子,如下: #include #include... #include #include #include #include... #include static int runtime_pm_probe(struct platform_device *
前言 QOS为Quality Of Service(服务质量)的简称,对PM QoS而言,表示Linux kernel电源管理相关的服务质量。那到底什么是服务质量呢?...我们知道,Linux PM的主要功能,是节省功耗,但同时,会付出一定的性能代价,例如延迟(latency)增加、吞吐量(throughput)下降。...不过,PM QoS framework的存在,并不是为了定义并测量系统的服务质量(Linux系统对实际的qos没有任何兴趣),而是为了定义一套框架,以满足系统各个实体(如进程、设备驱动等等)对QoS的期望为终极目标...实际上,Linux kernel使用“QoS dependencies”的概念,分别用“Dependents on a QoS value”和“Watchers of QoS value”表述这两个实体...Common header位于include/linux/pm_qos.h中,负责通用数据结构的抽象、函数声明等工作。
很不幸,到目前为止,linux kernel的runtime PM还是很复杂。这里的复杂,不是从实现的角度,而是从对外的角度。...在“include\linux\pm_runtime.h”中,RPM提供了将近50个接口。软件模块化的设计理念中,最重要的一个原则就是提供简洁的接口。很显然,RPM没有做到!...这就是当前Linux kernel电源管理中“Opportunistic suspend”和RPM两种机制并存的原因。...鉴于这个现状,本文以及后续RPM有关的文章,会选取最新的kernel(当前为linux-3.17),以便及时同步相关的更新。 3....4. runtime PM的API汇整 RPM提供的API位于“include/linux/pm_runtime.h”中,在这里先浏览一下,目的有二:一是对前面描述的RPM运行机制有一个感性的认识;二是为后面分析
SAP PM 初级系列13 - PM Revision SAP PM模块的Revision用于将维修通知或者维修工单分组,在维修的时候执行相关的工作。...PM Revision一般在工厂shutdown期间被创建. 业务人员创建它然后指派给维修通知或者维修工单,相关单据上的basic start date 将会基于Revision里的日期来计算。...比如PM120411,其OIOB界面: Note:T352R SAP Maintenance revisions Table....以笔者所在的项目为例,简要介绍一下PM Revision的setting,以及它的用法。...事务代码OIOB或者如下菜单, 进入如下界面, 任意选择一个行项目看详细数据, 维修工单里的PM Revision, -完- 写于2021-6-16
SAP PM 入门系列6 - PM常用表 Equipment设备相关的数据表 EQUI: Equipment master data EQKT: Multilingual equipment short...PMIS PMCOQT: Quantity structure for the maintenance order PMPL: Print data for the order PMSDO: PM...Object number MPOS: Maintenance item ILOA: Location and account assignment for maintenance object (PM
SAP PM 初级系列8 - PM 组织架构 1,SAP PM模块的典型组织架构如下示: 2,SAP PM organizational structure includes the following...organizational units(SAP PM模块组织结构包含如下的组织单元): ·Client: Client is highest level of an organization structure...·Plant: Plant is one the most important structures in SAP PM organizational structure.
SAP PM 入门系列8 - PM事务代码 IA07 Display General Task List IA03 Display Equipment Task List IA13 Display
是什么让PM成为一个伟大的PM? 在正式进入这篇文章之前,我首先要声明,以下内容纯属我个人主观的观点。...我认为自己很幸运,因为我担任过产品团队的PM,并且目前我成为了一个内容团队的PM,这个博客帖子是我对这两个完全不同的组织的亲身体验。...如果你还不知道微软PM职业的历史,那么你可以先阅读Steven Sinofsky写的这篇文章。和Steven一样,几年前,我从SDE转变为PM,这是一段很有启发性的旅程。 ?...另一个我认为伟大的PM需要具备的特点是应用软技能的能力。...但是PM的情况又有所不同,PM沉湎于产品和公司文化,一种他们的团队有许多共生链接却没有必要堆叠在彼此的顶部的公司文化。
前言 本文是分析cpufreq framework之前的一篇前置文章,用于介绍Linux电源管理中的Operating Performance Point (OPP)接口。...接口说明 OPP library的source code位于drivers/base/power/opp.c中,header位于include/linux/pm_opp.h中,提供的接口包括(本文基于linux...这是后面很多查询结构(除了dev_pm_opp_find_freq_exact)都无法查到该OPP。 相反,dev_pm_opp_enable用于使能指定的OPP。...1: int dev_pm_opp_get_opp_count(struct device *dev); 2: 3: struct dev_pm_opp *dev_pm_opp_find_freq_exact...1: unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp); 2: 3: unsigned long dev_pm_opp_get_freq
常用指令 # 安装 pm2 npm install -g pm2 # 列出所有实例 pm2 list # fork模式,无法处理并发 # 启动一个实例,实例名myapi pm2 start index.js...reset myapi # 监视所有进程 pm2 monit # 显示所有进程的日志 pm2 logs # 停止所有进程 pm2 stop all # 重启所有进程 pm2 restart all...开机自启 pm2 save && pm2 startup # 开启api访问,http://ip:9615 pm2 web 更新pm2 pm2 save # 保存进程状态 npm install -...g pm2 pm2 update 安装pm2常用模块 # 日志分片 pm2 install pm2-logrotate # 网页shell终端 pm2 install pm2-webshell 命令tab...补全 pm2 completion install source ~/.bash_profile pm2-web监控pm2服务运行状态 # 安装pm2-web npm install -g pm2-web
所以 PM懂了么? 不要独狼,不要一人拼尽一切! 傻逼的团队也是“团队” !
新手项目经理的一大误区 :项目所有的事情都是PM的责任 。记住,PM也有自己的一亩三分地的 [scope]。 项目经理只对项目的Deliver负责!...member对PM来说,只是被使用的资源(这话说了不好听)。项目一结束,资源被释放,member就和你没关系了。 没有方法的项目管理都是无效管理 !...PM养成自己风格 是不是很多文章都建议PM 要随机应变,会沟通,“见人说人话见鬼说鬼话”,这都是屁话几个人能做到这样?...PM要有自己的说话和管理风格 PM的工作分两个大类 从人性的角度来说,要恩威并施。一味的给予善良和恩惠得到的就是没有威慑力的. 对你忠诚的人,肯定就是不聪明的人,要容人。聪明的人是不会忠诚的。...虽然PM大部分工作是沟通,但沟通不了的就换个方式沟通,直接email。“无效沟通,一身病” 。事情解决不了的,直接esculate。
为了提高电池的使用寿命,为了节省功耗,linux引入了DVFS。而为了应用程序的性能,Linux 又引入了PM QoS。...下图是linux kernel power 管理中PM QOS和DVFS相关的架构图。...工作流程 PM QOS PM QoS简单的说提供在省电和performance 之间提供协调机制。...我们知道,Linux PM的主要功能,是节省功耗,但同时,会付出一定的性能代价,例如延迟(latency)增加、吞吐量(throughput)下降。而PMQoS 便解决这个问题的一种技术。...如cpuidle,runtime pm,pm domain等。 PM QoS framework将constraint分为2类,每一类包括若干个constraint,具体如下。
SAP PM 入门系列9 – PM模块的User-Exits & BADIs Maintenance plans: User-Exits: IPRM0002 Determine planned...QQMA0014 QM/PM/SM: Checks before saving a notification QQMA0015 QM/PM/SM: User-Exit before Call-Up...QQMA0021 "QM/PM/SM: Function ""User data"" in ""Goto"" menu" QQMA0022 "QM/PM/SM: ""User data""..."" menu" QQMA0024 QM/PM/SM Deactivate function codes in CUA menu QQMA0025 PM/SM: Default values...IWOC0002 PM/SM notification: Check whether status change is allowed IWOC0003 PM/SM authorization
Maven, 是基于项目对象模型(Project Object Model, POM),通过一小段描述信息来管理项目的构建,报告,文档的软件项目管理工具。
), 或 jenkins.war(war包) 2、 Jenkins 安装 (1) 安装Tomcat, 请见我先前的博客: Ubuntu 配置 Tomcat (2) 安装Maven,请见我先前的博客: Linux...搭建 maven (3) 拷贝下载的 jenkins.war 到 tomcat的webapps目录下: sudo cp jenkins.war /opt/apache-tomcat-7.0.40/webapps
前言 本文介绍了Linux的发展历史以及环境搭建。 ---- 一、技术是推动社会发展的基本动力 1. 人为什么能成为万物之长呢? 本质是人会使用工具(创造与使用工具)。...三、Linux发展的基本脉络 第一代Linux开源了。——>全世界顶级的黑客和工程师开始参与项目(不缺钱,为了改变世界)——>Linux越来越大 1.开源闭源哪个好?...因此,Linux在企业中广泛使用。 老百姓:不愿意使用,没有图形化界面,使用不方便。 3.Linux相关概念——是什么?有哪些发行版本?特征?...(修订次数,偶数:稳定版,奇数:测试版) 商业化发行版:Ubuntu,CentOS/redhat,kali,红旗等版本 Linux是开源的,但不代表用Linux做出来的产品是免费的 四、Linux环境的安装...环境搭建的相关概念。
领取专属 10元无门槛券
手把手带您无忧上云