原创 spinlock造成死鎖的原因

看了這個網址,對自選鎖造成的死鎖有了更深刻對理解。http://blog.csdn.net/zhanglei4214/article/details/6837697 spin_lock比spin_lock_irq速度快,但是它並不是任

原创 內核線程創建與銷燬

查看內核線程的方法:ps -aux 可以查看系統中的所有線程,其中帶有[ ]的表示是內核線程。 內核線程創建方法: thread = kthread_

原创 NP完全問題

彩蛋:個人照片放在這裏.jpeg 不能排除NP完全問題可以在多項式時間內解決。研究NP完全問題的人非常之多,但是沒有人發現任何一個問題的多項式時間解決

原创 腳本備份

生成一個fio.cfg文件。這個配置文件時fio的配置文件的格式,主要是爲了測試100個zvol而設置的配置文件。 #!/bin/bash for i

原创 zfs編譯之後,內核模塊沒更新的解決方案

今天遇到的一個問題就是編譯zfs的時候,按照正常的方法:makemake installreboot然後開機重新創建zvol的時候發現系統使用的內核模塊根本就不是我新安裝的zfs.ko。這個是什麼原因我不知道,我通過make unins

原创 佛說阿彌陀經

姚秦三藏法師鳩摩羅什譯   如是我聞。一時佛在舍衛國,祇樹給孤獨園。與大比丘僧,千二百五十人俱,皆是大阿羅漢,衆所知識:長老舍利弗、摩訶目犍連、摩訶迦葉、摩訶迦旃延、摩訶俱絺羅、離婆多、周利槃陀伽、難陀、阿難陀、羅侯羅、憍梵波提、賓頭

原创 修改putty非常暗的註釋字體顏色

轉載自http://m.blog.csdn.net/blog/astrotycoon/9729961 個人很喜歡使用putty,不但小巧,也很喜歡他的默認配色方案。唯一美中不足的就是它的默認註釋顏色,很暗淡,大白天有時根本看不清。    

原创 算法導論-計算時間複雜度主定理

遞歸式與分治方法是緊密相關的,因爲使用遞歸式可以清晰的刻畫分治算法的運行時間。 主方法如下: T(n) = aT(n/b) + f(n) a>=1 b>1 f(n) 是給定的函數。這種形式的遞歸式很常見。刻

原创 gcc調試segmentation fault的方法

  前一陣編了大概3500+lines的代碼,一直運行穩定,結果今天出現了segmentation fault的錯誤,這可怎麼辦? 用gdb 一行一行調嗎?   確實讓人頭疼,後來發現gdb功能強大,現分享

原创 算法導論-堆排序學習筆記

最開始研究的是大頂堆,父親節點的值會大於兩個孩子節點的值,但是左孩子跟右孩子沒有值之間的差異。 插入一個元素的時候,整個堆可能不滿足堆的性質,所以要調整堆,調整算法如下: MAX_HEAPIFY(A,i)

原创 IBM的順序流預取算法SARC的思考與困惑

SARC爲IBM的順序流預取算法。現在想實現這個算法,但是最大的困惑是如何才能保證替換線程可以很好的完成任務。 該Cache算法中的元素是以塊(頁面)爲元素進行存儲的。 1.RANDOM 命中 將該元素放到RANDOM的MRU端 2.SE

原创 黑客與畫家

優秀的語言擁有內核簡潔,設計簡單,短小精悍的特點。只有這樣,才能夠存活於編程語言進化的主幹上。像Java的進化已經結束,很難讓其他的編程語言繼承並延續下去。 很多數據結構的存在都與計算機的速度有關。

原创 linux中數據類型的表示與思考

uint64_t 類型 可以支持64位的無符號數,使用這個關鍵字,需要引用頭文件#include<inttypes.h> 在使用多線程的過程中,pthread_create(&tid,NULL,func,a

原创 leveldb中的編碼方式的分析

  leveldb除去測試部分,也不到2w行,看完代碼才發覺這是由於編程的人太牛了。好多代碼的實現幾行代碼就可以實現,當然非常簡單了。  先說說他的變長編碼的實現方法。 char* EncodeVarint32(char* dst, u

原创 調試內核的方法總結2-NMI watchdog原理分析

     上一次改zfs代碼導致系統死機,sysrq嘗試過,由於鍵盤已經不能用了,所以sysrq用不上了,然後又嘗試了Kdump工具,結果仍然是失敗了,系統依然死機,而且也沒看到發生一次內核轉儲。所以打算採