• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    MIPS VZ 虛擬化環(huán)境中透明大頁(yè)性能的優(yōu)化①

    2021-02-11 05:01:20毛碧波楊小娟
    高技術(shù)通訊 2021年11期
    關(guān)鍵詞:頁(yè)表宿主機(jī)表項(xiàng)

    朱 琛 王 劍 高 翔 毛碧波 楊小娟

    (*計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院計(jì)算技術(shù)研究所) 北京100190)

    (**中國(guó)科學(xué)院計(jì)算技術(shù)研究所 北京100190)

    (***中國(guó)科學(xué)院大學(xué) 北京100049)

    (****龍芯中科技術(shù)有限公司 北京100190)

    0 引言

    內(nèi)存管理是影響計(jì)算機(jī)性能的重要因素之一,操作系統(tǒng)的虛實(shí)地址轉(zhuǎn)換依賴(lài)于CPU 的內(nèi)存管理單元(memory management unit,MMU),在訪存密集型應(yīng)用中MMU 重填地址轉(zhuǎn)換緩沖器(translation lookaside buffer,TLB) 的開(kāi)銷(xiāo)容易成為性能瓶頸[1-2]。在硬件輔助虛擬化環(huán)境中,為了減少虛擬機(jī)內(nèi)存缺頁(yè)的次數(shù),往往采用兩級(jí)TLB,一個(gè)虛擬機(jī)的虛擬地址轉(zhuǎn)換需要兩個(gè)TLB 表項(xiàng),這進(jìn)一步加重了該問(wèn)題。采用內(nèi)存大頁(yè)技術(shù)可以明顯增大TLB對(duì)內(nèi)存的覆蓋率,通??梢詼p少TLB 的缺頁(yè)次數(shù),因此常被用于優(yōu)化虛擬機(jī)訪存[3]。現(xiàn)有很大一部分處理器采用分組TLB 實(shí)現(xiàn)對(duì)大小頁(yè)的支持。透明大頁(yè)分配機(jī)制在面對(duì)使用大容量連續(xù)數(shù)據(jù)集、訪存頻繁且局部性差的程序時(shí)會(huì)造成這類(lèi)處理器的TLB 負(fù)載不均衡,影響系統(tǒng)性能。本文針對(duì)這一問(wèn)題提出了一種優(yōu)化TLB 負(fù)載均衡度的方法,并創(chuàng)新地提出了一種高效的TLB 負(fù)載均衡度監(jiān)測(cè)機(jī)制和基于負(fù)載不均衡度的大頁(yè)調(diào)度策略。

    本文的內(nèi)容如下,第1 節(jié)以MIPS 處理器為例介紹了MMU 中內(nèi)存硬件輔助虛擬化的方法和MMU 對(duì)大頁(yè)的支持。第2 節(jié)以包含虛擬化組件(virtualization module,VZ)擴(kuò)展的龍芯3A4000 處理器為平臺(tái),通過(guò)實(shí)驗(yàn)對(duì)比了MIPS 處理器在虛擬化環(huán)境下啟動(dòng)大頁(yè)前后SPEC CPU 2006 測(cè)試中的性能。第3 節(jié)對(duì)SPEC CPU 2006 測(cè)試中性能異常的項(xiàng)目進(jìn)行了分析。第4 節(jié)對(duì)現(xiàn)有的內(nèi)存分頁(yè)策略進(jìn)行了改進(jìn)。第5 節(jié)對(duì)改進(jìn)后的KVM 虛擬機(jī)進(jìn)行了性能測(cè)試。第6 節(jié)總結(jié)了全文并展望了未來(lái)工作。

    1 背景

    1.1 虛擬機(jī)的地址翻譯

    內(nèi)存頁(yè)是操作系統(tǒng)分配內(nèi)存的最小單位,為了保護(hù)不同進(jìn)程的數(shù)據(jù),用戶(hù)進(jìn)程使用虛擬地址,MMU 查詢(xún)TLB,將虛擬地址翻譯為物理地址進(jìn)行訪問(wèn)。如果TLB 中未命中,頁(yè)表遍歷器(pagewalk)會(huì)查詢(xún)頁(yè)表并將對(duì)應(yīng)的表項(xiàng)填入TLB 中。

    虛擬化需要使用兩級(jí)頁(yè)表完成虛擬機(jī)的地址翻譯,一級(jí)是虛擬機(jī)維護(hù)的客模式虛擬地址(guest virtual address,GVA)到客模式物理地址(guest physcial address,GPA)的頁(yè)表。一級(jí)是虛擬機(jī)管理器(virtual machine monitor,VMM),本文使用KVM 作為VMM維護(hù)GPA 到宿主機(jī)物理地址(host physical address,HPA)的翻譯[4]。除此之外,虛擬機(jī)的虛擬外設(shè)也會(huì)使用正常的宿主機(jī)虛擬機(jī)地址(host virtual address,HVA)到HPA 的頁(yè)表項(xiàng)。

    虛擬機(jī)地址翻譯依賴(lài)于MMU 和TLB 的硬件輔助。常見(jiàn)的虛擬機(jī)內(nèi)存地址翻譯的硬件輔助根據(jù)使用TLB 的層級(jí)可分為兩種。

    第一種方式是虛擬機(jī)使用一級(jí)TLB 完成虛擬機(jī)的地址翻譯,虛擬機(jī)的TLB 表項(xiàng)中只記錄GVA或GPA 到HPA 的轉(zhuǎn)化。所有的TLB 操作由宿主機(jī)內(nèi)核態(tài)完成[5]。早期的X86處理器、龍芯的GS464E 處理器核使用的虛擬化擴(kuò)展采用這種方式。一次虛擬機(jī)TLB 重填的流程如圖1 所示。

    圖1 虛擬機(jī)地址翻譯流程

    這種方式下,每次TLB 重填需要先產(chǎn)生宿主機(jī)例外,查詢(xún)KVM 中的GVA→GPA 影子頁(yè)表,如影子頁(yè)表未命中需要返回客模式通過(guò)GVA 查詢(xún)GPA,最終再回到VMM 通過(guò)GPA 找到HPA,并將GVA 到HPA 的對(duì)應(yīng)關(guān)系填入頁(yè)表。這種方式的優(yōu)點(diǎn)是硬件實(shí)現(xiàn)較為簡(jiǎn)單,占用TLB 表項(xiàng)少,只需對(duì)TLB 和MMU 做少量更改就可實(shí)現(xiàn)虛擬機(jī)的內(nèi)存虛擬化;缺點(diǎn)也很明顯,一次頁(yè)表的填入經(jīng)常需要在客模式和根模式下多次切換,每次切換CPU 都需要保存大量的狀態(tài)信息,開(kāi)銷(xiāo)較大。

    另一種方式是使用兩級(jí)TLB 完成虛擬機(jī)地址的翻譯,其中一級(jí)記錄GVA 到GPA 的轉(zhuǎn)化,這一級(jí)TLB 的操作在客模式內(nèi)核態(tài)完成。第二級(jí)記錄GPA 到HPA 的轉(zhuǎn)化,這一級(jí)的TLB 操作由宿主機(jī)內(nèi)核態(tài)完成[6]。Intel 的擴(kuò)展頁(yè)表(extended page tables,EPT)、AMD 的嵌套頁(yè)表(nested page tables,NPT)和MIPS 的VZ 都使用這一方式。MIPS VZ 中的地址翻譯邏輯如圖2 所示。

    圖2 VZ 虛擬機(jī)地址翻譯流程

    在這種模式下,pagewalk 分別查詢(xún)虛擬機(jī)和VMM 的頁(yè)表完成各自的TLB 重填操作。兩個(gè)表項(xiàng)一個(gè)記錄GVA →GPA,一個(gè)記錄GPA →HPA,由MMU 根據(jù)兩個(gè)表項(xiàng)完成地址的翻譯。這樣在一定程度上避免了多次切換CPU 狀態(tài)的問(wèn)題。除此之外,由于GVA→GPA、GPA→HPA 的映射是完全相互獨(dú)立的,兩級(jí)地址翻譯之間實(shí)現(xiàn)了解耦,方便使用透明大頁(yè)等內(nèi)核的內(nèi)存優(yōu)化技術(shù)。

    使用兩級(jí)TLB 后虛擬機(jī)環(huán)境地址翻譯的代價(jià)仍然明顯高于非虛擬機(jī)環(huán)境。在客模式內(nèi)核態(tài)查找GVA→GPA 的過(guò)程中,需要查詢(xún)虛擬機(jī)的各級(jí)頁(yè)表,如果頁(yè)表所在GPA 對(duì)應(yīng)的GPA→HPA 表項(xiàng)不在TLB 中時(shí),會(huì)產(chǎn)生額外的VMM 缺頁(yè)異常,返回VMM 填入對(duì)應(yīng)的GPA→HPA 頁(yè)表項(xiàng),每訪問(wèn)一級(jí)客模式頁(yè)表都可能產(chǎn)生額外的重填,每次額外重填會(huì)帶來(lái)1 次客模式到根模式的切換和數(shù)次訪存。一次重填最多會(huì)產(chǎn)生M × N+M+N次訪存,其中M和N分別為宿主機(jī)和虛擬機(jī)的頁(yè)表級(jí)數(shù)[7]。如圖3所示,如果M和N都為4,一次重填最多需要24 次訪存。

    圖3 虛擬機(jī)兩級(jí)頁(yè)表的遍歷過(guò)程

    1.2 操作系統(tǒng)和處理器對(duì)大頁(yè)的支持

    操作系統(tǒng)在多級(jí)頁(yè)表中習(xí)慣于用一個(gè)內(nèi)存頁(yè)存儲(chǔ)一個(gè)目錄級(jí),以4 kB 頁(yè)為例,在64 位地址的條件下,一個(gè)4 kB 頁(yè)可以?xún)?chǔ)存512 個(gè)64 位地址,即頁(yè)表項(xiàng)(page table entry,PTE) 的上一級(jí)頁(yè)中間目錄(page middle directory,PMD)可以覆蓋512 ×4 kB=2 MB 的地址空間,上一級(jí)的頁(yè)上級(jí)目錄(page upper directory,PUD)為512 ×2 MB 即1 GB,為了管理方便,一般一個(gè)大頁(yè)直接對(duì)應(yīng)其中一個(gè)目錄項(xiàng)。如X86-64 使用4 kB 小頁(yè)對(duì)應(yīng)的大頁(yè)即為2 MB 和1 GB。

    MMU 根據(jù)設(shè)計(jì)可以支持一種或幾種不同規(guī)格的內(nèi)存頁(yè)大小,對(duì)應(yīng)的TLB 也支持相應(yīng)的頁(yè)大小。較小的頁(yè)大小能夠避免內(nèi)存的浪費(fèi),但由于TLB 的數(shù)量限制,能夠覆蓋的內(nèi)存范圍有限,因此在一些特定的應(yīng)用場(chǎng)景,采用更大的內(nèi)存頁(yè)(即大頁(yè))能夠有效提升TLB 的內(nèi)存覆蓋率,提升性能。

    MIPS 處理器一般有4 種不同的TLB,分別是指令TLB(ITLB)、數(shù)據(jù)TLB(DTLB)、固定頁(yè)大小TLB(FTLB)和可變頁(yè)大小TLB(VTLB)。ITLB 和DTLB統(tǒng)稱(chēng)為微TLB(μTLB),FTLB 和VTLB 統(tǒng)稱(chēng)為聯(lián)合TLB(JTLB)。μTLB 對(duì)軟件透明,由硬件從JTLB 中查詢(xún)后填入,因此其內(nèi)容是JTLB 的子集[8]。JTLB中FTLB 同時(shí)只能使用一種頁(yè)大小,VTLB 同時(shí)支持不同頁(yè)大小(步進(jìn)與μTLB 相同)。VTLB 使用全相連結(jié)構(gòu)支持不同頁(yè)大小,由于結(jié)構(gòu)限制其項(xiàng)數(shù)較少。以龍芯3A4000 使用的GS464V 處理器核為例,ITLB和VTLB 為64 項(xiàng),DTLB 為32 項(xiàng),FTLB 為2048 項(xiàng)。

    在VZ 模式下,JTLB 中有GVA→GPA、GPA→HPA 2 種表項(xiàng),由軟件頁(yè)表遍歷器填入,MMU 的硬件邏輯將2 種表項(xiàng)翻譯成GVA→HPA 的單一表項(xiàng)填入μTLB。JTLB 中的FTLB 項(xiàng)數(shù)較多,一般用于小頁(yè),VTLB 一般用于大頁(yè)。其他架構(gòu)的處理器,如X86 和Sparc 的部分處理器也使用了大小頁(yè)TLB 分組的結(jié)構(gòu)[9-10]。

    2 VZ 虛擬化環(huán)境下的大頁(yè)性能測(cè)試

    Linux 系統(tǒng)中對(duì)大頁(yè)的應(yīng)用主要分為2 種模式,即大頁(yè)文件系統(tǒng)(Hugetlbfs)和透明大頁(yè)(transparent huge pages,THP)。Hugetlbfs 需要操作系統(tǒng)手動(dòng)預(yù)先分配大頁(yè)并映射為一個(gè)文件,用戶(hù)程序可以通過(guò)該文件獲取按大頁(yè)預(yù)分配的內(nèi)存。THP 是一種用戶(hù)透明的大頁(yè)優(yōu)化,內(nèi)核會(huì)根據(jù)進(jìn)程的內(nèi)存使用情況,自動(dòng)分配大頁(yè)或?qū)?nèi)存中的小頁(yè)合并成大頁(yè)。THP 避免了Hugetlbfs 需要應(yīng)用程序顯式調(diào)用的問(wèn)題,使大頁(yè)的應(yīng)用更為廣泛[11]。

    MMU 使用大頁(yè)需要被翻譯的地址和翻譯的地址同時(shí)滿(mǎn)足大頁(yè)的對(duì)齊要求,KVM 使用的內(nèi)存是在根模式用戶(hù)態(tài)申請(qǐng)的,根內(nèi)核THP 的分配規(guī)則是將HVA 和HPA 按大頁(yè)對(duì)齊,卻沒(méi)有維護(hù)HPA 和GPA的對(duì)齊關(guān)系。如果HVA、HPA 和GPA 三者不能同時(shí)滿(mǎn)足大頁(yè)對(duì)齊時(shí),即使根文件系統(tǒng)和虛擬機(jī)都使用了透明大頁(yè),最終KVM 在TLB 中填入的表項(xiàng)仍是小頁(yè)。如圖4 所示,HVA 的013FFC000 對(duì)應(yīng)GPA的0xA000000,雖然根模式和虛擬機(jī)內(nèi)核都使用了大頁(yè),最終TLB 填入的仍是小頁(yè)。該問(wèn)題解決辦法是在用戶(hù)態(tài)啟動(dòng)時(shí)考慮對(duì)齊問(wèn)題,申請(qǐng)?zhí)摂M機(jī)內(nèi)存對(duì)應(yīng)的HVA 地址時(shí)額外增加一個(gè)大頁(yè)大小的虛擬地址空間,取第一個(gè)大頁(yè)對(duì)齊的HVA 地址為客戶(hù)機(jī)GPA 的起始地址。

    圖4 HVA 和GPA 不對(duì)齊時(shí)頁(yè)表的狀態(tài)

    測(cè)試中虛擬機(jī)和KVM 都通過(guò)THP 的方式使用大頁(yè),使用SPEC CPU 2006 測(cè)試作為對(duì)比基準(zhǔn)。CPU 為龍芯3A4000 處理器,主頻1.8 GHz。物理機(jī)和虛擬機(jī)都設(shè)置為雙核,內(nèi)存均為4 GB,測(cè)試中未開(kāi)啟3A4000 的向量?jī)?yōu)化。測(cè)試中涉及4 種組合:物理機(jī)不開(kāi)啟透明大頁(yè),物理機(jī)開(kāi)啟透明大頁(yè),虛擬機(jī)和KVM 不開(kāi)啟透明大頁(yè),虛擬機(jī)和KVM 開(kāi)啟透明大頁(yè),測(cè)試成績(jī)對(duì)比如圖5 所示。

    圖5 龍芯3A4000 在不同組合情況下的SPEC2006 CPU 性能對(duì)比

    可見(jiàn)使用大頁(yè)后,SPEC CPU 2006 中Gems-FDTD、cactusADM、bwaves、xalancbmk、astar、omnetpp、sjeng 都有較大幅度的性能提升,且宿主機(jī)和虛擬機(jī)使用大頁(yè)前后的性能變化趨勢(shì)一致。但mcf程序的成績(jī)出現(xiàn)了異常,物理機(jī)使用大頁(yè)提升了16.2%,但虛擬機(jī)使用大頁(yè)卻下降了9.2%。除此之外的其他測(cè)試項(xiàng)目,大頁(yè)的影響較小。

    3 測(cè)試項(xiàng)性能下降的原因分析

    現(xiàn)有研究認(rèn)為透明大頁(yè)的性能問(wèn)題主要來(lái)源于以下幾個(gè)方面:(1)內(nèi)存碎片化和多虛擬機(jī)內(nèi)存超分造成的大頁(yè)分配困難[11];(2)透明大頁(yè)分配、合并和拆分的開(kāi)銷(xiāo)造成的性能抖動(dòng);(3)多個(gè)虛擬機(jī)或進(jìn)程頻繁切換引起的TLB 失效[12]。針對(duì)上述問(wèn)題作了如下實(shí)驗(yàn),宿主機(jī)只啟動(dòng)一臺(tái)虛擬機(jī)且沒(méi)有其他活躍進(jìn)程。虛擬機(jī)啟動(dòng)時(shí)使用Hugetlbfs 預(yù)分配大頁(yè),確保虛擬機(jī)在GPA→HPA 轉(zhuǎn)換時(shí)一定是大頁(yè),且虛擬機(jī)使用時(shí)沒(méi)有大頁(yè)分配、合并的相關(guān)開(kāi)銷(xiāo)。同時(shí)監(jiān)測(cè)mcf 測(cè)試運(yùn)行時(shí)進(jìn)程的大頁(yè)使用情況,確定mcf 運(yùn)行時(shí)成功分配了大頁(yè)。這種情況下,mcf 的測(cè)試成績(jī)?yōu)?.84,與使用兩級(jí)透明大頁(yè)時(shí)的測(cè)試分值7.79 相差僅為0.6%,因此可以排除是因?yàn)榇箜?yè)分配失敗引起的性能下降。在該實(shí)驗(yàn)的基礎(chǔ)上修改了TLB 重填例外代碼,對(duì)TLB 的重填來(lái)源進(jìn)行了統(tǒng)計(jì),結(jié)果顯示測(cè)試時(shí)虛擬機(jī)99%以上的重填都來(lái)自于mcf 測(cè)試進(jìn)程,宿主機(jī)99%以上的重填都來(lái)自于運(yùn)行mcf 的虛擬機(jī),排除了多個(gè)虛擬機(jī)或進(jìn)程頻繁切換引發(fā)的TLB 失效。最后通過(guò)perf 統(tǒng)計(jì)了虛擬機(jī)透明大頁(yè)分配、合并和拆分相關(guān)函數(shù)的時(shí)間占比,統(tǒng)計(jì)結(jié)果顯示透明大頁(yè)相關(guān)函數(shù)的時(shí)間占比小于總時(shí)間的0.1%。因此現(xiàn)有研究不能夠解釋mcf 測(cè)試在龍芯3A4000 虛擬機(jī)使用透明大頁(yè)時(shí)性能下降的原因。

    為了進(jìn)一步分析mcf,在圖5 的組合基礎(chǔ)上,增加了關(guān)閉KVM 透明大頁(yè)保留客模式透明大頁(yè)和保留KVM 透明大頁(yè)關(guān)閉客模式透明大頁(yè)2 種情況的測(cè)試。測(cè)試結(jié)果如圖6 所示。測(cè)試結(jié)果中可以看到,無(wú)論是GVA→GPA 還是GPA→HPA 使用大頁(yè)對(duì)性能的影響都是正向的。但同時(shí)對(duì)GVA→GPA 和GPA→HPA 使用大頁(yè)時(shí),卻產(chǎn)生了明顯的負(fù)面影響。

    圖6 不同大頁(yè)策略下的mcf 分值對(duì)比

    mcf 是一個(gè)C 語(yǔ)言實(shí)現(xiàn)的,用于大型公共交通中的單站車(chē)輛調(diào)度的程序,實(shí)測(cè)在64 位系統(tǒng)中占用約1.6 GB 的連續(xù)內(nèi)存地址,訪存頻繁且訪存局部性差。測(cè)試系統(tǒng)默認(rèn)使用16 kB 小頁(yè),對(duì)應(yīng)的PMD 尺寸為32 MB。GS464V 用于大頁(yè)的TLB 為VTLB,共有64 項(xiàng)。在物理機(jī)運(yùn)行時(shí),64 項(xiàng)大頁(yè)可覆蓋2 GB的地址空間。在虛擬機(jī)模式下運(yùn)行時(shí),由于使用兩級(jí)頁(yè)表,需要VTLB 中同時(shí)用2 個(gè)頁(yè)表項(xiàng)才能完成一次地址翻譯,因此最大覆蓋的不需要替換的地址范圍為1 GB。這意味著GS464V 在默認(rèn)情況下,使用大頁(yè)能覆蓋mcf 測(cè)試的全部?jī)?nèi)存地址,在虛擬機(jī)模式下則不能全部覆蓋。這在mcf 程序中會(huì)帶來(lái)頻繁的TLB 重填影響性能。為了進(jìn)一步驗(yàn)證,在Linux 內(nèi)核通用(物理機(jī)和虛擬機(jī)復(fù)用,負(fù)責(zé)填入HVA→HPA 或GVA→GPA 的頁(yè)表項(xiàng))和KVM 模塊專(zhuān)用(負(fù)責(zé)填入GPA→HPA 的頁(yè)表項(xiàng))的TLB 重填例外入口加入了計(jì)數(shù),并區(qū)分大小頁(yè),統(tǒng)計(jì)不同條件下測(cè)試mcf 每秒鐘TLB 重填的次數(shù)。測(cè)試分值和重填次數(shù)見(jiàn)圖7。圖中曲線對(duì)應(yīng)測(cè)試分值,左邊的縱坐標(biāo)標(biāo)示每秒鐘重填次數(shù),右邊的縱坐標(biāo)標(biāo)示測(cè)試分值。從左到右測(cè)試環(huán)境依次為宿主機(jī)關(guān)閉透明大頁(yè)、宿主機(jī)開(kāi)啟透明大頁(yè),虛擬機(jī)環(huán)境關(guān)閉所有透明大頁(yè),虛擬化環(huán)境只使用虛擬機(jī)透明大頁(yè)和虛擬機(jī)環(huán)境開(kāi)啟兩級(jí)透明大頁(yè)。

    圖7 不同環(huán)境下mcf 測(cè)試的TLB 重填次數(shù)和分值

    可見(jiàn)測(cè)試分值與重填次數(shù)呈明顯相關(guān)性,重填次數(shù)越多,測(cè)試分值越低。使用透明大頁(yè)時(shí),Linux的內(nèi)存管理器傾向于盡可能分配大頁(yè)[11],因此在兩級(jí)內(nèi)存管理都開(kāi)啟THP 時(shí),所有的頁(yè)面都使用大頁(yè),TLB 的重填主要局限于大頁(yè)的VLTB,達(dá)218 萬(wàn)次/s,而FTLB 僅重填不到450 次/s。手動(dòng)關(guān)閉KVM 的THP 后總重填次數(shù)下降到128 萬(wàn)次。這表明2 種TLB 之間的負(fù)載不均衡,資源沒(méi)有得到充分利用。

    4 基于TLB 負(fù)載均衡的虛擬機(jī)性能優(yōu)化

    由上述分析可知,現(xiàn)有的Linux 透明大頁(yè)分配機(jī)制會(huì)造成面對(duì)使用大容量連續(xù)數(shù)據(jù)集、訪存頻繁且局部性差的應(yīng)用程序時(shí),當(dāng)大頁(yè)的表項(xiàng)不足以覆蓋熱點(diǎn)內(nèi)存區(qū)域會(huì)產(chǎn)生對(duì)TLB 表項(xiàng)的劇烈競(jìng)爭(zhēng),造成應(yīng)用程序使用大頁(yè)后性能下降。硬件上解決這一問(wèn)題最直接的辦法是增加表項(xiàng)數(shù)量,但TLB 的數(shù)量增加受時(shí)序限制,也會(huì)增加硬件成本。與此同時(shí)用于小頁(yè)的TLB 表項(xiàng)在mcf 測(cè)試中處于空閑狀態(tài)沒(méi)有充分利用。使用單級(jí)大頁(yè)后性能提升的實(shí)驗(yàn)結(jié)果表明,如果充分利用空閑的TLB 資源,可以減少TLB 替換次數(shù),提升性能。

    優(yōu)化該問(wèn)題需要通過(guò)對(duì)TLB 的重填狀況進(jìn)行監(jiān)測(cè),識(shí)別出不平衡狀態(tài)。現(xiàn)有的相關(guān)性能計(jì)數(shù)器只提供了總的TLB 重填次數(shù),但MIPS 的TLB 軟件重填機(jī)制和核內(nèi)空閑寄存器為高效統(tǒng)計(jì)大頁(yè)重填的次數(shù)提供了可能。通過(guò)大頁(yè)重填次數(shù)和總的重填次數(shù),就能夠得到TLB 的負(fù)載不均衡度。在物理機(jī)上一般同時(shí)運(yùn)行數(shù)百個(gè)到上萬(wàn)個(gè)進(jìn)程,對(duì)之進(jìn)行監(jiān)控代價(jià)較高。同時(shí)由于物理機(jī)運(yùn)行的負(fù)載較為復(fù)雜,行為模式經(jīng)常發(fā)生變化。同時(shí)在一個(gè)物理機(jī)上運(yùn)行的虛擬機(jī)數(shù)目有限,且虛擬機(jī)通常長(zhǎng)時(shí)間運(yùn)行穩(wěn)定負(fù)載,因此在KVM 中對(duì)虛擬機(jī)進(jìn)行監(jiān)控和優(yōu)化更為合理。利用現(xiàn)有硬件資源在KVM 中設(shè)計(jì)一個(gè)高效的TLB 負(fù)載檢測(cè)機(jī)制,并根據(jù)TLB 負(fù)載不均衡度調(diào)整大頁(yè)分配比例,可以提高TLB 的命中率,提升系統(tǒng)性能。

    4.1 TLB 負(fù)載檢測(cè)機(jī)制

    TLB 重填是影響CPU 性能的關(guān)鍵路徑,因此需要一個(gè)高效的TLB 負(fù)載檢測(cè)機(jī)制,以避免對(duì)系統(tǒng)產(chǎn)生負(fù)面影響。本文中使用的檢測(cè)方法,充分利用龍芯GS464V 處理器核的硬件資源,實(shí)現(xiàn)了可開(kāi)關(guān)的軟件大頁(yè)重填計(jì)數(shù)器,避免了在TLB refill 中增加訪存,具體結(jié)構(gòu)如圖8 所示。

    圖8 TLB 負(fù)載檢測(cè)機(jī)制

    該檢測(cè)方法利用了龍芯3A4000 處理器中的以下硬件資源:硬件TLB 重填計(jì)數(shù)器(以下簡(jiǎn)稱(chēng)TLB計(jì)數(shù)器)和2 個(gè)空閑的Kscratch 寄存器。

    硬件TLB 重填計(jì)數(shù)器是GS464V 中的一個(gè)性能計(jì)數(shù)器,能夠統(tǒng)計(jì)總的宿主機(jī)TLB 重填次數(shù),但無(wú)法區(qū)分大小頁(yè)。Kscratch 寄存器是GS464V 中的一組64 位可讀寫(xiě)寄存器,用于存放核心態(tài)軟件的暫存數(shù)據(jù)。GS464V 中一共有6 個(gè)Kscratch 寄存器,為Kscratch 1~6。在現(xiàn)有的Linux 內(nèi)核中,除了KSratch 1,其余5 個(gè)沒(méi)有使用。本文使用了Kscratch 5和Kscratch 6 兩個(gè)寄存器。其中Kscratch 5 用于開(kāi)關(guān)軟件大頁(yè)重填計(jì)數(shù)器,Kscratch 6 用于軟件大頁(yè)重填計(jì)數(shù)器存放計(jì)數(shù)值。

    軟件上增加2 個(gè)模塊,TLB 負(fù)載監(jiān)控程序和軟件大頁(yè)重填計(jì)數(shù)器(以下簡(jiǎn)稱(chēng)大頁(yè)計(jì)數(shù)器)。TLB負(fù)載監(jiān)測(cè)程序在時(shí)鐘中斷例外中執(zhí)行,軟件大頁(yè)重填計(jì)數(shù)器位于TLB 重填例外函數(shù)中。除此之外對(duì)內(nèi)核的內(nèi)存管理單元進(jìn)行了少量修改,增加了限制虛擬機(jī)大頁(yè)分配數(shù)量的邏輯。該邏輯中使用了2 個(gè)參數(shù):當(dāng)前虛擬機(jī)允許分配的大頁(yè)數(shù)Nhl和當(dāng)前虛擬機(jī)使用的大頁(yè)數(shù)Nhc。Nhl的初始值設(shè)定為虛擬機(jī)內(nèi)存大小除以系統(tǒng)大頁(yè)尺寸,即虛擬機(jī)所有的內(nèi)存都可使用大頁(yè)。Nhc的值由內(nèi)存管理單元維護(hù),記錄當(dāng)前虛擬機(jī)使用的大頁(yè)數(shù)。

    具體流程如圖8 所示。

    (1)TLB負(fù)載監(jiān)控程序通過(guò)讀取硬件TLB重填計(jì)數(shù)器和Nhc、Nhl,統(tǒng)計(jì)當(dāng)前MMU 的負(fù)載和大頁(yè)使用情況。

    (2)當(dāng)監(jiān)控程序判別有必要監(jiān)測(cè)大頁(yè)重填計(jì)數(shù)時(shí),向Kscratch 5 寄存器寫(xiě)入非零值。

    (3)TLB 重填時(shí)讀取Kscratch 5 寄存器,當(dāng)值為非零時(shí),開(kāi)啟軟件大頁(yè)計(jì)數(shù)器。

    (4)當(dāng)前填入的頁(yè)為大頁(yè)時(shí),軟件計(jì)數(shù)器更新Kscratch 6 寄存器的計(jì)數(shù)值。

    (5)監(jiān)控程序根據(jù)實(shí)時(shí)的總重填計(jì)數(shù)和大頁(yè)重填計(jì)數(shù),判斷是否處于負(fù)載不均衡的狀態(tài)。

    (6)當(dāng)監(jiān)控程序判別不均衡需要調(diào)整透明大頁(yè)分配策略時(shí),步進(jìn)式調(diào)整Nhl。

    4.2 基于負(fù)載不均衡度的大頁(yè)調(diào)度策略

    監(jiān)控程序通過(guò)TLB 重填頻率,結(jié)合處理器單次TLB 重填耗時(shí),可以判斷TLB 重填在CPU 運(yùn)行中的耗時(shí)占比。當(dāng)耗時(shí)占比高于閾值時(shí),并不會(huì)馬上啟動(dòng)后續(xù)流程,而是會(huì)更新一個(gè)計(jì)數(shù)器(以下稱(chēng)該計(jì)數(shù)器為CL)。當(dāng)連續(xù)高于閾值時(shí)CL會(huì)逐次累加,而中間有不滿(mǎn)足閾值的情況時(shí)CL會(huì)逐次遞減直至為0,當(dāng)CL累加到一定數(shù)量時(shí),監(jiān)控程序才會(huì)啟動(dòng)大頁(yè)計(jì)數(shù)器。本文將啟動(dòng)條件設(shè)為CL≥2560,這意味著TLB 連續(xù)處于高負(fù)載10 s 以上。這樣做是為了避免調(diào)度算法過(guò)于敏感,頻繁切換狀態(tài)造成系統(tǒng)性能擾動(dòng)。

    啟動(dòng)大頁(yè)計(jì)數(shù)器后,獲取一個(gè)時(shí)鐘中斷間隔內(nèi)的大頁(yè)重填次數(shù)Nhr和總的重填次數(shù)Nr。由于大頁(yè)和小頁(yè)的TLB 項(xiàng)數(shù)不同,用Nhr和Nr -Nhr分別除以大頁(yè)和小頁(yè)的TLB 項(xiàng)數(shù),得到平均每個(gè)大頁(yè)TLB 表項(xiàng)重填的頻率fh和平均每個(gè)小頁(yè)TLB 表項(xiàng)的重填頻率fs,不平衡程度y通過(guò)下列函數(shù)衡量:

    y連續(xù)計(jì)算3 次,求取其算術(shù)平均值。當(dāng)不平衡度大于閾值時(shí),啟動(dòng)大頁(yè)調(diào)度程序,本文實(shí)驗(yàn)使用的不平衡度閾值為20。

    在y超出閾值且fh>fs時(shí),表明負(fù)載主要集中于大頁(yè)使用的VTLB。監(jiān)控程序?qū)hl更新為Nhc -1。此時(shí),Linux 內(nèi)存管理單元檢測(cè)到Nhc >Nhl,會(huì)拆分大頁(yè)至Nhl=Nhc。如果此時(shí)fh和fs大小關(guān)系沒(méi)有發(fā)生翻轉(zhuǎn)且y仍高于閾值,會(huì)進(jìn)一步減小Nhl,直至fh和fs大小關(guān)系發(fā)生翻轉(zhuǎn)或y降低到閾值以下。此后監(jiān)控程序會(huì)關(guān)閉大頁(yè)計(jì)數(shù)器,并將CL清零。

    如果負(fù)載集中于FTLB 且Nhc <Nhl,表明虛擬機(jī)此時(shí)需要等待內(nèi)存管理程序合并透明大頁(yè),且內(nèi)存管理程序本身具有權(quán)限,此時(shí)監(jiān)控程序會(huì)關(guān)閉大頁(yè)計(jì)數(shù)器,并將CL清零。如果Nhc=Nhl,且Nhl覆蓋范圍比虛擬機(jī)物理內(nèi)存小,將擴(kuò)大Nhl。

    5 優(yōu)化后的性能測(cè)試

    為了驗(yàn)證改進(jìn)的效果,優(yōu)化后重新測(cè)試了mcf,并對(duì)TLB 重填次數(shù)進(jìn)行了重新統(tǒng)計(jì),結(jié)果如圖9 所示。可見(jiàn)在開(kāi)啟兩級(jí)透明大頁(yè)的情況下,優(yōu)化后的虛擬機(jī)的分值相較于優(yōu)化前提升了45.1%,超過(guò)了虛擬機(jī)手動(dòng)關(guān)閉一級(jí)大頁(yè)的分值,也超過(guò)了宿主機(jī)使用小頁(yè)時(shí)的分值。

    圖9 優(yōu)化后的mcf 測(cè)試分值

    在此基礎(chǔ)上,對(duì)SPEC 2006 整體地重新測(cè)試,測(cè)試結(jié)果如圖10 所示。除mcf 外astar、cactusADM 和GemsFDTD 有1%~2%的性能提升,其他測(cè)試項(xiàng)變化不明顯。沒(méi)有出現(xiàn)性能下降超過(guò)1%的項(xiàng),表明新分配機(jī)制引入的開(kāi)銷(xiāo)沒(méi)有對(duì)其他測(cè)試的性能產(chǎn)生明顯影響。

    圖10 龍芯3A4000 優(yōu)化前后的SPEC CPU 2006 性能對(duì)比

    為了進(jìn)一步驗(yàn)證優(yōu)化效果,使用sysbench 對(duì)優(yōu)化前后的數(shù)據(jù)庫(kù)性能進(jìn)行了對(duì)比。sysbench是一個(gè)模塊化跨平臺(tái)多線程的基準(zhǔn)測(cè)試工具,可以評(píng)估不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫(kù)負(fù)載情況。對(duì)比測(cè)試的數(shù)據(jù)庫(kù)和測(cè)試均在本地運(yùn)行,測(cè)試數(shù)據(jù)庫(kù)含800 萬(wàn)個(gè)條目,測(cè)試使用2 個(gè)線程,最大數(shù)據(jù)庫(kù)事務(wù)次數(shù)50 000次,測(cè)試時(shí)兩級(jí)透明大頁(yè)均開(kāi)啟。測(cè)試結(jié)果如表1 所示,優(yōu)化后的測(cè)試成績(jī)有12%左右的性能提升。

    表1 sysbench 數(shù)據(jù)庫(kù)測(cè)試成績(jī)對(duì)比

    6 結(jié)論

    本文利用龍芯3A4000 處理器和SPEC CPU 2006 性能測(cè)試工具分析了MIPS VZ 虛擬化環(huán)境下大頁(yè)的性能,并針對(duì)發(fā)現(xiàn)的分組TLB 負(fù)載不均衡的問(wèn)題提出了改進(jìn)方法,經(jīng)測(cè)試改進(jìn)后的透明大頁(yè)性能在部分場(chǎng)景中有了明顯提高。

    本文提到的方法還有進(jìn)一步改進(jìn)的空間。本文使用的隨機(jī)拆分大頁(yè)的方式可能帶來(lái)性能抖動(dòng),未來(lái)通過(guò)進(jìn)一步改良TLB 負(fù)載監(jiān)測(cè)機(jī)制可以獲得更細(xì)粒度的信息,實(shí)現(xiàn)對(duì)熱點(diǎn)大頁(yè)的識(shí)別和有針對(duì)性的拆分。同時(shí)運(yùn)行多虛擬機(jī)時(shí),不僅存在處理器核TLB 負(fù)載不均衡的問(wèn)題,還存在著不同虛擬機(jī)之間大頁(yè)分配不均衡的問(wèn)題;系統(tǒng)長(zhǎng)時(shí)間運(yùn)行后,由于不可移動(dòng)的頁(yè)面存在會(huì)使物理地址空間不連續(xù)難以分出大頁(yè)[13]。這些問(wèn)題有待后續(xù)研究。

    猜你喜歡
    頁(yè)表宿主機(jī)表項(xiàng)
    一種改進(jìn)的TCAM路由表項(xiàng)管理算法及實(shí)現(xiàn)
    更正
    作者更正
    基于ARMA模型預(yù)測(cè)的交換機(jī)流表更新算法
    勘 誤
    更正
    虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
    嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)的思考
    SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
    嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)研究
    精品久久久久久久末码| av在线亚洲专区| 波多野结衣高清无吗| 亚洲av成人av| 国产麻豆成人av免费视频| av.在线天堂| 三级毛片av免费| 久久精品国产自在天天线| 午夜视频国产福利| 禁无遮挡网站| 88av欧美| 最近最新免费中文字幕在线| 能在线免费观看的黄片| 天堂网av新在线| 精品久久久久久成人av| 成人三级黄色视频| a级毛片免费高清观看在线播放| 看免费成人av毛片| 在线免费十八禁| 超碰av人人做人人爽久久| 热99在线观看视频| 白带黄色成豆腐渣| 99热这里只有精品一区| 欧美日韩瑟瑟在线播放| 听说在线观看完整版免费高清| 亚洲最大成人中文| 麻豆精品久久久久久蜜桃| 久久精品影院6| 婷婷亚洲欧美| 国产单亲对白刺激| 国产男人的电影天堂91| av在线观看视频网站免费| 国产亚洲91精品色在线| 天堂网av新在线| 国产v大片淫在线免费观看| 女同久久另类99精品国产91| 亚洲18禁久久av| 18禁黄网站禁片午夜丰满| 一级黄色大片毛片| 麻豆国产97在线/欧美| 精华霜和精华液先用哪个| 一个人看的www免费观看视频| 精品一区二区三区人妻视频| 搡女人真爽免费视频火全软件 | 国产精品亚洲美女久久久| 午夜爱爱视频在线播放| 日本黄大片高清| 婷婷亚洲欧美| 老女人水多毛片| 久久草成人影院| 男女边吃奶边做爰视频| 亚洲精品色激情综合| 亚洲欧美日韩无卡精品| 变态另类成人亚洲欧美熟女| 日韩大尺度精品在线看网址| 天堂影院成人在线观看| 亚洲国产日韩欧美精品在线观看| 波野结衣二区三区在线| 99久久久亚洲精品蜜臀av| 日本黄大片高清| 亚洲自拍偷在线| 精品久久久久久久久亚洲 | 久久99热这里只有精品18| 免费av观看视频| 国产亚洲欧美98| 午夜福利视频1000在线观看| 国产精品久久久久久av不卡| 九九热线精品视视频播放| 久久久国产成人免费| 国产精品久久久久久av不卡| 亚洲五月天丁香| 美女cb高潮喷水在线观看| 国产成人aa在线观看| 国产中年淑女户外野战色| 禁无遮挡网站| 国产精品免费一区二区三区在线| 色在线成人网| 日本五十路高清| 不卡一级毛片| 亚洲乱码一区二区免费版| 精华霜和精华液先用哪个| 午夜影院日韩av| or卡值多少钱| 校园春色视频在线观看| 黄色日韩在线| 日韩欧美一区二区三区在线观看| 久久久久九九精品影院| 国产 一区 欧美 日韩| 久久香蕉精品热| www.色视频.com| 午夜福利在线观看吧| 黄色丝袜av网址大全| 99久久九九国产精品国产免费| av在线观看视频网站免费| 亚洲最大成人av| 可以在线观看的亚洲视频| 成人一区二区视频在线观看| 神马国产精品三级电影在线观看| 日韩欧美免费精品| 一级av片app| 国产精品乱码一区二三区的特点| 男女做爰动态图高潮gif福利片| 我要搜黄色片| 精品久久久久久久久av| 国产aⅴ精品一区二区三区波| 日日干狠狠操夜夜爽| 国产精品日韩av在线免费观看| 国产男人的电影天堂91| 日本与韩国留学比较| 99热只有精品国产| а√天堂www在线а√下载| 国产精品一区www在线观看 | 日日夜夜操网爽| 亚洲天堂国产精品一区在线| 99久久成人亚洲精品观看| 国产日本99.免费观看| 成人午夜高清在线视频| 女人十人毛片免费观看3o分钟| 两个人视频免费观看高清| 天天躁日日操中文字幕| 中国美女看黄片| 男插女下体视频免费在线播放| 日本欧美国产在线视频| 国产成人aa在线观看| 亚洲成a人片在线一区二区| 99久国产av精品| 欧美国产日韩亚洲一区| 日日夜夜操网爽| 搞女人的毛片| av天堂中文字幕网| 久久人人爽人人爽人人片va| xxxwww97欧美| 国语自产精品视频在线第100页| 国产精品久久久久久精品电影| 国产成人影院久久av| 国产高清三级在线| 日本五十路高清| 午夜福利在线观看免费完整高清在 | 俺也久久电影网| 久久久久久久久久久丰满 | 两个人视频免费观看高清| 亚洲国产精品久久男人天堂| 国产高清视频在线播放一区| 一区二区三区四区激情视频 | 国产69精品久久久久777片| 黄色配什么色好看| 婷婷六月久久综合丁香| 长腿黑丝高跟| 国产成年人精品一区二区| 日本一本二区三区精品| 久久久久久久久久久丰满 | 国产在视频线在精品| 天堂av国产一区二区熟女人妻| 成人特级黄色片久久久久久久| 精品一区二区三区人妻视频| 久久热精品热| 色综合亚洲欧美另类图片| 国产黄色小视频在线观看| 国产麻豆成人av免费视频| 成人美女网站在线观看视频| 99久久九九国产精品国产免费| av在线观看视频网站免费| 国产黄a三级三级三级人| 99久久精品国产国产毛片| 亚洲国产精品久久男人天堂| 久久久久久久久久成人| 日韩欧美国产一区二区入口| 美女高潮喷水抽搐中文字幕| 99久久无色码亚洲精品果冻| 精品久久久久久久末码| 久99久视频精品免费| 校园春色视频在线观看| 99久国产av精品| 亚洲av不卡在线观看| 老师上课跳d突然被开到最大视频| 如何舔出高潮| 校园春色视频在线观看| 成人鲁丝片一二三区免费| 免费看日本二区| 精品久久久久久久久久免费视频| 亚洲无线观看免费| .国产精品久久| 日本与韩国留学比较| 国产精品国产三级国产av玫瑰| 噜噜噜噜噜久久久久久91| 丝袜美腿在线中文| 亚洲人成伊人成综合网2020| 99热这里只有精品一区| 欧美高清成人免费视频www| 亚洲成人免费电影在线观看| 国产一区二区在线观看日韩| 国国产精品蜜臀av免费| 久久6这里有精品| 久久国产精品人妻蜜桃| 亚洲自拍偷在线| 成人无遮挡网站| 成人欧美大片| 九九久久精品国产亚洲av麻豆| 男人和女人高潮做爰伦理| 尾随美女入室| 88av欧美| 欧美另类亚洲清纯唯美| 日韩精品青青久久久久久| 久久久久久久精品吃奶| 中文字幕av在线有码专区| 国产不卡一卡二| 日本一二三区视频观看| 亚洲va日本ⅴa欧美va伊人久久| 国产精品,欧美在线| 少妇人妻精品综合一区二区 | 午夜福利成人在线免费观看| 日本免费一区二区三区高清不卡| 一个人观看的视频www高清免费观看| 午夜精品一区二区三区免费看| 在线天堂最新版资源| 九九久久精品国产亚洲av麻豆| 一进一出抽搐动态| 亚洲国产高清在线一区二区三| 91久久精品国产一区二区三区| 亚洲av电影不卡..在线观看| 97碰自拍视频| 最近最新免费中文字幕在线| 国产精品亚洲美女久久久| 国产精品,欧美在线| 最新在线观看一区二区三区| 在线观看免费视频日本深夜| 最好的美女福利视频网| 99热精品在线国产| 国产大屁股一区二区在线视频| 精品一区二区三区视频在线观看免费| 久久中文看片网| 一本久久中文字幕| 中文字幕免费在线视频6| a级一级毛片免费在线观看| 精品一区二区三区人妻视频| 黄片wwwwww| 最近中文字幕高清免费大全6 | 国产高清三级在线| 一区二区三区激情视频| 热99在线观看视频| 综合色av麻豆| 久久99热6这里只有精品| 国产伦在线观看视频一区| 国产av在哪里看| 亚洲av第一区精品v没综合| 如何舔出高潮| 亚洲国产精品合色在线| 91午夜精品亚洲一区二区三区 | 国产久久久一区二区三区| 伦理电影大哥的女人| 热99在线观看视频| 日本 欧美在线| 亚洲人成网站在线播| 老司机深夜福利视频在线观看| 久久久午夜欧美精品| 琪琪午夜伦伦电影理论片6080| 国产真实乱freesex| 国产高清视频在线播放一区| 成人三级黄色视频| 男女视频在线观看网站免费| 真实男女啪啪啪动态图| 久久国产乱子免费精品| x7x7x7水蜜桃| 欧美一区二区精品小视频在线| 少妇猛男粗大的猛烈进出视频 | 亚洲在线观看片| 婷婷色综合大香蕉| 欧美丝袜亚洲另类 | 免费在线观看成人毛片| 大型黄色视频在线免费观看| 精品一区二区三区视频在线| 亚洲色图av天堂| 他把我摸到了高潮在线观看| 毛片一级片免费看久久久久 | 床上黄色一级片| 丝袜美腿在线中文| 国产黄色小视频在线观看| 最近最新中文字幕大全电影3| 一进一出抽搐gif免费好疼| 一区福利在线观看| 日本爱情动作片www.在线观看 | 99热这里只有是精品在线观看| 直男gayav资源| 欧美绝顶高潮抽搐喷水| 亚洲精品在线观看二区| 国产伦精品一区二区三区视频9| 中亚洲国语对白在线视频| 国产精品久久电影中文字幕| 国产熟女欧美一区二区| 我的女老师完整版在线观看| 久久久色成人| 人人妻人人看人人澡| 国产男靠女视频免费网站| 超碰av人人做人人爽久久| 国产久久久一区二区三区| 国产午夜福利久久久久久| 亚洲av日韩精品久久久久久密| 久久99热6这里只有精品| 亚洲av五月六月丁香网| 亚洲自偷自拍三级| xxxwww97欧美| 黄色日韩在线| 国产亚洲91精品色在线| 国产视频内射| 老熟妇乱子伦视频在线观看| 国产精品人妻久久久影院| 久久久久性生活片| 一个人看的www免费观看视频| 97超视频在线观看视频| 亚洲成人久久爱视频| 国产精品亚洲美女久久久| 男女下面进入的视频免费午夜| 最近最新免费中文字幕在线| 成人亚洲精品av一区二区| 韩国av一区二区三区四区| 亚洲美女视频黄频| 国产精品嫩草影院av在线观看 | 精品一区二区三区人妻视频| 99在线人妻在线中文字幕| 中文字幕精品亚洲无线码一区| 免费av观看视频| 最新中文字幕久久久久| 日本一二三区视频观看| 日韩欧美在线乱码| www日本黄色视频网| 中文字幕熟女人妻在线| 国产精品久久久久久久久免| 在线观看免费视频日本深夜| 舔av片在线| 国产 一区 欧美 日韩| 波多野结衣高清无吗| 中文字幕熟女人妻在线| 一级黄片播放器| 国产伦一二天堂av在线观看| 男女下面进入的视频免费午夜| 成人午夜高清在线视频| av在线老鸭窝| av在线蜜桃| 欧美日韩乱码在线| 国产精品永久免费网站| 久久精品夜夜夜夜夜久久蜜豆| 国产精品久久久久久久久免| 黄片wwwwww| 国产精品久久久久久久久免| 少妇被粗大猛烈的视频| 蜜桃久久精品国产亚洲av| 少妇被粗大猛烈的视频| 99久国产av精品| 国产 一区精品| 桃色一区二区三区在线观看| 日韩欧美精品v在线| 免费在线观看成人毛片| 2021天堂中文幕一二区在线观| 中文字幕精品亚洲无线码一区| 日本免费一区二区三区高清不卡| 无人区码免费观看不卡| 精品人妻1区二区| 熟女人妻精品中文字幕| 日本免费一区二区三区高清不卡| 少妇人妻精品综合一区二区 | av专区在线播放| АⅤ资源中文在线天堂| 99热精品在线国产| 色综合站精品国产| 国产精品不卡视频一区二区| 国内毛片毛片毛片毛片毛片| 亚洲va日本ⅴa欧美va伊人久久| 在线观看美女被高潮喷水网站| 在线播放无遮挡| 舔av片在线| 在线播放无遮挡| 我要看日韩黄色一级片| 搞女人的毛片| 日韩av在线大香蕉| 国产精品1区2区在线观看.| 天天躁日日操中文字幕| 久久香蕉精品热| 在线观看午夜福利视频| 国产午夜福利久久久久久| 亚洲最大成人手机在线| av天堂中文字幕网| 免费看美女性在线毛片视频| 午夜精品久久久久久毛片777| 少妇人妻精品综合一区二区 | 最好的美女福利视频网| 一区二区三区四区激情视频 | 午夜a级毛片| 97热精品久久久久久| bbb黄色大片| 美女免费视频网站| 97人妻精品一区二区三区麻豆| 国产精品国产三级国产av玫瑰| 丝袜美腿在线中文| 级片在线观看| 亚洲一区二区三区色噜噜| 乱码一卡2卡4卡精品| 1000部很黄的大片| 丰满乱子伦码专区| 国产v大片淫在线免费观看| 久久香蕉精品热| 波多野结衣高清作品| 国产成人aa在线观看| 日日摸夜夜添夜夜添小说| 18禁黄网站禁片免费观看直播| 久久久久九九精品影院| 又黄又爽又免费观看的视频| 色综合站精品国产| 黄色欧美视频在线观看| 97超视频在线观看视频| 日本三级黄在线观看| 黄片wwwwww| 国产精品伦人一区二区| 亚洲美女黄片视频| 麻豆国产av国片精品| 一级黄色大片毛片| 国产精品自产拍在线观看55亚洲| 啦啦啦韩国在线观看视频| 美女黄网站色视频| 午夜福利成人在线免费观看| 亚洲av中文av极速乱 | 日韩在线高清观看一区二区三区 | 成年女人永久免费观看视频| 特大巨黑吊av在线直播| 国产爱豆传媒在线观看| 久久久久久国产a免费观看| 亚洲久久久久久中文字幕| 日韩欧美 国产精品| 色精品久久人妻99蜜桃| 久久久久久久久中文| 国产精品爽爽va在线观看网站| 国产午夜精品论理片| 亚洲精品粉嫩美女一区| 中文字幕人妻熟人妻熟丝袜美| 黄色一级大片看看| 国产精品国产高清国产av| 免费高清视频大片| 99久国产av精品| 亚洲av中文av极速乱 | 国产综合懂色| 亚洲乱码一区二区免费版| 欧美色视频一区免费| 看免费成人av毛片| 亚洲无线在线观看| 国产高清三级在线| 国产91精品成人一区二区三区| 国产高清三级在线| 噜噜噜噜噜久久久久久91| 搞女人的毛片| 99riav亚洲国产免费| 国产精品一区二区性色av| 日韩 亚洲 欧美在线| 自拍偷自拍亚洲精品老妇| 精品久久久久久成人av| 欧美精品国产亚洲| 欧美日韩国产亚洲二区| 亚洲黑人精品在线| 欧美日韩黄片免| 国产麻豆成人av免费视频| 成人三级黄色视频| 欧美bdsm另类| 乱码一卡2卡4卡精品| 精品久久国产蜜桃| 亚洲最大成人中文| 美女cb高潮喷水在线观看| 成人国产一区最新在线观看| 欧美极品一区二区三区四区| 日韩欧美三级三区| 国产精品不卡视频一区二区| 最近最新免费中文字幕在线| 午夜福利高清视频| 成熟少妇高潮喷水视频| 波多野结衣高清作品| 国产亚洲精品av在线| 色播亚洲综合网| 不卡一级毛片| 干丝袜人妻中文字幕| 久久这里只有精品中国| 国产欧美日韩精品一区二区| а√天堂www在线а√下载| 亚洲成人免费电影在线观看| 亚洲欧美激情综合另类| 国产高清激情床上av| 人妻丰满熟妇av一区二区三区| 亚洲无线在线观看| 亚洲经典国产精华液单| 久9热在线精品视频| 精品久久久久久,| 国产精品永久免费网站| 亚洲av日韩精品久久久久久密| 久久精品国产亚洲av涩爱 | av视频在线观看入口| 全区人妻精品视频| 亚洲成a人片在线一区二区| 久久99热这里只有精品18| av专区在线播放| 亚洲七黄色美女视频| 精品一区二区三区视频在线观看免费| 成年免费大片在线观看| 他把我摸到了高潮在线观看| 色综合婷婷激情| 欧美激情在线99| 精品一区二区三区人妻视频| 老司机午夜福利在线观看视频| 国产私拍福利视频在线观看| 国产亚洲精品综合一区在线观看| 国产精品久久久久久av不卡| 一进一出抽搐gif免费好疼| 91精品国产九色| 亚洲自偷自拍三级| 内射极品少妇av片p| 禁无遮挡网站| 久久人人精品亚洲av| 尤物成人国产欧美一区二区三区| or卡值多少钱| 国产老妇女一区| x7x7x7水蜜桃| 日日撸夜夜添| 色5月婷婷丁香| 俺也久久电影网| av在线观看视频网站免费| 精品久久久久久久久久久久久| 国产精品一区二区三区四区久久| 老司机深夜福利视频在线观看| 久久国内精品自在自线图片| 亚洲国产精品sss在线观看| 国产在线精品亚洲第一网站| 国产伦人伦偷精品视频| 精品一区二区三区人妻视频| 亚洲av不卡在线观看| 亚洲熟妇熟女久久| 白带黄色成豆腐渣| 无人区码免费观看不卡| 国产精品久久久久久精品电影| 18+在线观看网站| 国模一区二区三区四区视频| 神马国产精品三级电影在线观看| 国产av一区在线观看免费| or卡值多少钱| 久久香蕉精品热| 国产69精品久久久久777片| 97超视频在线观看视频| 欧美激情国产日韩精品一区| 日韩亚洲欧美综合| 一a级毛片在线观看| 国产激情偷乱视频一区二区| 久久午夜福利片| 午夜免费成人在线视频| 国产高清三级在线| 日日干狠狠操夜夜爽| 国产高潮美女av| 国产精品久久电影中文字幕| a级毛片免费高清观看在线播放| 免费av不卡在线播放| av女优亚洲男人天堂| 国产不卡一卡二| a级一级毛片免费在线观看| 最近最新免费中文字幕在线| 亚洲真实伦在线观看| 国产 一区 欧美 日韩| 观看美女的网站| 欧美日韩黄片免| 色av中文字幕| 九九热线精品视视频播放| 99视频精品全部免费 在线| 欧美3d第一页| 99在线人妻在线中文字幕| 国产白丝娇喘喷水9色精品| 可以在线观看的亚洲视频| 日韩欧美一区二区三区在线观看| 亚洲无线观看免费| 1024手机看黄色片| 少妇丰满av| 人人妻人人看人人澡| 一本久久中文字幕| av国产免费在线观看| 成人欧美大片| 97热精品久久久久久| 无遮挡黄片免费观看| 99热精品在线国产| 久久午夜福利片| 色在线成人网| 免费人成在线观看视频色| 啪啪无遮挡十八禁网站| av中文乱码字幕在线| 精品久久久噜噜| 亚洲黑人精品在线| 亚洲精品一区av在线观看| 亚洲欧美日韩高清在线视频| 毛片一级片免费看久久久久 | 国产伦人伦偷精品视频| 在线观看午夜福利视频| 国产伦一二天堂av在线观看| 亚洲av一区综合| 亚洲午夜理论影院| 18禁在线播放成人免费| 两性午夜刺激爽爽歪歪视频在线观看| 久久久久久久午夜电影| 亚洲欧美日韩高清在线视频| 亚洲综合色惰| 国内久久婷婷六月综合欲色啪| 国产精品久久久久久久电影| 午夜激情欧美在线| 久久精品国产亚洲av香蕉五月| 99热精品在线国产| 最近中文字幕高清免费大全6 | 日韩精品青青久久久久久| 免费黄网站久久成人精品| 有码 亚洲区| 伦理电影大哥的女人| 给我免费播放毛片高清在线观看| 亚洲 国产 在线| 91麻豆av在线| 久久这里只有精品中国| 精品一区二区三区av网在线观看| 我要搜黄色片|