CFS任务放置代码详解

作者:OPPO内核团队 发布于:2021-12-31 7:00 分类:进程管理

我们描述CFS任务负载均衡的系列文章一共三篇,第一篇是框架部分,第二篇描述了task placement的逻辑过程,第三篇是负载均衡的情景分析,包括tick balance、nohz idle balance和new idle balance。之前已经有一篇关于task placement的文档发表在本站,为了更精细的讲解代码逻辑,我们这次增加了代码分析部分。本文作为第二篇任务放置的附篇,深入讲解task placement的代码流程。

本文出现的内核代码来自Linux5.10.61,为了减少篇幅,我们对引用的代码进行了删减(例如去掉了NUMA的代码,毕竟手机平台上我们暂时不关注这个特性),如果有兴趣,读者可以配合完整的源代码代码阅读本文。

阅读全文>>

标签: 任务放置 task placement

评论(0) 浏览(6688)

CFS任务的负载均衡(load balance)

作者:OPPO内核团队 发布于:2021-11-22 20:49 分类:进程管理

我们描述CFS任务负载均衡的系列文章一共三篇,第一篇是框架部分,第二篇描述了task placement和active upmigration两个典型的负载均衡场景。本文是第三篇,主要是分析各种负载均衡的触发和具体的均衡逻辑过程。

本文出现的内核代码来自Linux5.10.61,为了减少篇幅,我们尽量删除不相关代码,如果有兴趣,读者可以配合代码阅读本文。

阅读全文>>

标签: load balance

评论(2) 浏览(8309)

Atomic operation in aarch64

作者:schspa 发布于:2021-11-15 19:42 分类:ARMv8A Arch

在Linux内核中看到下面这句话:

At least on ARM, pgprot_noncached causes the
memory to be mapped strongly ordered, and atomic operations on strongly ordered
memory are implementation defined, and won't work on many ARMs such as omaps.

所以, 为什么对用户non-cached的内存,部分平台不支持原子操作?

阅读全文>>

标签: 原子操作 atomic arm64 aarch64

评论(5) 浏览(5077)

irq wakeup in linux

作者:schspa 发布于:2021-11-15 18:41 分类:电源管理子系统

在本篇文章中基于AARCH64平台,GIC作为中断控制器来进行讨论
下面是GIC-600的系统框架图:

阅读全文>>

标签: suspend sleep 电源管理 中断子系统 aarch64

评论(2) 浏览(13348)

CFS任务的负载均衡(任务放置)

作者:OPPO内核团队 发布于:2021-11-12 6:55 分类:进程管理

负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,加深对内核调度器实现任务均衡分布的理解。

本文基于linux-5.4.24分析,由于涉及较多代码的讲解,建议结合源码阅读。另外,浏览本文前,建议先阅读负载均衡系列文章第一篇:CFS任务的负载均衡(概述)。当然,部分已经提及的基本概念,在本文中也会进行简单回顾。

阅读全文>>

标签: 负载均衡 任务放置

评论(0) 浏览(6585)

CFS任务的负载均衡(概述)

作者:OPPO内核团队 发布于:2021-11-5 6:39 分类:进程管理

我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对tick balance、new idle balance和task placement等几个典型的负载均衡来呈现其实现细节,稍后发布,敬请期待。

本文出现的内核代码来自Linux5.10.61,如果有兴趣,读者可以配合代码阅读本文。

阅读全文>>

标签: 进程管理

评论(8) 浏览(11156)

mellanox的网卡故障分析

作者:安庆 发布于:2021-7-6 10:38 分类:Linux内核分析

知识分享,与有趣的灵魂同行。这是一篇关于mellanox网卡的uaf问题问题,其中涉及到dma_pool,uaf等常见知识点。

阅读全文>>

评论(4) 浏览(6615)

一个较复杂dcache问题

作者:安庆 发布于:2021-6-11 9:44 分类:Linux内核分析

本文主要讲述的是一个dcache的问题,主要知识点涉及dentry,inode,proc fs,mount,docker,cni插件,hash桶,冲突链等,最终针对云上内核的监控产生了一些细化的需求。

阅读全文>>

评论(3) 浏览(5908)

关于java单线程经常占用cpu100%分析

作者:安庆 发布于:2021-5-8 9:08 分类:Linux内核分析

openjdk的bug分析,oracle的jdk也存在类似问题,目前该bug已经推动合入到社区, https://github.com/openjdk/jdk/pull/4378

阅读全文>>

评论(4) 浏览(5050)

关于numa loadbance的死锁分析

作者:安庆 发布于:2021-5-8 9:03 分类:Linux内核分析

一例关于numa loadbance的死锁分析

阅读全文>>

评论(3) 浏览(4967)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog