华为这个事,是不是刷KPI?

最近闹的比较热闹的事情是,华为有人提交到Linux 上的代码被审核员点名批评刷KPI,并且,这个邮件还上了头条。

提交的代码修改如下

From: Zhen Lei <thunder.leizhen@huawei.com>
To: Kees Cook <keescook@chromium.org>,Anton Vorontsov <anton@enomsg.org>,Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,linux-kernel <linux-kernel@vger.kernel.org>
Cc: Zhen Lei <thunder.leizhen@huawei.com>
Subject: [PATCH 1/1] pstore: remove unnecessary oom message
Date: Thu, 17 Jun 2021 17:10:54 +0800
Message-ID: <20210617091054.1547-1-thunder.leizhen@huawei.com> (raw)Fixes scripts/checkpatch.pl warning:
WARNING: Possible unnecessary 'out of memory' messageRemove it can help us save a bit of memory.Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---fs/pstore/platform.c |  4 +---fs/pstore/ram_core.c | 15 ++++-----------2 files changed, 5 insertions(+), 14 deletions(-)diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index b9614db48b1d..752c2338af6c 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -752,10 +752,8 @@ void pstore_get_backend_records(struct pstore_info *psi,int rc;record = kzalloc(sizeof(*record), GFP_KERNEL);
-  if (!record) {
-   pr_err("out of memory creating record\n");
+  if (!record)break;
-  }pstore_record_init(record, psi);record->size = psi->read(record);
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index fe5305028c6e..7da890505025 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -301,10 +301,8 @@ void persistent_ram_save_old(struct persistent_ram_zone *prz)if (!prz->old_log) {persistent_ram_ecc_old(prz);prz->old_log = kmalloc(size, GFP_KERNEL);
- }
- if (!prz->old_log) {
-  pr_err("failed to allocate buffer\n");
-  return;
+  if (!prz->old_log)
+   return;}prz->old_log_size = size;
@@ -429,11 +427,8 @@ static void *persistent_ram_vmap(phys_addr_t start, size_t size,}pages = kmalloc_array(page_count, sizeof(struct page *), GFP_KERNEL);
- if (!pages) {
-  pr_err("%s: Failed to allocate array for %u pages\n",
-         __func__, page_count);
+ if (!pages)return NULL;
- }for (i = 0; i < page_count; i++) {phys_addr_t addr = page_start + i * PAGE_SIZE;
@@ -578,10 +573,8 @@ struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,int ret = -ENOMEM;prz = kzalloc(sizeof(struct persistent_ram_zone), GFP_KERNEL);
- if (!prz) {
-  pr_err("failed to allocate persistent ram zone\n");
+ if (!prz)goto err;
- }/* Initialize general buffer state. */raw_spin_lock_init(&prz->buffer_lock);
-- 
2.25.1

之后,华为的这位同学回复如下

对于这个回复,评审员依次回复如下

主要的意思是,你可以把这些多余的修改去除,我们也是很支持的,但是可以在某一个大的提交上去提交,不要依次提交一点点,这样很不友好。

并提到一个事情,即使我不去查看git log,我也能知道你们对Linux内核的贡献非常非常大,特别是在 EROFS 和 F2FS 上。

对于这件事情,我的看法是

国外的同学明显没有感受到KPI对员工的重要。

没有KPI,那么年终奖就会很低,娃要吃饭喝奶,房子要还贷,作为一个赚钱的机器,多赚钱没有错,这个事情不只是在华为,如果在其他企业,我觉得也会存在,给Linux内核提交patch,那么在KPI上显得多么优雅。

当然,作为内核维护者,他们是痛苦的,他们每天面对很多很多的邮件,要处理很多很多的问题,不能因为你的KPI问题,就没有质量的提交代码,这样对我是不尊重的。

其他的没啥问题,他们都是在自己的角度处理事情。

比较尴尬的是,这个是华为的人暴雷的,毕竟他是华为,这样容易让别人知道我们的实际情况。

对于网上的一些回复,就比较有意思了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端小demo——全选和全不选

模拟购物车&#xff0c;实现全选或者全不选&#xff0c;或者其中任意一件单品单选的效果。 点击顶部复选框实现全选 列表中任意一项未选中&#xff0c;顶部复选框就是未选中的状态 <!DOCTYPE html> <html><head lang"en"><meta charset"UT…

PHP函数库06:PHP统计字符串里单词出现次数

<?functionfull_count_words($str) { //返回完整数组&#xff0c;包含字符串里每个单词 $wordsstr_word_count($str,1); $resultarray(); foreach($wordsas$w) { $lwstrtolower($w); //判断单词是否是第一次出现&#xff0c;是则设置为1&#…

每日一题(46)—— volatile

1.一个变量可以既是const 还是volatile吗&#xff1f;解释为什么&#xff1f; 可以&#xff0c;例如状态寄存器。它首先应该是volatile 因为它可以出乎意料的修改&#xff0c;而且应该是const&#xff0c;这个寄存器程序不应该去修改。 2.一个指针可以说volatile的吗&#xf…

毕业2年,我的工作小结

文章转自我的读者朋友&#xff0c;他毕业后从事的是BSP开发工作&#xff0c;主要做LCD模块&#xff0c;我们算是认识比较久&#xff0c;刚毕业那会聊的也挺多&#xff0c;时间过得很快&#xff0c;想不到他已经毕业两年了。最近几天公司&#xff0c;公司的小鲜肉多了起来。我偶…

[Luogu 1351] NOIP2014 联合权值

[Luogu 1351] NOIP2014 联合权值 存图&#xff0c;对于每一个点 \(u\)&#xff0c;遍历它的所有邻接点。以 \(u\) 为中转点的点对中&#xff0c;\((x,y)\) 的联合权值 \(w_x \cdot w_y\) 最大&#xff0c;当且仅当 \(x\) 与 \(y\) 的点权在 \(u\) 的所有邻接点中是前两大的。 成…

Something about WinCE6.0 R3

Windows Embedded家族 Windows Embedded CE概览 WinCE6.0 R3新增组件 R3的发布让WinCE6.0如虎添翼 嵌入式系统的Silverlight 引入Silverlight后UI新的体系结构 触摸手势的支持将彻底改变用户体验

我现在都在这里买元器件了!

记得上大学那会做单片机项目需要买元件&#xff0c;我们就需要跑到市中心去买&#xff0c;绕过大大小小的街道&#xff0c;可以看到坐在柜台的老板&#xff0c;然后跟老板拉扯几句&#xff0c;然后进入大包小包的买卖中。做一个最小系统板至少也要花个小100块钱&#xff0c;大学…

每日一题(47)—— 置1与清0

嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a&#xff0c;写两段代码&#xff0c;第一个设置a的bit 3&#xff0c;第二个清除a 的bit 3。在以上两个操作中&#xff0c;要保持其它位不变。 置1用|&#xff0c;清0用& #define BIT3 (0x01<<3) sta…

读书笔记:《时间投资法》之一

<时间投资法>第一章:为什么搞笑管理时间很难 管理难的理由: 1 .没有最佳法则 我们无法找到适合所有人的生活方式,因此也就找到适合自己的管理时间的法则并不容易.别人的并不一定适合自己. 2. 效果测评有一定难度 对策: 对策一:每天尝试新的方法. 不要把失败的九次看成浪…

高考失利要不要复读?

对于我&#xff0c;如果考不好&#xff0c;我一定会复读。这个事情在每个人身上可能会不同&#xff0c;所以先从我说起&#xff0c;我出生在一个非常贫穷的农民家庭&#xff0c;我有好几个表哥&#xff0c;还有几个堂哥&#xff0c;甚至于我哥&#xff0c;他们读书都非常差&…

每日一题(48)—— 中断

中断是嵌入式系统中重要的组成部分&#xff0c;这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是&#xff0c;产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR)&#xff0c;请评论一下这段代码的。 …

apiCloud中的API对象

1.属性 appId apiready function () {var appId api.appId; //比如&#xff1a; A6980386445546var appName api.appName; //比如&#xff1a; AppLoadervar appVersion api.appVersion; // 比如&#xff1a; 1.0.0var systemType api.systemType; // 比如&#xff1a; i…

静态测试

静态测试 为什么要进行静态分析呢&#xff1f;一个软件产品可能实现了所要求的功能&#xff0c;但如果它的内部结构组织的很复杂&#xff0c;很混乱&#xff0c;代码的编写也没有规范的话&#xff0c;这时软件中往往会隐藏一些不易被察觉的错误&#xff0c;这是其一。其次&…

我是这样分析Linux性能问题的

在互联网公司普遍“996”的大环境下&#xff0c;大部分做应用的开发者&#xff0c;大都将精力集中在业务代码的优化和调配上&#xff0c;忽略了对 Linux 内核的学习。而且&#xff0c;这部分知识本身就很复杂&#xff0c;所以学习成本也比较高。但是&#xff0c;只要你经历过公…

每日一题(49)—— 有符号数与无符号数

void foo(void) {unsigned int a 6;int b -20;(a b> 6)?(">6"):("<6"); } 上面代码输出是什么&#xff0c;为什么&#xff1f; 答案是“>6”原因是当操作数中有符号类型和无符号类型进行运算时所有的操作数都自动转换成无符号数。

Java访问修饰符(访问控制符)

Java 通过修饰符来控制类、属性和方法的访问权限和其他功能&#xff0c;通常放在语句的最前端。例如&#xff1a; 1. public class className { 2. // body of class 3. } 4. private boolean myFlag; 5. static final double weeks 9.5; 6. protected static final int BOXWI…

随便聊聊,Linux 中的环境变量

大家好&#xff0c;今晚说点简单的。环境变量环境变量在进行linux开发过程中经常碰到&#xff0c;那什么是环境变量呢&#xff1f;很多朋友在刚学习Linux的时候对环境变量不是特别理解&#xff0c;变量不应该是在编程语言中类似于全局变量和局部变量吗&#xff1f;怎么又来了个…

什么MySQL语句在存储过程体中是合法的

什么MySQL语句在存储过程体中是合法的&#xff1f; 什么样的SQL语句在Mysql存储过程中才是合法的呢&#xff1f;你可以创建一个包含INSERT, UPDATE,DELETE, SELECT, DROP, CREATE, REPLACE等的语句。你唯一需要记住的是如果代码中包含MySQL扩充功能&#xff0c;那么代码将不能移…

IntelliJ IDEA使用教程(很全)

这个编辑器我就不再多做介绍了。直接开始新建maven hello world 的Java web项目啦 你电脑上得有jdk1.7&#xff0c;或者1.8&#xff0c;然后就是maven3.x吧&#xff0c;再有就是tomcat7以上吧。还得有我这个编辑器。这些是准备条件 下面就直接开始看图啦&#xff1a; 这个我刚刚…

每日一题(50)—— 各类型与零值的比较

分别给出BOOL&#xff0c;int&#xff0c;float&#xff0c;指针变量 与“零值”比较的 if 语句&#xff08;假设变量名为var&#xff09; 解答&#xff1a;    BOOL型变量&#xff1a;if(!var)    int型变量&#xff1a; if(var0)    float型变量&#xff1a; …