原创 Linux 髒數據回刷參數與調優

簡介 我們知道,Linux用cache/buffer緩存數據,且有個回刷任務在適當時候把髒數據回刷到存儲介質中。什麼是適當的時候?換句話說,什麼時候觸發回刷?是髒數據達到多少閾值還是定時觸發,或者兩者都有? 不同場景對觸發回刷的時機的需求也

原创 Linux內核文檔:包含 kernel-doc 註釋

博主說 在上一篇文章,介紹了如何在源碼中寫符合 kernel-doc 規範的註釋,這篇文章就告訴我們,如何在 .rst 文檔中包含源碼中書寫的註釋。 英文版原文鏈接 包含 kernel-doc 註釋 文檔註釋可以包含在任何使用專用 kern

原创 Linux內核文檔:《如何參與Linux內核開發》

本文轉載自Linux內核官網,由於官網加載非常卡,爲了方便閱讀特意轉發到博客。 內容具有時效性,需要閱讀最新版本的同學,可通過下面的鏈接跳轉: https://www.kernel.org/doc/html/latest/translati

原创 Linux內核文檔:《如何讓你的改動進入內核》

本文轉載自Linux內核官網,由於官網加載非常卡,爲了方便閱讀特意轉發到博客。 內容具有時效性,需要閱讀最新版本的同學,可通過下面的鏈接跳轉: https://www.kernel.org/doc/html/latest/translati

原创 Linux內核文檔:《Linux郵件客戶端配置信息》

本文轉載自Linux內核官網,由於官網加載非常卡,爲了方便閱讀特意轉發到博客。 內容具有時效性,需要閱讀最新版本的同學,可通過下面的鏈接跳轉: https://www.kernel.org/doc/html/latest/translati

原创 Linux內核文檔:《Linux內核補丁提交清單》

本文轉載自Linux內核官網,由於官網加載非常卡,爲了方便閱讀特意轉發到博客。 內容具有時效性,需要閱讀最新版本的同學,可通過下面的鏈接跳轉: https://www.kernel.org/doc/html/latest/translati

原创 提交內核補丁到Linux社區的步驟

簡介 向Linux社區提交補丁並不頻繁,某一次提交後可能瞭然於胸,過段時間總會忘記,於是就有了這篇文章 這篇文章是我真實提交的步驟,沒有嚴格按官方的要求和建議來,但能覆蓋大多數問題 如果希望詳細學習如何提交,參考《如何讓你的改動進入內核》

原创 Nor Flash的理論性能

簡介 爲了評估Nor性能優化空間,我需要根據Spec計算出極限情況下,Nor Flash的性能理論值。 在全志的R**相關項目中分別支持ESMT、MXIC、Winbond、GD這4個廠家的Nor Flash,具體型號不方便透露,其規格書參數

原创 python argparse:命令行參數解析詳解

簡介 本文介紹的是argparse模塊的基本使用方法,尤其詳細介紹add_argument內建方法各個參數的使用及其效果。 本文翻譯自argparse的官方說明,並加上一些筆者的理解 import argparse parser = ar

原创 rwcheck:爲嵌入式設備設計的讀寫壓測工具

我設計的一款讀寫壓測工具,開源在我的github倉庫 rwcheck是一個對嵌入式設備進行讀寫壓測的工具 什麼是rwcheck 正如其名,rwcheck工具用於讀寫壓測。它是什麼工作原理呢?爲什麼要用rwcheck呢? rwcheck的初

原创 size命令的sysv和berkeley格式差別

size命令使用說明 size命令用於顯示二進制文件的段(節)大小,其功能類似於readelf -S,詳細的說明如下: 用法:size [選項] [文件] 顯示二進制文件中節的大小 沒有給出輸入文件,默認爲 a.out The opt

原创 從應用到內核,分析top命令顯示的進程名包含中括號"[]"的含義

背景 在執行top/ps命令的時候,在COMMAND一列,我們會發現,有些進程名被[]括起來了,例如 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1542 928 root

原创 vim與系統剪切板之間的複製粘貼

背景 vim各種快捷建溜得飛起,然而與系統剪切板之間的複製粘貼一直都是我的痛。 每次需要從vim中拷貝些文字去瀏覽器搜索,都需要用鼠標選中vim的文字後,Ctrl+c、Ctrl+v,硬生生掐斷了純鍵盤的流暢感 而且,vim中的塊選擇多爽,如

原创 GCC鏈接庫的一個坑:動態庫存在卻提示未定義動態庫的函數

背景 在GCC中已經指定鏈接庫,然而編譯時卻提示動態庫函數未定義! 測試出現的錯誤提示如下: [GMPY@13:48 tmp]$gcc -o test -L. -lmylib test.c /tmp/ccysQZI3.o:在函數‘main

原创 一次向linux開源社區提交補丁的經歷

背景 在開發過程中,偶然發現了spinand驅動的一個bug,滿懷欣喜地往社區提補丁。這是怎麼樣的一個bug呢? static int spinand_mtd_read(struct mtd_info *mtd, loff_t from,