亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 4306 | 回復(fù): 11
打印 上一主題 下一主題

如何分配4MB以上內(nèi)存 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-11-18 11:12 |只看該作者 |倒序?yàn)g覽
內(nèi)核態(tài)如何分配4MB以上內(nèi)存? 除了vmalloc

論壇徽章:
6
金牛座
日期:2013-10-08 10:19:10技術(shù)圖書徽章
日期:2013-10-14 16:24:09CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34獅子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亞洲杯之阿聯(lián)酋
日期:2015-05-09 14:36:15
2 [報(bào)告]
發(fā)表于 2011-11-18 11:28 |只看該作者
回復(fù) 1# ruslin
啟動(dòng)參數(shù) mem=
啟動(dòng)后用ioremap

論壇徽章:
6
金牛座
日期:2013-10-08 10:19:10技術(shù)圖書徽章
日期:2013-10-14 16:24:09CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34獅子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亞洲杯之阿聯(lián)酋
日期:2015-05-09 14:36:15
3 [報(bào)告]
發(fā)表于 2011-11-18 11:29 |只看該作者
回復(fù) 1# ruslin

可以多次調(diào)用get_free_pages,然后自己建個(gè)鏈表管理。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-11-18 11:45 |只看該作者
本帖最后由 ruslin 于 2011-11-18 11:51 編輯
回復(fù)  ruslin
啟動(dòng)參數(shù) mem=
啟動(dòng)后用ioremap
瀚海書香 發(fā)表于 2011-11-18 11:28



    ioremap 我看了下,分配的線性地址區(qū)間是從vmalloc區(qū)獲得的,所以ioreamp類似于vmalloc,只不過(guò)它不用自己去分配物理內(nèi)存,并且ioremap關(guān)閉了頁(yè)cache。

現(xiàn)在我不太清楚內(nèi)核到底有沒(méi)有有這種大的連續(xù)物理內(nèi)存的需求。如果有,什么代碼用到了?
另外一個(gè),inodes_hashtable, dentry_hashtable 兩個(gè)hash表,也是通過(guò)vmalloc分配的,據(jù)說(shuō)還是蠻大的,例如2g的實(shí)際內(nèi)存,但是我看代碼沒(méi)看出來(lái)到底最后分配了多大的空間?
另外一個(gè)問(wèn)題了,dentry_hashtable的hash的鍵值應(yīng)該是全路徑名吧,比如/tmp/dd/abc.txt。如果hash沖突之后就是根據(jù)這個(gè)全路徑名區(qū)分的嗎?

一直在看書,很多問(wèn)題都還沒(méi)來(lái)得及自己驗(yàn)證。順便請(qǐng)教下了?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-11-18 13:21 |只看該作者
回復(fù) 4# ruslin


    kernel/main.c 里的start_kernel()里的mm_init_owner()和mm_init()之間加入alloc_bootmem(),并導(dǎo)出該符號(hào),如
  1. char *addr;
  2. EXPORT_SYMBOL(addr);
  3. asmlinkage void __init start_kernel(void)
  4. {
  5.         ...
  6.         mm_init_owner(&init_mm, &init_task);
  7.         ...
  8.         addr = alloc_bootmem(mem_size);
  9.         ...
  10.         mm_init();
  11.         ...
  12. }
復(fù)制代碼
進(jìn)入系統(tǒng)后cat /proc/meminfo會(huì)發(fā)現(xiàn)少了你預(yù)留的那么多內(nèi)存,寫個(gè)模塊直接操作你導(dǎo)出的那個(gè)符號(hào)就行。
我以前這樣搞過(guò)512M的

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-11-18 13:23 |只看該作者
回復(fù) 2# 瀚海書香


    我記得這樣似乎也最大只能16M

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-11-19 21:05 |只看該作者
終于把linux的內(nèi)存管理的源代碼看完了。當(dāng)然對(duì)于NUMA還是不是很理解。
對(duì)于你這個(gè)問(wèn)題,很簡(jiǎn)單的。你只要把include/linux/mmzone.h中的MAX_ORDER從11修改為12就可以了。
這樣你可以用kmalloc()就能成功申請(qǐng)了。我經(jīng)過(guò)測(cè)試,可以成功申請(qǐng)。
當(dāng)然你的板子上的內(nèi)存最好是32M以上,不然可能會(huì)沒(méi)法申請(qǐng)成功的。

論壇徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
8 [報(bào)告]
發(fā)表于 2011-11-21 12:38 |只看該作者
回復(fù) 7# jwwzhh


    你的辦法很牛,是個(gè)好辦法;我也讀了這部分代碼,卻沒(méi)能想到這么做

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-11-21 13:41 |只看該作者
回復(fù) 8# linuxfellow


    謝謝夸獎(jiǎng)!我會(huì)繼續(xù)保持努力,只是接下來(lái)要研究wifi驅(qū)動(dòng)了,沒(méi)時(shí)間繼續(xù)研究?jī)?nèi)核,一有時(shí)間,我會(huì)繼續(xù)努力。

論壇徽章:
6
金牛座
日期:2013-10-08 10:19:10技術(shù)圖書徽章
日期:2013-10-14 16:24:09CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34獅子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亞洲杯之阿聯(lián)酋
日期:2015-05-09 14:36:15
10 [報(bào)告]
發(fā)表于 2011-11-21 17:25 |只看該作者
回復(fù) 7# jwwzhh
這樣是可以的,但是需要重新編譯內(nèi)核,而且需要知道內(nèi)核的配置選項(xiàng)。
如果是做通用的模塊,在不能重新編譯內(nèi)核的情況下,這種方法就不太合適了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP