<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[于宸]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/y33988979</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; y33988979]]></copyright><item><title><![CDATA[CPU电源管理（P-state）]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/103948107</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/103948107</guid><author>y33988979</author><pubDate>Thu, 15 Oct 2020 10:26:15 +0800</pubDate><description><![CDATA[背景

  计算机系统需要电力来执行各种活动，比如CPU需要从内存获取数据和应用程序、执行指令、显示输出结果，同时它也通过各种接口与用户通信，如使用网卡与网络上的其他计算机交互。这些功能是计算机系统中的各硬件部件协作来完成的，而每个部件都需要不同的电力去运作。

  一项数据中心的电力消耗研究表明，近50%的输入电力被空调和电力传输子系统消耗，而服务器本身占用了剩下的50%电力。试想一下，...]]></description><category></category></item><item><title><![CDATA[CPU C-state & cpuidle driver]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/107361365</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/107361365</guid><author>y33988979</author><pubDate>Wed, 15 Jul 2020 15:14:12 +0800</pubDate><description><![CDATA[1. 什么是C-states、C-mode？
为了在CPU空闲时节约能源，可以命令CPU进入低功耗模式。C-state是intel CPU处于空闲时的一种状态，CPU有几种电源模式，它们统称为“c状态”或“c模式”
低功耗模式最初是在486DX4处理器中引入的。到目前为止，已经引入了更多的功耗模式，并且对每种模式进行了增强，以使CPU在这些低功耗模式下消耗更少的功率。
CPU的每个状态都使用不同的电量，并且对应用程序性能的影响也不同。
每当CPU内核处于空闲状态时，内置的节能逻辑就会启动，并尝试将内核从当前]]></description><category></category></item><item><title><![CDATA[linux锁机制：queued spinlock]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/102676849</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/102676849</guid><author>y33988979</author><pubDate>Tue, 22 Oct 2019 09:55:44 +0800</pubDate><description><![CDATA[queued spinlock

ticket spinlock巧妙的解决了锁的公平性问题，但它在锁竞争方面还不够完美，linux-4.2内核引入了queued spinlock。

queued spinlock由Waiman Long和Perter Zijlstra 发起，补丁集经过了16个版本，并入了主线。



https://lkml.org/lkml/2015/4/24/63...]]></description><category></category></item><item><title><![CDATA[linux锁机制：ticket spinlock]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/102587208</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/102587208</guid><author>y33988979</author><pubDate>Wed, 16 Oct 2019 16:13:42 +0800</pubDate><description><![CDATA[spinlock

   spinlock即自旋锁，在linux内核中广泛运用的底层同步机制，相对于可睡眠锁，spinlock采用spin的方式获取锁（busy-wait），
避免了context_switch的开销，在短暂临界区访问场景下速度明显提升，性能更高，对memory等critical section互斥访问，发挥着重要作用。
spinlock对内核的数据安全性和并发性能有很大的...]]></description><category></category></item><item><title><![CDATA[RCU配置指导说明]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/86742019</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/86742019</guid><author>y33988979</author><pubDate>Fri, 01 Feb 2019 15:51:24 +0800</pubDate><description><![CDATA[Kernel configuration parameters for RCU
  [Posted January 21, 2019 by jake]
This sidebar is part of Paul McKenney's 2019 update to the RCU API.

内核配置参数
RCU的Kconfig选项和内核引导参数可以被认为是RCU API的一部分。...]]></description><category></category></item><item><title><![CDATA[降低linux实时任务抖动&延迟]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/86690436</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/86690436</guid><author>y33988979</author><pubDate>Tue, 29 Jan 2019 17:27:52 +0800</pubDate><description><![CDATA[内核配置建议：

一、配置NO_HZ子系统：

内核有以下几种HZ配置供选择：

CONFIG_HZ_PERIODIC  ##周期性tick

CONFIG_NO_HZ_IDLE  ##在系统idle状态下，禁止tick

CONFIG_NO_HZ_FULL  ##在系统idle或只有一个任务在运行的状态下，禁止tick

 

默认状态下，内核的时钟tick配置为CONFIG_NO_HZ_IDL...]]></description><category></category></item><item><title><![CDATA[vim快捷键及配色修改]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/86002433</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/86002433</guid><author>y33988979</author><pubDate>Mon, 07 Jan 2019 14:30:56 +0800</pubDate><description><![CDATA[下载color插件

https://www.vim.org/scripts/script.php?script_id=3412

设置vimrc配置文件

cat ~/.vimrc 


set nu

syntax enable
syntax on

set background=dark

nmap fc :cs find c &amp;lt;C-R&amp;gt;=expand(&quot;&amp;lt;cword&amp;gt...]]></description><category></category></item><item><title><![CDATA[cpu hotplug流程]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/83659867</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/83659867</guid><author>y33988979</author><pubDate>Fri, 02 Nov 2018 18:42:52 +0800</pubDate><description><![CDATA[/# 
/# echo 0 &amp;gt; /sys/devices/system/cpu/cpu1/online

cpu_subsys_offline
    cpu_down
        do_cpu_down
            _cpu_down
                cpuhp_kick_ap_work
                    __cpuhp_kick_ap...]]></description><category></category></item><item><title><![CDATA[[多核并行计算]进程间通信（三）套接字]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82910347</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82910347</guid><author>y33988979</author><pubDate>Sun, 30 Sep 2018 15:46:39 +0800</pubDate><description><![CDATA[socket套接字不仅可以在不同主机间通信，如TCP/UDP等网络方式通信。也可以再本机为不同进程间通信提供服务。

int socket(int domain, int type, int protocol);

socket函数接口中有3个参数，其中第一个domain参数决定了通信域，如果是本机内通信传入AF_UNIX, AF_LOCAL，如果是跨主机使用ip进行通信则传入AF_INET等。
...]]></description><category></category></item><item><title><![CDATA[[多核并行计算]进程间通信--管理程序]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82705758</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82705758</guid><author>y33988979</author><pubDate>Fri, 14 Sep 2018 17:00:13 +0800</pubDate><description><![CDATA[
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;sys/types.h&amp;gt;
#include &amp;lt;sys/stat.h&amp;gt;
#include &amp;lt;sys/wait.h&amp;gt;

#define SHARE_RFIFO_PATH &quot;/home/tmp/...]]></description><category></category></item><item><title><![CDATA[[多核并行计算]进程间通信（二）共享内存]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82705457</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82705457</guid><author>y33988979</author><pubDate>Fri, 14 Sep 2018 16:47:02 +0800</pubDate><description><![CDATA[先把代码贴上，后面在做讲解。。


#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;fcntl.h&amp;gt; 
#include &amp;lt;math.h&amp;gt; 
#include &amp;lt;sys/time.h&amp;gt; 
#include &amp;lt;sys/stat.h&amp;g]]></description><category></category></item><item><title><![CDATA[[多核并行计算]进程间通信-性能研究]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82430653</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82430653</guid><author>y33988979</author><pubDate>Wed, 05 Sep 2018 21:30:00 +0800</pubDate><description><![CDATA[ 

首先介绍下多核并行计算的场景，及测试方法：

（1）并行计算运用在特定大型服务器之上，其硬件水平很高，可能有多几百到上千个cpu。

（2）这些cpu分成了2类，一类是控制cpu，作为主控，用于发起计算，与其他CPU交互，发起计算通知，分析并统计结果等作用；第二类是计算cpu（占大多数）。系统中绝大多数cpu属于计算cpu，因为整个系统就是为了高性能计算。由于计算量大，所以需要很多很多的cp...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-pthread_barrier_wait_6-1分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82256735</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82256735</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 15:14:59 +0800</pubDate><description><![CDATA[测试用例地址：

https://github.com/linux-test-project/ltp/commit/b54a54e5881a0f9438ce4a862dee724130a9874f#diff-61ca0ddb356007047210a92fb128896c（1）失败打印：
POSIX：conformance/interfaces/pthread_barrier_wait/pthre...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-pthread_barrier_destroy_2-1分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82256604</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82256604</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 15:11:34 +0800</pubDate><description><![CDATA[测试用例地址：

https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_barrier_destroy/1-1.c

（1）失败打印：
conformance/interfaces/pthread_barrier_dest...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-timer_settime_5-2分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82256460</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82256460</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 15:06:05 +0800</pubDate><description><![CDATA[timer_settime_5-2用例地址：

https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/timer_settime/5-2.c

错误log输出：

conformance/interfaces/timer_settime/...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-pthread_barrierattr_getpshared_2-1分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82256385</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82256385</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 14:59:31 +0800</pubDate><description><![CDATA[测试用例地址：

https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_barrierattr_getpshared/2-1.c

测试用例error log：

conformance/interfaces/pthrea...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-pthread_rwlock_unlock_3-1分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82256028</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82256028</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 14:39:47 +0800</pubDate><description><![CDATA[ 

测试用例地址：

https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_rwlock_unlock/3-1.c

测试用用例运行error log：


			master# ./3-1.glibc-2.24
			...]]></description><category></category></item><item><title><![CDATA[futex机制介绍]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82252266</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82252266</guid><author>y33988979</author><pubDate>Fri, 31 Aug 2018 10:21:04 +0800</pubDate><description><![CDATA[1、概念
futex： a sort of fast, user-space mutual exclusion primitive. 
Futex是一种用户态和内核态混合的同步机制。首先，同步的进程间通过mmap共享一段内存，futex变量就位于这段共享的内存中且操作是原子的，当进程尝试进入互斥区或者退出互斥区的时候，先去查看共享内存中的futex变量，如果没有竞争发生，则只修改futex,而不用...]]></description><category></category></item><item><title><![CDATA[ltp测试套件-pthread_rwlock_rdlock_2-1分析记录]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82229249</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82229249</guid><author>y33988979</author><pubDate>Thu, 30 Aug 2018 23:09:06 +0800</pubDate><description><![CDATA[测试pthread_rwlock_rdlock_2-1.c用例失败。log如下：

[83#yuchen@ubuntu ltp]# gcc 2-1.c -o 21 -pthread
			[84#yuchen@ubuntu ltp]# ./21
			main: has priority: 3
			main: attempt read lock
			main: acquired read lo...]]></description><category></category></item><item><title><![CDATA[busybox mv工具问题]]></title><link>https://blog.youkuaiyun.com/y33988979/article/details/82229102</link><guid>https://blog.youkuaiyun.com/y33988979/article/details/82229102</guid><author>y33988979</author><pubDate>Thu, 30 Aug 2018 22:44:35 +0800</pubDate><description><![CDATA[在使用ltp套件测试linux内核时，其中ltp的一个cgroup测试用例执行失败。通过分析测试用例代码逻辑，及内核cgroup相关实现，最终发现是busybox mv工具的问题。下面详细记录一下分析过程。...]]></description><category></category></item></channel></rss>