国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

投訴做網(wǎng)站的電話服務(wù)器域名查詢

投訴做網(wǎng)站的電話,服務(wù)器域名查詢,愛(ài) 做 網(wǎng)站,深圳網(wǎng)站建設(shè)培訓(xùn)文章目錄 __read_mostly 介紹__read_mostly 在 linux 中的使用.data.read_mostly 介紹 __read_mostly 介紹 __read_mostly 是一個(gè)在Linux內(nèi)核編程中用到的宏定義,這是一個(gè)gcc編譯器的屬性,用于告訴編譯器此變量主要用于讀取,很少進(jìn)行寫(xiě)入&am…

文章目錄

    • __read_mostly 介紹
      • __read_mostly 在 linux 中的使用
      • .data.read_mostly 介紹

__read_mostly 介紹

__read_mostly 是一個(gè)在Linux內(nèi)核編程中用到的宏定義,這是一個(gè)gcc編譯器的屬性,用于告訴編譯器此變量主要用于讀取,很少進(jìn)行寫(xiě)入,最好將此變量放在具有相同特性的變量附近。使用這個(gè)宏可以優(yōu)化程序在運(yùn)行時(shí)的緩存性能,因?yàn)樘幚砥鲿?huì)緩存經(jīng)常讀取的部分。

這個(gè)宏在arm gcc中和其他平臺(tái)的gcc編譯器中都有同樣的作用。

以下是一個(gè)簡(jiǎn)單的使用示例:

static int __read_mostly my_variable = 0;

在這個(gè)示例中,my_variable 被聲明為一個(gè)主要用于讀取的靜態(tài)變量。這意味著在大多數(shù)情況下,my_variable 的值將被讀取,而不是寫(xiě)入。通過(guò)這種方式,編譯器可以進(jìn)行一些優(yōu)化,提高代碼執(zhí)行的效率。

__read_mostly 在 linux 中的使用

arch/arm/kernel/process.c 中有如下定義:

unsigned logn stack_chk_guard __read_mostly

參考網(wǎng)上資料了解到 __read_mostly 修飾的變量放在定義為存放在 .data.read_mostly 段中。

#if defined(CONFIG_X86) || defined(CONFIG_SPARC64)
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#else
#define __read_mostly
#endif

Linux 內(nèi)核被加載時(shí),__read_mostly 修飾的數(shù)據(jù)將自動(dòng)被存放到 Cache 中,以提高整個(gè)系統(tǒng)的執(zhí)行效率。

如果所在的平臺(tái) 沒(méi)有 Cache,或者雖然有Cache,但并不提供存放數(shù)據(jù)的接口(也就是并不允許人工放置數(shù)據(jù)在Cache中),這樣定義為 __read_mostly類型的數(shù)據(jù)將不能存放在Linux內(nèi)核中,甚至也不能夠被加載到系統(tǒng)內(nèi)存去執(zhí)行,將造成Linux 內(nèi)核啟動(dòng)失敗。

解決的方法有兩種:

  • 修改 include/asm/cache.h 中的 __ready_mostly 定義為:#define __read_mostly
  • 修改 arch/xxx/kernel/vmlinux.S,將 .data.read_mostly 段的位置到實(shí)際內(nèi)存空間中去,例如放置在 .data 段之后等等。

.data.read_mostly 介紹

.data.read_mostly 是Linux內(nèi)核中的一個(gè)特殊的數(shù)據(jù)段。這個(gè)段用于存放被__read_mostly宏標(biāo)記的變量。這些變量主要用于讀取,很少進(jìn)行寫(xiě)入,所以將它們放在同一個(gè)區(qū)域可以優(yōu)化處理器的緩存性能。

在Linux內(nèi)核編譯過(guò)程中,GCC編譯器會(huì)根據(jù)__read_mostly宏的標(biāo)記,將對(duì)應(yīng)的變量放在.data.read_mostly數(shù)據(jù)段中。這樣,處理器在進(jìn)行內(nèi)存訪問(wèn)時(shí),可以把這個(gè)段的數(shù)據(jù)預(yù)先加載到緩存中,從而提高訪問(wèn)效率。

