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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 1615 | 回復(fù): 2
打印 上一主題 下一主題

[內(nèi)存管理] 準(zhǔn)備釋放的page,會(huì)被標(biāo)記上swapcache? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-09-05 20:11 |只看該作者 |倒序?yàn)g覽
下面的回收頁(yè)面的函數(shù),開始的代碼會(huì)判斷是不是標(biāo)記了swapcache。
我的理解是,加入到swap cache里面page,是不會(huì)在任何lru list里面的,不知道理解對(duì)不對(duì)?

static unsigned long shrink_page_list(struct list_head *page_list,
                                      struct mem_cgroup_zone *mz,
                                      struct scan_control *sc,
                                      int priority,
                                      unsigned long *ret_nr_dirty,
                                      unsigned long *ret_nr_writeback)
{
        LIST_HEAD(ret_pages);
        LIST_HEAD(free_pages);
        int pgactivate = 0;
        unsigned long nr_dirty = 0;
        unsigned long nr_congested = 0;
        unsigned long nr_reclaimed = 0;
        unsigned long nr_writeback = 0;

        cond_resched();

        while (!list_empty(page_list)) {
                enum page_references references;
                struct address_space *mapping;
                struct page *page;
                int may_enter_fs;

                cond_resched();

                page = lru_to_page(page_list);
                list_del(&page->lru);

                if (!trylock_page(page))
                        goto keep;

                VM_BUG_ON(PageActive(page));
                VM_BUG_ON(page_zone(page) != mz->zone);

                sc->nr_scanned++;

                if (unlikely(!page_evictable(page, NULL)))
                        goto cull_mlocked;

                if (!sc->may_unmap && page_mapped(page))
                        goto keep_locked;

                /* Double the slab pressure for mapped and swapcache pages */
                if (page_mapped(page) || PageSwapCache(page))
                        sc->nr_scanned++;

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2013-09-06 17:33 |只看該作者
shrink里面有的頁(yè)是直接釋放,有的頁(yè)確實(shí)要被交換到交換分區(qū)的,被換出。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-09-07 10:33 |只看該作者
看了一下,是有這種可能的。
2個(gè)進(jìn)程A,B使用的一個(gè)anon page被swap out了,然后A進(jìn)程swap in了這個(gè)page,那么這個(gè)page就會(huì)被加入到anon list,同時(shí)這個(gè)page也存在于
swap cache中(因?yàn)檫有個(gè)進(jìn)程B,沒有swap in這個(gè)page)。
而這個(gè)時(shí)候PFRA是可能從anon list里面嘗試釋放這個(gè)page的,這時(shí)就會(huì)出現(xiàn)在shrink_page_list()里面嘗試釋放的page,同時(shí)也在swapcache里面的情況了。
您需要登錄后才可以回帖 登錄 | 注冊(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)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP