<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[adaptiver的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/adaptiver</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; adaptiver]]></copyright><item><title><![CDATA[netlink学习小结]]></title><link>https://blog.csdn.net/adaptiver/article/details/123675011</link><guid>https://blog.csdn.net/adaptiver/article/details/123675011</guid><author>adaptiver</author><pubDate>Wed, 23 Mar 2022 00:12:26 +0800</pubDate><description><![CDATA[概述

内核态与用户态通信有多种方式，例如系统调用，ioctl，procfs/sysfs，uevent等，netlink也是内核态和用户态通信的一种重要方式，而且它提供全双工的工作模式，用户态和内核态都可主动向对方发送信息。

netlink接口简介

数据结构


用户态数据结构：
struct sockaddr_nl
{
  sa_family_t    nl_family;  /* AF_NETLINK   */
  unsigned short nl_pad;     /* zero        ]]></description><category></category></item><item><title><![CDATA[google protocol buffer]]></title><link>https://blog.csdn.net/adaptiver/article/details/80969691</link><guid>https://blog.csdn.net/adaptiver/article/details/80969691</guid><author>adaptiver</author><pubDate>Mon, 09 Jul 2018 14:32:16 +0800</pubDate><description><![CDATA[https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html 
Google Protocol Buffer 的使用和原理 
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准，目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .pro...]]></description><category></category></item><item><title><![CDATA[Caffe （卷积神经网络框架） Convolutional Architecture for Fast Feature Embedding]]></title><link>https://blog.csdn.net/adaptiver/article/details/80621995</link><guid>https://blog.csdn.net/adaptiver/article/details/80621995</guid><author>adaptiver</author><pubDate>Fri, 08 Jun 2018 13:37:01 +0800</pubDate><description><![CDATA[
Introduction 
Caffe （卷积神经网络框架） 
Caffe，全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架，主要应用在视频、图像处理方面的应用上。 
caffe是一个清晰，可读性高，快速的深度学习框架。作者是贾扬清，加州大学伯克利的ph.D，现就职于Facebook。caffe的官网是htt...]]></description><category></category></item><item><title><![CDATA[ARMv8的两种执行状态： AArch64/AArch32]]></title><link>https://blog.csdn.net/adaptiver/article/details/80492292</link><guid>https://blog.csdn.net/adaptiver/article/details/80492292</guid><author>adaptiver</author><pubDate>Tue, 29 May 2018 09:55:09 +0800</pubDate><description><![CDATA[Copied from ARM® Compiler User Guide 
When compiling code, you must first decide which target the executable is to run on. An ARMv8-A target can run in different states: 
• AArch64 state targets execu...]]></description><category></category></item><item><title><![CDATA[armv8 page table]]></title><link>https://blog.csdn.net/adaptiver/article/details/80387124</link><guid>https://blog.csdn.net/adaptiver/article/details/80387124</guid><author>adaptiver</author><pubDate>Sun, 20 May 2018 23:51:15 +0800</pubDate><description><![CDATA[From “DEN0024A_v8_architecture_PG.pdf” 
 
 
]]></description><category></category></item><item><title><![CDATA[一个在pc上显示手机屏幕的小工具droid]]></title><link>https://blog.csdn.net/adaptiver/article/details/78478455</link><guid>https://blog.csdn.net/adaptiver/article/details/78478455</guid><author>adaptiver</author><pubDate>Wed, 08 Nov 2017 14:32:19 +0800</pubDate><description><![CDATA[http://thapaamrit.blogspot.in/2015/04/how-to-mirror-android-phone-screen-on.html
转一个在pc上显示手机屏幕的小工具droid。可用在某些特殊情况下，一般情况下没什么用。




tems Required:


Latest Version of Java: https://www.java.com]]></description><category></category></item><item><title><![CDATA[c++技术要点]]></title><link>https://blog.csdn.net/adaptiver/article/details/76287386</link><guid>https://blog.csdn.net/adaptiver/article/details/76287386</guid><author>adaptiver</author><pubDate>Sat, 29 Jul 2017 09:19:41 +0800</pubDate><description><![CDATA[转c++技术要点的blog
http://blog.csdn.net/tht2009/article/details/6920511



在C++中，mutable是为了突破const的限制而设置的。被mutable修饰的变量，将永远处于可变的状态，即使在一个const函数中，甚至结构体变量或者类对象为const，其mutable成员也可以被修改。

mutable的承诺是如果某个]]></description><category></category></item><item><title><![CDATA[Linux内核页回收swappiness参数确切含义]]></title><link>https://blog.csdn.net/adaptiver/article/details/75453074</link><guid>https://blog.csdn.net/adaptiver/article/details/75453074</guid><author>adaptiver</author><pubDate>Wed, 19 Jul 2017 23:51:38 +0800</pubDate><description><![CDATA[https://www.douban.com/note/349467816/

本文主要尝试解释两个问题：
1. swappiness的确切含义是什么，它对内核进行页回收机制的影响。
2. swappiness设置成0，为什么系统仍然可能会有swap发生。

一. 关于内存分配与页回收(page reclaim)

page reclaim发生的场景主要有两类，一个是kswapd后]]></description><category></category></item><item><title><![CDATA[irqbalance]]></title><link>https://blog.csdn.net/adaptiver/article/details/75452970</link><guid>https://blog.csdn.net/adaptiver/article/details/75452970</guid><author>adaptiver</author><pubDate>Wed, 19 Jul 2017 23:31:22 +0800</pubDate><description><![CDATA[http://www.bubuko.com/infodetail-1129360.html
irqbalance　理论上：
启用 irqbalance 服务，既可以提升性能，又可以降低能耗。
irqbalance 用于优化中断分配，它会自动收集系统数据以分析使用模式，并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。
处于 Perfor]]></description><category></category></item><item><title><![CDATA[c++ struct]]></title><link>https://blog.csdn.net/adaptiver/article/details/75452885</link><guid>https://blog.csdn.net/adaptiver/article/details/75452885</guid><author>adaptiver</author><pubDate>Wed, 19 Jul 2017 23:18:39 +0800</pubDate><description><![CDATA[以前没怎么关注过这个点，记录一下
http://blog.csdn.net/ucasliyang/article/details/52691619



在做一个小的程序题的时候，看到了struct中定义了函数，之前没有看到过，所以查了一点相关的知识，在这里记录一下：

c++中允许在结构体当中定义函数，它的用法和类的用法很像，不过与类有一个区别在于，struct中定义的函数和变量都]]></description><category></category></item><item><title><![CDATA[against parallel execution in shell (flock)]]></title><link>https://blog.csdn.net/adaptiver/article/details/75013452</link><guid>https://blog.csdn.net/adaptiver/article/details/75013452</guid><author>adaptiver</author><pubDate>Wed, 12 Jul 2017 14:50:46 +0800</pubDate><description><![CDATA[http://blog.chinaunix.net/uid-25324849-id-3077304.html

#! /bin/bash -
 
set -x
#exec 6
{
         flock -n 6
#       [ "$?" -eq "1" ] && {echo "fail"; exit;}
         if [ "$?" -eq "1" ]; th]]></description><category></category></item><item><title><![CDATA[记录一下下载内核的命令]]></title><link>https://blog.csdn.net/adaptiver/article/details/73330673</link><guid>https://blog.csdn.net/adaptiver/article/details/73330673</guid><author>adaptiver</author><pubDate>Fri, 16 Jun 2017 13:43:35 +0800</pubDate><description><![CDATA[记录一下下载内核的命令，以免每次都去找。



git clone linux官方内核
http://blog.csdn.net/junmuzi/article/details/8518696
Git clone git://git.kernel.org/pub/scm/Linux/kernel/git/stable/linux-stable.git


克隆rt linux s]]></description><category></category></item><item><title><![CDATA[解决eclipse调试c++程序出现“No source file named” error]]></title><link>https://blog.csdn.net/adaptiver/article/details/72459323</link><guid>https://blog.csdn.net/adaptiver/article/details/72459323</guid><author>adaptiver</author><pubDate>Thu, 18 May 2017 10:54:53 +0800</pubDate><description><![CDATA[http://blog.initm.com/eclipse-error-debug/


前些天遇到的问题这是，早就应该写了，但是需要做的事情太多，一直拖到要走了，拖不动了，写！和上一篇文章是相关的，因为我换了一个编辑器eclipse，第一次用，所以遇到一些问题，提示出现No source file named  怎么解决呢？

试了几次没有效果之后开始百度。中文的没有找到相关的文章，于]]></description><category></category></item><item><title><![CDATA[原子操作--ARM架构]]></title><link>https://blog.csdn.net/adaptiver/article/details/72393528</link><guid>https://blog.csdn.net/adaptiver/article/details/72393528</guid><author>adaptiver</author><pubDate>Wed, 17 May 2017 15:29:41 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/liuhailong0112/p/5745509.html


说明：内核版本号为3.10.101

一、ARM架构中的原子操作实现

　　在原子操作(一)中我们已经提到，各个架构组织为“复仇者”联盟，统一了基本的原子变量操作，这里我们就拿atomic_dec(v)来看看通天ARM的实现。

首先是atomic_dec(v)原子减一操]]></description><category></category></item><item><title><![CDATA[ARM平台下独占访问指令LDREX和STREX的原理与使用详解]]></title><link>https://blog.csdn.net/adaptiver/article/details/72392825</link><guid>https://blog.csdn.net/adaptiver/article/details/72392825</guid><author>adaptiver</author><pubDate>Wed, 17 May 2017 15:27:22 +0800</pubDate><description><![CDATA[LDREX Rx, [Ry]
读取寄存器Ry指向的4字节内存值，将其保存到Rx寄存器中，同时标记对Ry指向内存区域的独占访问。


STREX Rx, Ry, [Rz]


如果执行这条指令的时候发现已经被标记为独占访问了，则将寄存器Ry中的值更新到寄存器Rz指向的内存，并将寄存器Rx设置成0。指令执行成功后，会将独占访问标记位清除。
而如果执行这条指令的时候发现没有设置独占标记，]]></description><category></category></item><item><title><![CDATA[Linux Kernel之spin_lock之ARM64实现]]></title><link>https://blog.csdn.net/adaptiver/article/details/72391522</link><guid>https://blog.csdn.net/adaptiver/article/details/72391522</guid><author>adaptiver</author><pubDate>Wed, 17 May 2017 15:21:50 +0800</pubDate><description><![CDATA[注意arch_spin_lock中的注释，可解释为何一般sevl指令放在wfe指令之前。
* No: spin on the owner. Send a local event to avoid missing an
* unlock before the exclusive load.

如果event寄存器的值不为零，则wfe指令不会进入low power standby mode。]]></description><category></category></item><item><title><![CDATA[arm架构下spinlock原理 (代码解读)]]></title><link>https://blog.csdn.net/adaptiver/article/details/72389453</link><guid>https://blog.csdn.net/adaptiver/article/details/72389453</guid><author>adaptiver</author><pubDate>Wed, 17 May 2017 15:13:14 +0800</pubDate><description><![CDATA[http://blog.csdn.net/longwang155069/article/details/52055876


自旋锁的引入


原子变量适用在多核之间多单一共享变量进行互斥访问，如果要保护多个变量，并且这些变量之间有逻辑关系时，原子变量就不适用了。例如：常见的双向链表。假设有三个链表节点Ａ、Ｂ、Ｃ。需要将节点Ｂ插入节点Ａ、Ｃ之间。如果ＣＰＵ　Ａ刚好将Ａ节点的后向指针指向]]></description><category></category></item><item><title><![CDATA[ARM体系结构的发展之：ARMv6增加的系统支持]]></title><link>https://blog.csdn.net/adaptiver/article/details/70228808</link><guid>https://blog.csdn.net/adaptiver/article/details/70228808</guid><author>adaptiver</author><pubDate>Tue, 18 Apr 2017 15:21:50 +0800</pubDate><description><![CDATA[http://www.eefocus.com/embedded/323223




16.2  ARMv6增加的系统支持


为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要，ARM公司在ARMv6中引入新的技术和结构组成，包括增强的DSP支持和对多处理器环境的支持。

 

16.2.1  存储管理

由于在ARMv6体系结构中引入新的存储管理机制，]]></description><category></category></item><item><title><![CDATA[arm linux的ASID (Address Space ID)]]></title><link>https://blog.csdn.net/adaptiver/article/details/70228767</link><guid>https://blog.csdn.net/adaptiver/article/details/70228767</guid><author>adaptiver</author><pubDate>Tue, 18 Apr 2017 15:19:21 +0800</pubDate><description><![CDATA[http://blog.163.com/awaken_ing/blog/static/1206131972015112011286335


平台:ARM Versatile Express for Cortex-A9 (ARMv7) 
# CONFIG_ARM_LPAE is not set, 也就是使用Short-descriptor格式, ASID存储在CONTEXTIDR的低8 b]]></description><category></category></item><item><title><![CDATA[crontab]]></title><link>https://blog.csdn.net/adaptiver/article/details/69389658</link><guid>https://blog.csdn.net/adaptiver/article/details/69389658</guid><author>adaptiver</author><pubDate>Thu, 06 Apr 2017 14:59:18 +0800</pubDate><description><![CDATA[crontab -e
#if needed, we can change editor with following cmd:
select-editor



crontab -l




http://www.centoscn.com/CentOS/help/2014/1030/4025.html



crontab的格式讲解

每项工作 (每行) 的格式都]]></description><category></category></item></channel></rss>