怎樣分配大於2MByte的連續記憶體

2021-09-30 07:55:09 字數 381 閱讀 7637

開發驅動的時候這個問題經常遇到。特別是那些多**裝置的驅動,比如攝像頭,數碼電視等等,需要大塊的緩衝區。

我知道的方法有以下幾種:

1.預留出固定的物理記憶體

在編譯核心的時候,在cmdline裡指定記憶體大小時候預留出需要的記憶體。比如,總共有64mbyte記憶體,需要預留4mb,那麼指定"mem=60m"

這樣在驅動程式裡面可以直接使用那段劃分的記憶體。當然,我們只有硬體實體地址,核心驅動需要先化成虛擬位址。 (只是乙個線性的轉化)

這樣分配到的記憶體當然是連續的。

2.動態分配

使用dma_alloc_coherent函式,分配連續,大塊的記憶體。但是預設情況下有兩兆的限制。需要修改consistent_dma_size的值。

3.其他

PHP 上傳大於2M的檔案限制

不管是linux還是window伺服器上傳大檔案總提示超時,或者傳不上去等等,把最近遇到的這個問題的解決辦法和大家分享一下 php.ini 裡查詢查詢post max size 改為 post max size 100m 查詢upload max filesize,預設為2m 改為 upload m...

discuz論壇附件上傳大於2M方法

描述 近期在論壇寫帖子的時候發現附件只能上傳小於2m大小,開始在後台使用者組以及全域性配置裡面進行了大量的配置,發現一番折騰毫無作用,氣到 解決步驟 查詢系統中php.ini檔案 find name php.ini修改檔案中兩個引數 post max size 8m 表單提交的最大限制,此項不是限制...

phpmyadmin解決上傳大於2M的問題

phpmyadmin 解決上傳大於2m的問題 在linux系統中 第一 就是sql檔案的2m上傳限制,這個是困擾了我多年的功能。看清楚了,直接修改php.ini就可以生效,不過檔案要改正確,是apache目錄下的php.ini,在linux上就是 etc php5 apache2 php.ini 第...