需要注意的是,使用__read_mostly標(biāo)記并不意味著這個(gè)變量永遠(yuǎn)不會(huì)被寫(xiě)入,而只是一個(gè)優(yōu)化建議,指示編譯器這個(gè)變量在大部分時(shí)間里是被讀取的,寫(xiě)入操作相對(duì)較少。

http://aloenet.com.cn/news/41159.html

相關(guān)文章:

  • 室內(nèi)設(shè)計(jì)網(wǎng)站大全網(wǎng)seo新手教程
  • 響應(yīng)式網(wǎng)站弊端互聯(lián)網(wǎng)公司
  • 池州市住房和城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站百度推廣聯(lián)系人
  • 山東安康建設(shè)項(xiàng)目管理有限公司網(wǎng)站北京谷歌優(yōu)化
  • 大宗商品現(xiàn)貨交易app天津seo優(yōu)化公司哪家好
  • 無(wú)錫網(wǎng)站優(yōu)化價(jià)格福鼎網(wǎng)站優(yōu)化公司
  • 廈門(mén)網(wǎng)站建設(shè)xm37網(wǎng)站的營(yíng)銷推廣
  • 靜態(tài)網(wǎng)站建設(shè)課程設(shè)計(jì)百度一下生活更好
  • 網(wǎng)站404怎么做搜索排名提升
  • 網(wǎng)站怎么做直通車鄭州厲害的seo優(yōu)化顧問(wèn)
  • 做攻略的網(wǎng)站好企業(yè)中層管理人員培訓(xùn)課程
  • 廣州網(wǎng)站排名優(yōu)化費(fèi)用招聘網(wǎng)絡(luò)營(yíng)銷推廣人員
  • wordpress各部分功能百度seo關(guān)鍵詞優(yōu)化費(fèi)用
  • 自己做網(wǎng)站自己做推廣教程視頻教程網(wǎng)絡(luò)運(yùn)營(yíng)培訓(xùn)
  • 水果b2b電商平臺(tái)有哪些seo技術(shù)員
  • 蘇州營(yíng)銷型網(wǎng)站南寧企業(yè)官網(wǎng)seo
  • 上海做網(wǎng)站比較有名的公司湖南疫情最新消息今天
  • 我網(wǎng)站關(guān)鍵詞太多公司做網(wǎng)站推廣
  • 東莞市網(wǎng)站開(kāi)發(fā)市場(chǎng)調(diào)研報(bào)告怎么寫(xiě)范文
  • 攜程旅游網(wǎng)站建設(shè)的定位廣點(diǎn)通廣告平臺(tái)
  • 網(wǎng)站建設(shè)了解一下圖片蘇州seo報(bào)價(jià)
  • 開(kāi)了網(wǎng)站建設(shè)公司 如何接業(yè)務(wù)蘇州seo怎么做
  • 網(wǎng)站建設(shè) php 企業(yè)網(wǎng)站重慶seo招聘
  • 網(wǎng)站建設(shè)與維護(hù)方式石家莊最新新聞事件
  • 群暉wordpress內(nèi)外網(wǎng)訪問(wèn)網(wǎng)站整站優(yōu)化推廣方案
  • 網(wǎng)站建設(shè)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)word文檔關(guān)鍵詞優(yōu)化建議
  • 如何建立自己的企業(yè)網(wǎng)站網(wǎng)時(shí)代教育培訓(xùn)機(jī)構(gòu)官網(wǎng)
  • 做土司的網(wǎng)站bt磁力貓
  • 陜西網(wǎng)站制作定制疫情最新官方消息
  • 域名注冊(cè)好后怎么建設(shè)網(wǎng)站今日剛剛發(fā)生的軍事新聞