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

Chinaunix

標(biāo)題: 有什么方法判斷page是file page? [打印本頁]

作者: wyyzxml    時間: 2014-04-26 10:16
標(biāo)題: 有什么方法判斷page是file page?
類似的匿名頁可以用
PageAnon(page)

作者: l4rmbr    時間: 2014-04-26 14:47
回復(fù) 1# wyyzxml
  1. include/linux/mm_inline.h:

  2. static inline int page_is_file_cache(struct page *page)
  3. {
  4.         return !PageSwapBacked(page);
  5. }
復(fù)制代碼
只有在這個日期后的版本后才有:2008-10-20,見:
https://git.kernel.org/cgit/linu ... 5ce170b2ad26f97df70
作者: linuxfellow    時間: 2014-04-27 20:01
本帖最后由 linuxfellow 于 2014-04-27 20:12 編輯

回復(fù) 1# wyyzxml
page->flags & PG_swapbacked
PageAnon(page)也可以



   
作者: wyyzxml    時間: 2014-04-28 09:38
回復(fù) 2# l4rmbr

謝謝了。我看下哈。


   
作者: wyyzxml    時間: 2014-04-28 09:39
回復(fù) 3# linuxfellow

也就是說,file page,都是置上 PG_swapbacked flag的?


   
作者: 帥絕人寰    時間: 2014-04-28 18:19
我理解的是,樓上的說法都不對。 我也不會。
作者: embeddedlwp    時間: 2014-04-28 19:53
2樓正解
作者: 帥絕人寰    時間: 2014-04-29 10:29
embeddedlwp 發(fā)表于 2014-04-28 19:53
2樓正解


看懂了!

順便請教下, PG_swapcache和PG_swapbacked有什么區(qū)別? 各自代表什么?
作者: l4rmbr    時間: 2014-04-29 11:26
帥絕人寰 發(fā)表于 2014-04-29 10:29
看懂了!

順便請教下, PG_swapcache和PG_swapbacked有什么區(qū)別? 各自代表什么?


PG_swapbacked表示一個頁是以交換區(qū)/交換文件作為后備空間的,類比于page cache頁,它是以存儲介質(zhì)中的文件作為后備空間的。

PG_swapcache表示一個頁在交換緩存中。
一個頁要被交換時,并不是馬上寫出,而是先置于交換緩存中,此時PG_swapcache置位,并且,該進程的該頁表項不會馬上修改為swap entry項,
因為可能還有其他進程映射到該頁,所以得等所有進程都unmap到該頁后,才會真正把該頁交換到交換區(qū)/交換文件,并且把 頁表項改為swap entry,
表示該頁現(xiàn)在在交換區(qū)/交換文件。

另一方面,當(dāng)進程要訪問該頁時,發(fā)現(xiàn)swap entry, 知道其在交換區(qū)/交換文件中,于是會把它調(diào)入到交換緩存中,同樣,該進程此時不會馬上把swap entry
修改為頁表項,因為可能其他進程還未把該頁換入,所以該頁可能還要在交換緩存中呆一會。等到所以進程都換入該頁時,該頁才會從交換緩存中刪除。

大致如此。細(xì)節(jié)可能要修改。我研究下代碼再來更新。

作者: 帥絕人寰    時間: 2014-04-29 12:31
l4rmbr 發(fā)表于 2014-04-29 11:26
PG_swapbacked表示一個頁是以交換區(qū)/交換文件作為后備空間的,類比于page cache頁,它是以存儲介質(zhì)中的 ...


哥,太感謝了。。!   終于直到是腫么回事了。!




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2