<kbd id="fugzo"></kbd>
<pre id="fugzo"></pre>
    1. <fieldset id="fugzo"><style id="fugzo"></style></fieldset>
      <center id="fugzo"></center>
    2. 哑剧盖章,电视剧折腰免费观看全集,亮剑3gp下载,秘密访客,泰剧为你着迷,古城童话,食物链无删减,大鱼海棠

      Linux系統(tǒng)基礎(chǔ)知識(shí):IO調(diào)度

      時(shí)間:2024-07-26 00:20:43 Linux認(rèn)證

      Linux系統(tǒng)基礎(chǔ)知識(shí):IO調(diào)度

        IO調(diào)度發(fā)生在Linux內(nèi)核的IO調(diào)度層。這個(gè)層次是針對(duì)Linux的整體IO層次體系來(lái)說(shuō)的。從read()或者write()系統(tǒng)調(diào)用的角度來(lái)說(shuō),Linux整體IO體系可以分為七層,它們分別是:

      Linux系統(tǒng)基礎(chǔ)知識(shí):IO調(diào)度

        VFS層:虛擬文件系統(tǒng)層。由于內(nèi)核要跟多種文件系統(tǒng)打交道,而每一種文件系統(tǒng)所實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)和相關(guān)方法都可能不盡相同,所以,內(nèi)核抽象了這一層,專(zhuān)門(mén)用來(lái)適配各種文件系統(tǒng),并對(duì)外提供統(tǒng)一操作接口。

        文件系統(tǒng)層:不同的文件系統(tǒng)實(shí)現(xiàn)自己的操作過(guò)程,提供自己特有的特征,具體不多說(shuō)了,大家愿意的話(huà)自己去看代碼即可。

        頁(yè)緩存層:負(fù)責(zé)真對(duì)page的緩存。

        通用塊層:由于絕大多數(shù)情況的io操作是跟塊設(shè)備打交道,所以L(fǎng)inux在此提供了一個(gè)類(lèi)似vfs層的塊設(shè)備操作抽象層。下層對(duì)接各種不同屬性的塊設(shè)備,對(duì)上提供統(tǒng)一的Block IO請(qǐng)求標(biāo)準(zhǔn)。

        IO調(diào)度層:因?yàn)榻^大多數(shù)的塊設(shè)備都是類(lèi)似磁盤(pán)這樣的設(shè)備,所以有必要根據(jù)這類(lèi)設(shè)備的特點(diǎn)以及應(yīng)用的不同特點(diǎn)來(lái)設(shè)置一些不同的調(diào)度算法和隊(duì)列。以便在不同的應(yīng)用環(huán)境下有針對(duì)性的提高磁盤(pán)的讀寫(xiě)效率,這里就是大名鼎鼎的Linux電梯所起作用的地方。針對(duì)機(jī)械硬盤(pán)的各種調(diào)度方法就是在這實(shí)現(xiàn)的。

        塊設(shè)備驅(qū)動(dòng)層:驅(qū)動(dòng)層對(duì)外提供相對(duì)比較高級(jí)的設(shè)備操作接口,往往是C語(yǔ)言的,而下層對(duì)接設(shè)備本身的操作方法和規(guī)范。

        塊設(shè)備層:這層就是具體的物理設(shè)備了,定義了各種真對(duì)設(shè)備操作方法和規(guī)范。

        有一個(gè)已經(jīng)整理好的Linux IO結(jié)構(gòu)圖,非常經(jīng)典,一圖勝千言:

        我們今天要研究的內(nèi)容主要在IO調(diào)度這一層。它要解決的核心問(wèn)題是,如何提高塊設(shè)備IO的整體性能?這一層也主要是針對(duì)機(jī)械硬盤(pán)結(jié)構(gòu)而設(shè)計(jì)的。眾所周知,機(jī)械硬盤(pán)的存儲(chǔ)介質(zhì)是磁盤(pán),磁頭在盤(pán)片上移動(dòng)進(jìn)行磁道尋址,行為類(lèi)似播放一張唱片。這種結(jié)構(gòu)的特點(diǎn)是,順序訪(fǎng)問(wèn)時(shí)吞吐量較高,但是如果一旦對(duì)盤(pán)片有隨機(jī)訪(fǎng)問(wèn),那么大量的時(shí)間都會(huì)浪費(fèi)在磁頭的移動(dòng)上,這時(shí)候就會(huì)導(dǎo)致每次IO的響應(yīng)時(shí)間變長(zhǎng),極大的降低IO的響應(yīng)速度。磁頭在盤(pán)片上尋道的操作,類(lèi)似電梯調(diào)度,如果在尋道的過(guò)程中,能把順序路過(guò)的相關(guān)磁道的數(shù)據(jù)請(qǐng)求都“順便”處理掉,那么就可以在比較小影響響應(yīng)速度的前提下,提高整體IO的吞吐量。這就是我們問(wèn)什么要設(shè)計(jì)IO調(diào)度算法的原因。在最開(kāi)始的時(shí)期,Linux把這個(gè)算法命名為L(zhǎng)inux電梯算法。

        目前在內(nèi)核中默認(rèn)開(kāi)啟了三種算法,其實(shí)嚴(yán)格算應(yīng)該是兩種,因?yàn)榈谝环N叫做noop,就是空操作調(diào)度算法,也就是沒(méi)有任何調(diào)度操作,并不對(duì)io請(qǐng)求進(jìn)行排序,僅僅做適當(dāng)?shù)膇o合并的一個(gè)fifo隊(duì)列。

        目前內(nèi)核中默認(rèn)的調(diào)度算法應(yīng)該是cfq,叫做完全公平隊(duì)列調(diào)度。這個(gè)調(diào)度算法人如其名,它試圖給所有進(jìn)程提供一個(gè)完全公平的IO操作環(huán)境。它為每個(gè)進(jìn)程創(chuàng)建一個(gè)同步IO調(diào)度隊(duì)列,并默認(rèn)以時(shí)間片和請(qǐng)求數(shù)限定的方式分配IO資源,以此保證每個(gè)進(jìn)程的IO資源占用是公平的,cfq還實(shí)現(xiàn)了針對(duì)進(jìn)程級(jí)別的優(yōu)先級(jí)調(diào)度,這個(gè)我們后面會(huì)詳細(xì)解釋。

        查看和修改IO調(diào)度算法的方法是:

        cfq是通用服務(wù)器比較好的IO調(diào)度算法選擇,對(duì)桌面用戶(hù)也是比較好的選擇。但是對(duì)于很多IO壓力較大的場(chǎng)景就并不是很適應(yīng),尤其是IO壓力集中在某些進(jìn)程上的場(chǎng)景。因?yàn)檫@種場(chǎng)景我們需要更多的滿(mǎn)足某個(gè)或者某幾個(gè)進(jìn)程的IO響應(yīng)速度,而不是讓所有的進(jìn)程公平的使用IO,比如數(shù)據(jù)庫(kù)應(yīng)用。

        deadline調(diào)度(最終期限調(diào)度)就是更適合上述場(chǎng)景的解決方案。deadline實(shí)現(xiàn)了四個(gè)隊(duì)列,其中兩個(gè)分別處理正常read和write,按扇區(qū)號(hào)排序,進(jìn)行正常io的合并處理以提高吞吐量.因?yàn)镮O請(qǐng)求可能會(huì)集中在某些磁盤(pán)位置,這樣會(huì)導(dǎo)致新來(lái)的請(qǐng)求一直被合并,可能會(huì)有其他磁盤(pán)位置的io請(qǐng)求被餓死。因此實(shí)現(xiàn)了另外兩個(gè)處理超時(shí)read和write的隊(duì)列,按請(qǐng)求創(chuàng)建時(shí)間排序,如果有超時(shí)的請(qǐng)求出現(xiàn),就放進(jìn)這兩個(gè)隊(duì)列,調(diào)度算法保證超時(shí)(達(dá)到最終期限時(shí)間)的隊(duì)列中的請(qǐng)求會(huì)優(yōu)先被處理,防止請(qǐng)求被餓死。

        不久前,內(nèi)核還是默認(rèn)標(biāo)配四種算法,還有一種叫做as的算法(Anticipatory scheduler),預(yù)測(cè)調(diào)度算法。一個(gè)高大上的名字,搞得我一度認(rèn)為L(zhǎng)inux內(nèi)核都會(huì)算命了。結(jié)果發(fā)現(xiàn),無(wú)非是在基于deadline算法做io調(diào)度的之前等一小會(huì)時(shí)間,如果這段時(shí)間內(nèi)有可以合并的io請(qǐng)求到來(lái),就可以合并處理,提高deadline調(diào)度的在順序讀寫(xiě)情況下的數(shù)據(jù)吞吐量。其實(shí)這根本不是啥預(yù)測(cè),我覺(jué)得不如叫撞大運(yùn)調(diào)度算法,當(dāng)然這種策略在某些特定場(chǎng)景差效果不錯(cuò)。但是在大多數(shù)場(chǎng)景下,這個(gè)調(diào)度不僅沒(méi)有提高吞吐量,還降低了響應(yīng)速度,所以?xún)?nèi)核干脆把它從默認(rèn)配置里刪除了。畢竟Linux的宗旨是實(shí)用,而我們也就不再這個(gè)調(diào)度算法上多費(fèi)口舌了。

        CFQ完全公平隊(duì)列

        CFQ是內(nèi)核默認(rèn)選擇的IO調(diào)度隊(duì)列,它在桌面應(yīng)用場(chǎng)景以及大多數(shù)常見(jiàn)應(yīng)用場(chǎng)景下都是很好的選擇。如何實(shí)現(xiàn)一個(gè)所謂的完全公平隊(duì)列(Completely Fair Queueing)?首先我們要理解所謂的公平是對(duì)誰(shuí)的公平?從操作系統(tǒng)的角度來(lái)說(shuō),產(chǎn)生操作行為的主體都是進(jìn)程,所以這里的公平是針對(duì)每個(gè)進(jìn)程而言的,我們要試圖讓進(jìn)程可以公平的占用IO資源。那么如何讓進(jìn)程公平的占用IO資源?我們需要先理解什么是IO資源。當(dāng)我們衡量一個(gè)IO資源的時(shí)候,一般喜歡用的是兩個(gè)單位,一個(gè)是數(shù)據(jù)讀寫(xiě)的帶寬,另一個(gè)是數(shù)據(jù)讀寫(xiě)的IOPS。帶寬就是以時(shí)間為單位的讀寫(xiě)數(shù)據(jù)量,比如,100Mbyte/s。而IOPS是以時(shí)間為單位的讀寫(xiě)次數(shù)。在不同的讀寫(xiě)情境下,這兩個(gè)單位的表現(xiàn)可能不一樣,但是可以確定的是,兩個(gè)單位的任何一個(gè)達(dá)到了性能上限,都會(huì)成為IO的瓶頸。從機(jī)械硬盤(pán)的結(jié)構(gòu)考慮,如果讀寫(xiě)是順序讀寫(xiě),那么IO的表現(xiàn)是可以通過(guò)比較少的IOPS達(dá)到較大的帶寬,因?yàn)榭梢院喜⒑芏郔O,也可以通過(guò)預(yù)讀等方式加速數(shù)據(jù)讀取效率。當(dāng)IO的表現(xiàn)是偏向于隨機(jī)讀寫(xiě)的時(shí)候,那么IOPS就會(huì)變得更大,IO的請(qǐng)求的合并可能性下降,當(dāng)每次io請(qǐng)求數(shù)據(jù)越少的時(shí)候,帶寬表現(xiàn)就會(huì)越低。從這里我們可以理解,針對(duì)進(jìn)程的IO資源的主要表現(xiàn)形式有兩個(gè),進(jìn)程在單位時(shí)間內(nèi)提交的IO請(qǐng)求個(gè)數(shù)和進(jìn)程占用IO的帶寬。其實(shí)無(wú)論哪個(gè),都是跟進(jìn)程分配的IO處理時(shí)間長(zhǎng)度緊密相關(guān)的。

        有時(shí)業(yè)務(wù)可以在較少I(mǎi)OPS的情況下占用較大帶寬,另外一些則可能在較大IOPS的情況下占用較少帶寬,所以對(duì)進(jìn)程占用IO的時(shí)間進(jìn)行調(diào)度才是相對(duì)最公平的。即,我不管你是IOPS高還是帶寬占用高,到了時(shí)間咱就換下一個(gè)進(jìn)程處理,你愛(ài)咋樣咋樣。所以,cfq就是試圖給所有進(jìn)程分配等同的塊設(shè)備使用的時(shí)間片,進(jìn)程在時(shí)間片內(nèi),可以將產(chǎn)生的IO請(qǐng)求提交給塊設(shè)備進(jìn)行處理,時(shí)間片結(jié)束,進(jìn)程的請(qǐng)求將排進(jìn)它自己的隊(duì)列,等待下次調(diào)度的時(shí)候進(jìn)行處理。這就是cfq的基本原理。

        當(dāng)然,現(xiàn)實(shí)生活中不可能有真正的“公平”,常見(jiàn)的應(yīng)用場(chǎng)景下,我們很可能需要人為的對(duì)進(jìn)程的IO占用進(jìn)行人為指定優(yōu)先級(jí),這就像對(duì)進(jìn)程的CPU占用設(shè)置優(yōu)先級(jí)的概念一樣。所以,除了針對(duì)時(shí)間片進(jìn)行公平隊(duì)列調(diào)度外,cfq還提供了優(yōu)先級(jí)支持。每個(gè)進(jìn)程都可以設(shè)置一個(gè)IO優(yōu)先級(jí),cfq會(huì)根據(jù)這個(gè)優(yōu)先級(jí)的設(shè)置情況作為調(diào)度時(shí)的重要參考因素。優(yōu)先級(jí)首先分成三大類(lèi):RT、BE、IDLE,它們分別是實(shí)時(shí)(Real Time)、最佳效果(Best Try)和閑置(Idle)三個(gè)類(lèi)別,對(duì)每個(gè)類(lèi)別的IO,cfq都使用不同的策略進(jìn)行處理。另外,RT和BE類(lèi)別中,分別又再劃分了8個(gè)子優(yōu)先級(jí)實(shí)現(xiàn)更細(xì)節(jié)的QOS需求,而IDLE只有一個(gè)子優(yōu)先級(jí)。

        另外,我們都知道內(nèi)核默認(rèn)對(duì)存儲(chǔ)的讀寫(xiě)都是經(jīng)過(guò)緩存(buffer/cache)的,在這種情況下,cfq是無(wú)法區(qū)分當(dāng)前處理的請(qǐng)求是來(lái)自哪一個(gè)進(jìn)程的。只有在進(jìn)程使用同步方式(sync read或者sync wirte)或者直接IO(Direct IO)方式進(jìn)行讀寫(xiě)的時(shí)候,cfq才能區(qū)分出IO請(qǐng)求來(lái)自哪個(gè)進(jìn)程。所以,除了針對(duì)每個(gè)進(jìn)程實(shí)現(xiàn)的IO隊(duì)列以外,還實(shí)現(xiàn)了一個(gè)公共的隊(duì)列用來(lái)處理異步請(qǐng)求。

        當(dāng)前內(nèi)核已經(jīng)實(shí)現(xiàn)了針對(duì)IO資源的cgroup資源隔離,所以在以上體系的基礎(chǔ)上,cfq也實(shí)現(xiàn)了針對(duì)cgroup的調(diào)度支持。關(guān)于cgroup的blkio功能的描述,請(qǐng)看我之前的文章Cgroup – Linux的IO資源隔離。總的來(lái)說(shuō),cfq用了一系列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)了以上所有復(fù)雜功能的支持,大家可以通過(guò)源代碼看到其相關(guān)實(shí)現(xiàn),文件在源代碼目錄下的block/cfq-iosched.c。

        CFQ設(shè)計(jì)原理

        在此,我們對(duì)整體數(shù)據(jù)結(jié)構(gòu)做一個(gè)簡(jiǎn)要描述:首先,cfq通過(guò)一個(gè)叫做cfq_data的數(shù)據(jù)結(jié)構(gòu)維護(hù)了整個(gè)調(diào)度器流程。在一個(gè)支持了cgroup功能的cfq中,全部進(jìn)程被分成了若干個(gè)contral group進(jìn)行管理。每個(gè)cgroup在cfq中都有一個(gè)cfq_group的結(jié)構(gòu)進(jìn)行描述,所有的cgroup都被作為一個(gè)調(diào)度對(duì)象放進(jìn)一個(gè)紅黑樹(shù)中,并以vdisktime為key進(jìn)行排序。vdisktime這個(gè)時(shí)間紀(jì)錄的是當(dāng)前cgroup所占用的io時(shí)間,每次對(duì)cgroup進(jìn)行調(diào)度時(shí),總是通過(guò)紅黑樹(shù)選擇當(dāng)前vdisktime時(shí)間最少的cgroup進(jìn)行處理,以保證所有cgroups之間的IO資源占用“公平”。當(dāng)然我們知道,cgroup是可以對(duì)blkio進(jìn)行資源比例分配的,其作用原理就是,分配比例大的cgroup占用vdisktime時(shí)間增長(zhǎng)較慢,分配比例小的vdisktime時(shí)間增長(zhǎng)較快,快慢與分配比例成正比。這樣就做到了不同的cgroup分配的IO比例不一樣,并且在cfq的角度看來(lái)依然是“公平“的。

        選擇好了需要處理的cgroup(cfq_group)之后,調(diào)度器需要決策選擇下一步的service_tree。service_tree這個(gè)數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的都是一系列的紅黑樹(shù),主要目的是用來(lái)實(shí)現(xiàn)請(qǐng)求優(yōu)先級(jí)分類(lèi)的,就是RT、BE、IDLE的分類(lèi)。每一個(gè)cfq_group都維護(hù)了7個(gè)service_trees,其定義如下:

        struct cfq_rb_root service_trees[2][3];

        struct cfq_rb_root service_tree_idle;

        其中service_tree_idle就是用來(lái)給IDLE類(lèi)型的請(qǐng)求進(jìn)行排隊(duì)用的紅黑樹(shù)。而上面二維數(shù)組,首先第一個(gè)維度針對(duì)RT和BE分別各實(shí)現(xiàn)了一個(gè)數(shù)組,每一個(gè)數(shù)組中都維護(hù)了三個(gè)紅黑樹(shù),分別對(duì)應(yīng)三種不同子類(lèi)型的請(qǐng)求,分別是:SYNC、SYNC_NOIDLE以及ASYNC。我們可以認(rèn)為SYNC相當(dāng)于SYNC_IDLE并與SYNC_NOIDLE對(duì)應(yīng)。idling是cfq在設(shè)計(jì)上為了盡量合并連續(xù)的IO請(qǐng)求以達(dá)到提高吞吐量的目的而加入的機(jī)制,我們可以理解為是一種“空轉(zhuǎn)”等待機(jī)制。空轉(zhuǎn)是指,當(dāng)一個(gè)隊(duì)列處理一個(gè)請(qǐng)求結(jié)束后,會(huì)在發(fā)生調(diào)度之前空等一小會(huì)時(shí)間,如果下一個(gè)請(qǐng)求到來(lái),則可以減少磁頭尋址,繼續(xù)處理順序的IO請(qǐng)求。為了實(shí)現(xiàn)這個(gè)功能,cfq在service_tree這層數(shù)據(jù)結(jié)構(gòu)這實(shí)現(xiàn)了SYNC隊(duì)列,如果請(qǐng)求是同步順序請(qǐng)求,就入隊(duì)這個(gè)service tree,如果請(qǐng)求是同步隨機(jī)請(qǐng)求,則入隊(duì)SYNC_NOIDLE隊(duì)列,以判斷下一個(gè)請(qǐng)求是否是順序請(qǐng)求。所有的異步寫(xiě)操作請(qǐng)求將入隊(duì)ASYNC的service tree,并且針對(duì)這個(gè)隊(duì)列沒(méi)有空轉(zhuǎn)等待機(jī)制。此外,cfq還對(duì)SSD這樣的硬盤(pán)有特殊調(diào)整,當(dāng)cfq發(fā)現(xiàn)存儲(chǔ)設(shè)備是一個(gè)ssd硬盤(pán)這樣的隊(duì)列深度更大的設(shè)備時(shí),所有針對(duì)單獨(dú)隊(duì)列的空轉(zhuǎn)都將不生效,所有的IO請(qǐng)求都將入隊(duì)SYNC_NOIDLE這個(gè)service tree。

        每一個(gè)service tree都對(duì)應(yīng)了若干個(gè)cfq_queue隊(duì)列,每個(gè)cfq_queue隊(duì)列對(duì)應(yīng)一個(gè)進(jìn)程,這個(gè)我們后續(xù)再詳細(xì)說(shuō)明。

        cfq_group還維護(hù)了一個(gè)在cgroup內(nèi)部所有進(jìn)程公用的異步IO請(qǐng)求隊(duì)列,其結(jié)構(gòu)如下:

        struct cfq_queue *async_cfqq[2][IOPRIO_BE_NR];

        struct cfq_queue *async_idle_cfqq;

        異步請(qǐng)求也分成了RT、BE、IDLE這三類(lèi)進(jìn)行處理,每一類(lèi)對(duì)應(yīng)一個(gè)cfq_queue進(jìn)行排隊(duì)。BE和RT也實(shí)現(xiàn)了優(yōu)先級(jí)的支持,每一個(gè)類(lèi)型有IOPRIO_BE_NR這么多個(gè)優(yōu)先級(jí),這個(gè)值定義為8,數(shù)組下標(biāo)為0-7。我們目前分析的內(nèi)核代碼版本為L(zhǎng)inux 4.4,可以看出,從cfq的角度來(lái)說(shuō),已經(jīng)可以實(shí)現(xiàn)異步IO的cgroup支持了,我們需要定義一下這里所謂異步IO的含義,它僅僅表示從內(nèi)存的buffer/cache中的數(shù)據(jù)同步到硬盤(pán)的IO請(qǐng)求,而不是aio(man 7 aio)或者linux的native異步io以及l(fā)ibaio機(jī)制,實(shí)際上這些所謂的“異步”IO機(jī)制,在內(nèi)核中都是同步實(shí)現(xiàn)的(本質(zhì)上馮諾伊曼計(jì)算機(jī)沒(méi)有真正的“異步”機(jī)制)。

        我們?cè)谏厦嬉呀?jīng)說(shuō)明過(guò),由于進(jìn)程正常情況下都是將數(shù)據(jù)先寫(xiě)入buffer/cache,所以這種異步IO都是統(tǒng)一由cfq_group中的async請(qǐng)求隊(duì)列處理的。那么為什么在上面的service_tree中還要實(shí)現(xiàn)和一個(gè)ASYNC的類(lèi)型呢?這當(dāng)然是為了支持區(qū)分進(jìn)程的異步IO并使之可以“完全公平”做準(zhǔn)備嘍。實(shí)際上在最新的cgroup v2的blkio體系中,內(nèi)核已經(jīng)支持了針對(duì)buffer IO的cgroup限速支持,而以上這些可能容易混淆的一堆類(lèi)型,都是在新的體系下需要用到的類(lèi)型標(biāo)記。新體系的復(fù)雜度更高了,功能也更加強(qiáng)大,但是大家先不要著急,正式的cgroup v2體系,在Linux 4.5發(fā)布的時(shí)候會(huì)正式跟大家見(jiàn)面。

        我們繼續(xù)選擇service_tree的過(guò)程,三種優(yōu)先級(jí)類(lèi)型的service_tree的選擇就是根據(jù)類(lèi)型的優(yōu)先級(jí)來(lái)做選擇的,RT優(yōu)先級(jí)最高,BE其次,IDLE最低。就是說(shuō),RT里有,就會(huì)一直處理RT,RT沒(méi)了再處理BE。每個(gè)service_tree對(duì)應(yīng)一個(gè)元素為cfq_queue排隊(duì)的紅黑樹(shù),而每個(gè)cfq_queue就是內(nèi)核為進(jìn)程(線(xiàn)程)創(chuàng)建的請(qǐng)求隊(duì)列。每一個(gè)cfq_queue都會(huì)維護(hù)一個(gè)rb_key的變量,這個(gè)變量實(shí)際上就是這個(gè)隊(duì)列的IO服務(wù)時(shí)間(service time)。這里還是通過(guò)紅黑樹(shù)找到service time時(shí)間最短的那個(gè)cfq_queue進(jìn)行服務(wù),以保證“完全公平”。

        選擇好了cfq_queue之后,就要開(kāi)始處理這個(gè)隊(duì)列里的IO請(qǐng)求了。這里的調(diào)度方式基本跟deadline類(lèi)似。cfq_queue會(huì)對(duì)進(jìn)入隊(duì)列的每一個(gè)請(qǐng)求進(jìn)行兩次入隊(duì),一個(gè)放進(jìn)fifo中,另一個(gè)放進(jìn)按訪(fǎng)問(wèn)扇區(qū)順序作為key的紅黑樹(shù)中。默認(rèn)從紅黑樹(shù)中取請(qǐng)求進(jìn)行處理,當(dāng)請(qǐng)求的延時(shí)時(shí)間達(dá)到deadline時(shí),就從紅黑樹(shù)中取等待時(shí)間最長(zhǎng)的進(jìn)行處理,以保證請(qǐng)求不被餓死。

        這就是整個(gè)cfq的調(diào)度流程,當(dāng)然其中還有很多細(xì)枝末節(jié)沒(méi)有交代,比如合并處理以及順序處理等等。

        CFQ的參數(shù)調(diào)整

        理解整個(gè)調(diào)度流程有助于我們決策如何調(diào)整cfq的相關(guān)參數(shù)。所有cfq的可調(diào)參數(shù)都可以在/sys/class/block/sda/queue/iosched/目錄下找到,當(dāng)然,在你的系統(tǒng)上,請(qǐng)將sda替換為相應(yīng)的磁盤(pán)名稱(chēng)。我們來(lái)看一下都有什么:

        [root@zorrozou-pc0 zorro]# echo cfq > /sys/block/sda/queue/scheduler

        [root@zorrozou-pc0 zorro]# ls /sys/class/block/sda/queue/iosched/

        back_seek_max back_seek_penalty fifo_expire_async fifo_expire_sync group_idle low_latency quantum slice_async slice_async_rq slice_idle slice_sync target_latency

        這些參數(shù)部分是跟機(jī)械硬盤(pán)磁頭尋道方式有關(guān)的,如果其說(shuō)明你看不懂,請(qǐng)先補(bǔ)充相關(guān)知識(shí):

        back_seek_max:磁頭可以向后尋址的最大范圍,默認(rèn)值為16M。

        back_seek_penalty:向后尋址的懲罰系數(shù)。這個(gè)值是跟向前尋址進(jìn)行比較的。

        以上兩個(gè)是為了防止磁頭尋道發(fā)生抖動(dòng)而導(dǎo)致尋址過(guò)慢而設(shè)置的。基本思路是這樣,一個(gè)io請(qǐng)求到來(lái)的時(shí)候,cfq會(huì)根據(jù)其尋址位置預(yù)估一下其磁頭尋道成本。首先設(shè)置一個(gè)最大值back_seek_max,對(duì)于請(qǐng)求所訪(fǎng)問(wèn)的扇區(qū)號(hào)在磁頭后方的請(qǐng)求,只要尋址范圍沒(méi)有超過(guò)這個(gè)值,cfq會(huì)像向前尋址的請(qǐng)求一樣處理它。然后再設(shè)置一個(gè)評(píng)估成本的系數(shù)back_seek_penalty,相對(duì)于磁頭向前尋址,向后尋址的距離為1/2(1/back_seek_penalty)時(shí),cfq認(rèn)為這兩個(gè)請(qǐng)求尋址的代價(jià)是相同。這兩個(gè)參數(shù)實(shí)際上是cfq判斷請(qǐng)求合并處理的條件限制,凡事復(fù)合這個(gè)條件的請(qǐng)求,都會(huì)盡量在本次請(qǐng)求處理的時(shí)候一起合并處理。

        fifo_expire_async:設(shè)置異步請(qǐng)求的超時(shí)時(shí)間。同步請(qǐng)求和異步請(qǐng)求是區(qū)分不同隊(duì)列處理的,cfq在調(diào)度的時(shí)候一般情況都會(huì)優(yōu)先處理同步請(qǐng)求,之后再處理異步請(qǐng)求,除非異步請(qǐng)求符合上述合并處理的條件限制范圍內(nèi)。當(dāng)本進(jìn)程的隊(duì)列被調(diào)度時(shí),cfq會(huì)優(yōu)先檢查是否有異步請(qǐng)求超時(shí),就是超過(guò)fifo_expire_async參數(shù)的限制。如果有,則優(yōu)先發(fā)送一個(gè)超時(shí)的請(qǐng)求,其余請(qǐng)求仍然按照優(yōu)先級(jí)以及扇區(qū)編號(hào)大小來(lái)處理。

        fifo_expire_sync:這個(gè)參數(shù)跟上面的類(lèi)似,區(qū)別是用來(lái)設(shè)置同步請(qǐng)求的超時(shí)時(shí)間。

        slice_idle:參數(shù)設(shè)置了一個(gè)等待時(shí)間。這讓cfq在切換cfq_queue或service tree的時(shí)候等待一段時(shí)間,目的是提高機(jī)械硬盤(pán)的吞吐量。一般情況下,來(lái)自同一個(gè)cfq_queue或者service tree的IO請(qǐng)求的尋址局部性更好,所以這樣可以減少磁盤(pán)的尋址次數(shù)。這個(gè)值在機(jī)械硬盤(pán)上默認(rèn)為非零。當(dāng)然在固態(tài)硬盤(pán)或者硬RAID設(shè)備上設(shè)置這個(gè)值為非零會(huì)降低存儲(chǔ)的效率,因?yàn)楣虘B(tài)硬盤(pán)沒(méi)有磁頭尋址這個(gè)概念,所以在這樣的設(shè)備上應(yīng)該設(shè)置為0,關(guān)閉此功能。

        group_idle:這個(gè)參數(shù)也跟上一個(gè)參數(shù)類(lèi)似,區(qū)別是當(dāng)cfq要切換cfq_group的時(shí)候會(huì)等待一段時(shí)間。在cgroup的場(chǎng)景下,如果我們沿用slice_idle的方式,那么空轉(zhuǎn)等待可能會(huì)在cgroup組內(nèi)每個(gè)進(jìn)程的cfq_queue切換時(shí)發(fā)生。這樣會(huì)如果這個(gè)進(jìn)程一直有請(qǐng)求要處理的話(huà),那么直到這個(gè)cgroup的配額被耗盡,同組中的其它進(jìn)程也可能無(wú)法被調(diào)度到。這樣會(huì)導(dǎo)致同組中的其它進(jìn)程餓死而產(chǎn)生IO性能瓶頸。在這種情況下,我們可以將slice_idle = 0而group_idle = 8。這樣空轉(zhuǎn)等待就是以cgroup為單位進(jìn)行的,而不是以cfq_queue的進(jìn)程為單位進(jìn)行,以防止上述問(wèn)題產(chǎn)生。

        low_latency:這個(gè)是用來(lái)開(kāi)啟或關(guān)閉cfq的低延時(shí)(low latency)模式的開(kāi)關(guān)。當(dāng)這個(gè)開(kāi)關(guān)打開(kāi)時(shí),cfq將會(huì)根據(jù)target_latency的參數(shù)設(shè)置來(lái)對(duì)每一個(gè)進(jìn)程的分片時(shí)間(slice time)進(jìn)行重新計(jì)算。這將有利于對(duì)吞吐量的公平(默認(rèn)是對(duì)時(shí)間片分配的公平)。關(guān)閉這個(gè)參數(shù)(設(shè)置為0)將忽略target_latency的值。這將使系統(tǒng)中的進(jìn)程完全按照時(shí)間片方式進(jìn)行IO資源分配。這個(gè)開(kāi)關(guān)默認(rèn)是打開(kāi)的。

        我們已經(jīng)知道cfq設(shè)計(jì)上有“空轉(zhuǎn)”(idling)這個(gè)概念,目的是為了可以讓連續(xù)的讀寫(xiě)操作盡可能多的合并處理,減少磁頭的尋址操作以便增大吞吐量。如果有進(jìn)程總是很快的進(jìn)行順序讀寫(xiě),那么它將因?yàn)閏fq的空轉(zhuǎn)等待命中率很高而導(dǎo)致其它需要處理IO的進(jìn)程響應(yīng)速度下降,如果另一個(gè)需要調(diào)度的進(jìn)程不會(huì)發(fā)出大量順序IO行為的話(huà),系統(tǒng)中不同進(jìn)程IO吞吐量的表現(xiàn)就會(huì)很不均衡。就比如,系統(tǒng)內(nèi)存的cache中有很多臟頁(yè)要寫(xiě)回時(shí),桌面又要打開(kāi)一個(gè)瀏覽器進(jìn)行操作,這時(shí)臟頁(yè)寫(xiě)回的后臺(tái)行為就很可能會(huì)大量命中空轉(zhuǎn)時(shí)間,而導(dǎo)致瀏覽器的小量IO一直等待,讓用戶(hù)感覺(jué)瀏覽器運(yùn)行響應(yīng)速度變慢。這個(gè)low_latency主要是對(duì)這種情況進(jìn)行優(yōu)化的選項(xiàng),當(dāng)其打開(kāi)時(shí),系統(tǒng)會(huì)根據(jù)target_latency的配置對(duì)因?yàn)槊锌辙D(zhuǎn)而大量占用IO吞吐量的進(jìn)程進(jìn)行限制,以達(dá)到不同進(jìn)程IO占用的吞吐量的相對(duì)均衡。這個(gè)開(kāi)關(guān)比較合適在類(lèi)似桌面應(yīng)用的場(chǎng)景下打開(kāi)。

        target_latency:當(dāng)low_latency的值為開(kāi)啟狀態(tài)時(shí),cfq將根據(jù)這個(gè)值重新計(jì)算每個(gè)進(jìn)程分配的IO時(shí)間片長(zhǎng)度。

        quantum:這個(gè)參數(shù)用來(lái)設(shè)置每次從cfq_queue中處理多少個(gè)IO請(qǐng)求。在一個(gè)隊(duì)列處理事件周期中,超過(guò)這個(gè)數(shù)字的IO請(qǐng)求將不會(huì)被處理。這個(gè)參數(shù)只對(duì)同步的請(qǐng)求有效。

        slice_sync:當(dāng)一個(gè)cfq_queue隊(duì)列被調(diào)度處理時(shí),它可以被分配的處理總時(shí)間是通過(guò)這個(gè)值來(lái)作為一個(gè)計(jì)算參數(shù)指定的。公式為:time_slice = slice_sync + (slice_sync/5 * (4 – prio))。這個(gè)參數(shù)對(duì)同步請(qǐng)求有效。

        slice_async:這個(gè)值跟上一個(gè)類(lèi)似,區(qū)別是對(duì)異步請(qǐng)求有效。

        slice_async_rq:這個(gè)參數(shù)用來(lái)限制在一個(gè)slice的時(shí)間范圍內(nèi),一個(gè)隊(duì)列最多可以處理的異步請(qǐng)求個(gè)數(shù)。請(qǐng)求被處理的最大個(gè)數(shù)還跟相關(guān)進(jìn)程被設(shè)置的io優(yōu)先級(jí)有關(guān)。

      【Linux系統(tǒng)基礎(chǔ)知識(shí):IO調(diào)度】相關(guān)文章:

      Linux認(rèn)證基礎(chǔ)知識(shí):linux操作系統(tǒng)目錄結(jié)構(gòu)03-08

      Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)03-07

      linux文件系統(tǒng)基礎(chǔ)知識(shí)匯總03-09

      關(guān)于嵌入式Linux系統(tǒng)基礎(chǔ)知識(shí)03-07

      Java入門(mén)基礎(chǔ)知識(shí):Java IO(輸入/輸出)03-07

      Linux系統(tǒng)下ftp的管理03-05

      Linux操作系統(tǒng)概述03-06

      Linux文件系統(tǒng)簡(jiǎn)介02-27

      Linux認(rèn)證系統(tǒng)管理:linux下搭建ftp03-08

      主站蜘蛛池模板: 时光正好免费观看全集| 嫂子的诱惑| 爱情正在直播| 李丽珍蜜桃| 天堂日落电影| 公的浮之手中字40 | 师姐也疯狂| 韩剧《我的游泳教练》免费播放| 爱丫爱丫 by2| 战洪图免费| 妻子6| 《有翡》在线观看免费完整版| 绝品邪医的桃花劫短剧免费观看| 369你懂的电影在线视频| 邻水| 正月十六的讲究| 《沉香如屑》电视剧| 做aj的电视剧免费播放| 中国海峡网| 秀才遇着兵粤语| 丈夫上司装饰品的妻子演员表| 黑帮大佬365天| 新春去春又回| 3v1三人一次性体检电影| 终极证据电视剧| 化身电影| 电影《私人航空》法国电影在线观看 | 游戏大作战泰剧在线观看免费| 麦乐迪满天星| 电影玩火在线观看完整版| 铜铜铿锵免费观看高清免费| 毒爱韩剧| 扫黑风暴第十集| 农场保卫战满天星完整版| 永远在路上第二集| 广场舞浪迹天涯| 水门桥在线观看完整版高清| 不系纽扣的女孩| 私人航空2法国电影| 仙逆第二季在线播放| 泰山1995版| 泰安华通集团最近消息| 假面骑士极狐剧场版免费观看完整版| 甘泉县| 铁证悬案第五季| 我年轻瘦子6| 山东近32万考生成绩达一段线| 妻子6免费完整高清电视剧在线看| 阿童木国语| 身材最好的女明星| Sybil冷艳甜心的奢华夜宴超清播放_2014欧㊣美-ddd888影院 | 榴莲色斑让你流连忘返503| 《美容院1特殊待遇》| 母亲的眼睛电影| 日历女孩在线版完整免费观看中文| 她来自胡志明市电影| 猎杀电视剧演员表| 玛沁县| 广场舞都是缘分惹的祸| 《性的暴行》未删减版| 爱上他的漂亮妈妈| 《堕落的女律师》HD中字 | 韩国电影美容店的特别待遇 | 保罗一家1--4美国版| 爱情真善美40| 黑白配高清完整版在线观看免费 | 《战争之暴行女囚》电影电影| 奔跑吧黄河篇第二季在线观看| 电视剧薄冰免费观看40集| 魔力宝贝监狱完整版| 《请成为我的家人》电视剧| 新来的邻居| 牙医姐妹电影完整版在线观看| 潜龙风云| 蛇舌电影完整版| 电影《女子护卫队》在线观看 | 女子护卫队| 欢乐喜剧人 第三季| 冬天来了春天还会远吗是谁说的| 卢龙县| 地铁迷情| 暴躁100集全部免费观看下载 | 斗罗大陆更新至241集| 日本电影乳房按摩在线看| 外卖小哥吃帅小伙大| 大嫂查之女在线观看| 同学的妈妈韩国| 公交车被cao得合不拢腿| 第22条婚规电视剧| 哇嘎电影在线播放免费版| 囧妈初一上线免费播出| 夺命网红2未删减| 日剧一吻定情2013| 铠甲勇士之帝皇侠全集| yeyllow视频免费| 2012电影在线观看神马影视| 西瓜膨大剂| 《新人类毒医肥尸电影》| 爱情怎么翻译?| 我要买彩票| 我的荣耀电视剧免费观看| 南北少林电影| 女老师的诱惑在线免费观看 | 电视剧保姆与保安| 舟山市| 赘婿在线观看完整版| 盛唐风流电影香港版观看 | 还珠格格第1部全集| 禅宗少林音乐大典| 血洗红花亭电影| 需要爸爸播种 美国版在哪里可以看| 我是大歌神| 与部长一起出去差旅日本| 兄弟的女人韩剧电视剧| 二虎逆袭人生短剧免费观看| 外交风云电视剧| 挡不住的风情图片| 暴躁46集全在线观看免费高清/1| 持家超厉害:古代种田短剧全集| t嫂子我要干你电影| 外太空杀人小丑| 邻家特工电影| 葡萄美酒夜光杯的下一句是| 特别的酒店1993年美国| 神印王座179完整版| 六一儿童节小朋友们好歌曲| 特邀外卖员| 咏春大师被ko| 郝板栗《大小姐》免费观看| 兰花草在线观看高清完整版国语| 我是特种兵之火凤凰第七集| 神话电视剧排行榜| 浪姐3免费观看全集在线| 私人助理2完整版| 电影法国空乘2019满天星法版 | 我的小姨电影完整版免费观看| 97在线免费观看| 乔布斯传电影| 《落魄贵族琉璃》在线观看| 电视剧成吉思汗| 美国原版黄色电影爱我多深| 第8个嫌疑人观看完整版| 二人台寡妇上坟| 逐玉未删减| 做我的奴役| 青山是故乡| 马斯克回应儿子想与自己断绝关系 | 我的离开也是爱 歌词| 男女愁愁愁大结局观看| 最美的时候遇见你在线观看完整版 | 公主与女仆| 人猿泰山1995版本| 小离别电视剧免费全集观看| 台湾佬娱乐11kkhh| 工作女郎克拉拉测试视频原版| 松药店的儿子们54集| 荒野女战士2满天星版| 方世玉在线观看| 电视剧《男妇女主任》| 我的游泳女教练》在线观看| 华尔街1电影| 意能之下电视剧免费观看完整版| 一八九四 甲午大海战 | 后背空姐| 李一事件| 玛丽mary满天星| 佐卡伊旗舰店| 电影神宫寺出差在线观看完整版| 高清《婚前试爱》罗仲谦周秀娜 | 雷神四爱与雷霆电影在线观看| 姐妹奴厉| 克莱尔的《第一夫人》| 约书亚VS杜布瓦| 《初体验5》完整版免费观| 陶大宇电视剧| 爱情与灵药 下载| 周弘版《村姑》完整版| 我的丑娘剧情介绍| 《美容院:特殊待遇》完整版 | 坎贝奇《无憾》英文版下载| 恋恋红尘在线观看电视剧免费| 磨刀不误砍柴工的意思| 红色假期黑色婚礼国语版| 神探夏洛克电影| 妓院里的中国姑娘在线观看| 枭起青壤免费观看| 漂亮的保姆高清版韩剧| 同事三分亲粤语| 咱们结婚吧 电影| 凯登克罗斯电影集锦| 二胡独奏演奏曲大全| xl司令第一季未增减接档| 《幸福一家人》电视剧| 《妽妽的丰满大胸》| 天柱剑毫| 炸天小姐1980免费观看| 今生也是第一次电视剧| 战狼6高清国语免费观看影视大全下载什么借钱平台好的 | 爱神巧克力第一季免费观看全部| 马上天下| 我就是这般女子| 时光沙漏| 浪漫满屋泰国版12| 《混血的摇篮曲1973》日本版| 高清《前度》免费播放| 动感之星小玲183集免费观看动漫| 沉香如屑电视剧免费观看55集| 盛唐风流全集免费观看| 刑警队长电视剧全集免费观看高清 | 偷窥侯爷粗壮冲刺顶弄H视频| 人马速配45分钟免费视频| 刘墉下南京豫剧| 东北女不戴套在线看| 马大帅第一部| 僵尸至尊电影| 冰河剧集两个妈妈| 禁室培欲之爱的俘虏| 姐妹牙医电影在线完整版观看中文| 梦里水乡mtv| 八戒8手机在线看免费播放电视剧大全| 西安地铁保安女子完整版| 爱我几何电视剧免费观看完整版高清 | 丈夫的上司来家拜访韩国| 全职猎人88| 吴健版《农民伯伯2》播放常青| 乡村爱情17部全集在线播放| 灵璧县| 手术直播间在线看免费| 蒋玲玲版《渔夫的荒野史记》剧在线 | 花木兰在线观看免费观看完整版| 美国xxxx| 不要回头 电影| 法国空姐4在线播放| 甜蜜家园第一季| 香醇的绣感在线观看完整版| 完美小歪| 《农场保卫战》凯登克罗| 美少女死神还我之魂| 火热的部长夫人第一季免费观看| 青岛往事全集| 97免费在线观看| 天行者电影| 上海滩全集| 快播复仇者联盟| 全资进组电视剧在线观看| 满天星爱丽丝梦游辣境| 信仰1—42集免费观看视频播放| 一起愁愁愁30免费观看完整版| 抗疫的七言绝句| 高清写写画画| 洗屋先生樱花动漫| 电视剧向东是大海| 三个好媳妇中字头是什么| 奶油柠檬| 姐妹医生在线观看| 电影《厨房激战2》在线播放| 青春期 2011 电影| 迪拜的女人| 武装特警电视剧| 《家庭矛盾》完整版麦乐迪| 代号九耳犬电视剧全集免费观看| 训服的小 子2| 幸福归来电视剧免费观看完整版 | 王屋下的传说| 满天星《律师事务所》| 天空之城| 布兰迪《军事不当行为2》在线观看完 | 长安二十四计全集免费看| 蛇姬恋》| 中国达人秀卓君稻草人| 重庆废弃红太阳幼儿园发生了什么| 肥龙过江粤语在线| 田耕纪电视剧全集免费观看| 水电工的艳遇电影| 回复术士免费观看| 不雅空城| 我是真的讨厌异地恋| 爱丫爱丫电影在线观看免费版高清国语 | 在姨母家的客厅在线观看电影免费 | 高压监狱在线观看完整免费高清原声满天星2019 | 冷暖人生2013| 爱情睡醒了 电视剧| 红雨电影| 傻儿传奇电视剧全集| 怦然心动第三季全集免费观看 | 21世纪性格爱情指南全8集| 地狱尖兵2电影完整版| 公与媳3| 渔夫荒淫史 电影| 房奴试爱电视剧第一集开头原声 | 当着老公的面被搬运工在线| HR版女版壮志凌云2010| 临时天堂中文版| 林甸县| 电影《活着》免费观看| 高清招魂4:终章未删减| 穿越火线36集| 天地争霸美猴王高清| 寒山令电视剧全集完整版免费观看 | 红尘情歌简谱| 酒店第1-100集| 《童军手册之僵尸启示录》 | 喜爱夜蒲演员| 车手电影国语免费| 《漂白》电视剧免费观看| 高清《写写画画》电影 | 从结婚开始恋爱免费播放电视剧| 工藤拉拉电影在线| 尼泊尔新纸币激怒印度| 渔夫荒野1988版免费观看| 小屁孩日记2| 电影《布兰迪之不当行为》在线观看| 死神来了5高清完整版在线观看| 欧式少女16集全集在线观看视频下载| 锦月如歌电视剧免费观看| xl司令第一季全集免费观看动漫 | 哈德威尔| 银魂196| 蛇妖1988空姐| 摩登女婿演员表| 小瘦子2国语版免费观看优酷| 三年在线观看免费大全一集| 局长玩寡妇的大乳| 天网行踪电视剧全集免费观看| 你的婚礼电影免费观看完整版 | 道德的火焰| 胸部按摩小电影| 《禁忌》1无删减| TOTAKKAHayaKirguzux在哪听| 生死时速| 按摩美女胸部电影| 萌宝助攻追妻:神级奶爸短剧全集 | 日剧《和部长一起去出差旅》中文| 绝密卧底电视剧免费观看| yellow视频在线免费观看 | 《和部长一起去出差旅》在线观看| 高清狂野时代未删减| 胜者为王张智霖| 警告安全电影| 电影满江红免费看| 天下足球 歌曲| 花城谢怜下面夹东西AO3| 拯救大兵瑞恩免费| 新员工入职秘书2| 寒山令电视剧全集| 卖房子的女销售中文字幕未删减完整版在线免费观看 | 电视剧雅典娜女神| 新金瓶梅2013| 世界第一等刘德华| 青冈县| 古惑仔国语全集| 一个好妈妈的d6申字中头| 一枪三姐妹高清观看| 热辣披萨女郎在线观看完整视频| 医生手指滑进我的下身视频| 姨母家的客厅全集| 隐形战队粤语电视剧免费观看| 姐妹牙医观看| 整蛊专家3| 相叒游戏1-2集全集免费观看第三季 | 哇嘎免费观看完整版视频| 奥特曼八兄弟国语版| V酒店在线观看| 大村官之放飞梦想 电视剧| 八戒8国语版在线看| 迪迦奥特曼全集2| 隔壁的女孩2| 秦腔三娘教子| 恶少的毒爱| 善良的嫂子4字巴巴鱼汤饭惹| 七十七封阵亡通知书| 妈妈需要播种日本电影吗| 高清《飞驰人生2》在线观看地址| 需要爸爸的种子播种电影| 一个女被3个男人轮流打耳光| 成全完整版动漫在线看视频免费 | 电视剧大唐荣耀60集免费观看| 急诊护士在线免费观看| 饥渴游戏| 苏菲的抉择| 人间正道是苍桑| 美国精神病人电影完整版| 正在播放销售的销售秘密3-在线观看- 最新热门电影电视剧-麻花影院 | 刀郎2023最新歌曲| 生化危机 影音| 快乐向前冲2013年度总决赛| 朋友的新妈妈| 渔夫荒野史1987完整| 高清《法国空乘1》| 日韩yellow| 有求必应在线观看| 做aj的电视剧大全免费中国人| 好奇实验室| 三年大片大全免费观看国语版电影完 | 大侦探9免费观看| 小岳母韩国电影| 三个女的被强奸60155电影| 3d 蒲团| 妓院里的中国姑娘在线观看| 机械姬迅雷下载| 爸爸的种子免费观看电视剧需要VIP吗| 斗罗大陆132| 盘山县| 姐妹换夫| 河南戏曲频道在线直播| 陪你逐风飞翔电视剧免费观看| 需要爸爸播种子第一季2集| 权力王朝:默多克家族未删减| 《新婚之喜》完整版在线观看| 爱在初春惊变时| 痛30集全播放免费观看| 野花在线观看免费观看高清中文| 年轻瘦子5免费观看完整版| 满仓进城全集在线观看| 赤板丽电影牙医在线观看| 是真爱还是希望泰剧在线观看| 《禁忌5》HD中字保罗| 哪吒1魔童降临| 做aj的电视剧免费观看大陆| q2002午夜我的老师| 韩剧金银梅5普通话免费观看| 山本绘里香| 非凡医者1-40全集完整版| 我和我的家乡免费观看高清| 金银瓶1-5集免费观看第9季| 花样美男国语版全集| 97在线播放免费观看| 铁流1949| 邓家佳《除却巫山》在线| 萌宝寻爹全集免费| 爱我几何原版无删减版百度云多长时| 赤坂丽电影未删版在线| 法版风女管家2008版| 放羊的星星全集土豆| 悬崖电视剧在线观看免费完整版 | 武林风最新一期| 天边一朵云迅雷下载| 阿姨电影| 蝙蝠侠之子| 红海危机对全球经济影响有多大 | 女状元:文武双全惊天下全集免费 | 朋友的妈妈动漫| 高压监狱完整版在线观看完整免费高清原声满天星感恩 y | 宁晋县| 黑天使电影| 木浦黑帮天堂| 《图书馆的女朋友》第一季免费| 扎职3义薄云天在线观看国语| 漂亮妈妈9| 韩国电影《狂热失控》的导演是谁| 妻子8免费完整版在线看 | 王向阳书法| 脱狱者侵犯排卵期人妻| 回到三国国语| 小辣椒3电影免费观看完整版中文| 肥猫寻亲记之明天会更好| 满分追爱公式电视剧| 致命错伏| 舞出我人生电影| 白峰电影全集免费全集| 守护大电影喜羊羊与灰太狼免费| 养鬼吃人10| 倩女喜相逢| 刺客伍六七之暗影宿命免费观看| 伦理《法国空乘5》HD| 亲吻姐姐第1季全集| 麦乐迪完整版| 为啥是我得癌症| 3d豪情字幕下载| 超人高斯奥特曼国语| 地铁迷情| 木下凛凛子中文字幕| 特殊精油按摩3电影| 电影《在丈夫面前被欺负》| 影子缠身 电影| 八时入席粤语| 金银瓶电影全集免费播放在线观看 | 蓬溪县| 痴汉电车男2下载| 棋魂特别篇| 和丈夫的部下玩火的夜晚HD无字_经典电影_手机完整版在线观看_纤纤影院 | 插曲30分钟全集免费播放国语 | 加勒比女海盗2观看高清完整版| 电影《风月》在线观看| 女超人麦乐迪在线完整版2013 | 速度与激情9在线观看完整版免费| 小小水蜜桃6电视连续剧| 嫁给西北糙汉子的小说爱情| 白峰美羽在线观看| 一代妖姬杨贵妃| 用一生去爱你电视剧| 韶华若锦电视剧| 媚眼激情夜4| 凤凰腾演员表| 你微笑时很美电视剧免费观看| 《激战丛林》完整版在线观| 女友的妈妈在线| 法国电影《空乘5》在线观看| 丁丁历险记 电影| 韩剧妈妈爱上儿子同学| 闺蜜决电视剧全集免费观看| 要爸爸播种| 宝石宠物第二季| 紧急追捕电视剧全集| 超人正义联盟第四季| 爱情怎么翻译?| 魔力宝贝监狱 电影| 如月车站Re:| 莫妮卡《爱我几何》电影免费无删减 | 蒲江县| 女皇陵下的风流娘们 | 越南满天星超大尺电眼影| 爱情与灵药完整版| 漂亮妈妈9| 非亲兄弟电影| 日本动漫《花嫁高柳家》第一集| 一定要抓住韩剧完整版| 三十而已免费观看| 有些路不走不甘心走了满身伤痕| 二手妻不打折| 私人航空在线完整版| 寒战2电影| 伦理片维修工人的艳遇| 广场舞爱情这杯酒谁喝都得醉| 男按摩HD电影| 诡探前传| 精绝古城免费完整版| 且试天下电视剧完整版| 《神奇女侠》免费观看| 《牙医姊妹》完整版1986| 卢旺达玫瑰完整版| 上错花轿嫁对郎电视剧全集观看| 巨乳的继拇4| 美容室.特除服务2| 邵氏《师娘》在线观看| 浴火之路 电影| 爱是欢乐的源泉| 电影《屠宰餐厅》原版 | 善良的女销售| 李连杰电影全集高清| 雷神4在线观看| 天芒传奇| 好男人在线电视剧在线观看免费高清| 法国空乘9特别版| 赵振栋演的绝对臣服短剧| 夫妻那些事苏珊| 木下檀檀子影片免费观看 | 3d豪情字幕下载| 你微笑时很美免费看| 喋血双雄| 伊波拉病毒2HD国语版免费| 不良人第七季| 重生之农门肥妻短剧免费观看| 一起愁愁免费全集在线看 | 赖猫的狮子倒影全集免费 | 不可撤销下载| 呼吸过度动漫全集完整版在线观看| 《康体水疗》凯帕克电影免费播放 | 新潘金莲电影| 一代枭雄43| 《替弟还债十日》电影在线观看免费| 终极追捕电视剧全集免费观看| 壤塘县| 最美情侣视频完整版高清| 姑娘高清完整版在线观看免费| 类似TOTAKKAHAYAKIRGUZUX的旅行综艺 | 丈夫和初恋重逢| 逆世界在线观看| 姐妹在线看免费观看| 四个少妇按摩记A片| 米小圈电视剧| 梨花似雪| 女子护卫队满天星1973| 鬼话怪谈祥云寺| tobu4美国免费| 邱淑贞电影全集| 如果历史是一群喵第一季免费观看| 贝拉1980满天星版| 《杀戮天使》免费观看| 中国大陆电视剧| wwwddd| 古灵精怪东南亚4| 女老板上司出差bd在线播| 大奥第一章| 这么多年电影在线观看 | 3d肉蒲团高清在线| 美国版荷尔蒙6日本版| 手机电影在线播放| 山东省| 国宝特工动画片第2部全集| 法国空乘理论5HD| 金银梅5一10普通话版免费观看第10集| 名侦探柯南剧场版12| 《如懿传》高清在线观看免费全集| 《猎毒人》电视剧| 苍狼传世| 美姐妹牙医1985| 雅典娜女神电视剧全集| 足球尤物高清完整版在线观看| 凌云壮志(欧美)满天星小娅是谁演的 | 高清《空姐》电影完整版免费观看 | 《你行你上》免费观看| 1996版杨敏1-5电视剧免费播放| 绅士们2电影完整版在线观看| 禁忌少女| 《奔跑吧兄弟第一季》综艺| 闪耀的她1-36集免费观看| 美国粉红大白莱| 西西GOGOGO高清在线完整版| 刀剑乱舞花丸| 家族掌门:继承大权短剧全集| 妖怪人间| 法国满天星《贵夫人》在线看| 战狼六女版免费观看| 猎杀行动第一季| 黄土高天电视剧| 春草全集| 需要爸爸播种免费在线观看| けんじゃたいむ八重神子| 西游记搞笑配音| 沧元图第二季免费观看| 上位2电影| 铿锵免费观看在线播放 | 鼓手王澜| 爸爸我需要播种| 白日梦我电视剧全集免费观看高清| 变形金刚2国语版全集| 黄大妮免费观看| 罗曼史 快播| 遂溪县| 我学生的妈妈双字ID4| 我的奴隶| 书生中学成绩查询| 特殊保险推销员中字| 氪金玩家第一季免费播放| 利箭行动| 韩国电影老公的上司来家里| 梦回鹿鼎记完整版| 熊出没之过年爱奇艺| 图书室的女朋友在线观看完整免费版电视剧第五集 | 撞邪电影| 香港三级片桃色凶器| 天空之城钢琴曲教学| 爱情男女全集免费观看免费| 玛丽萨科满天星原版| 羚羊号历险记| 三d肉浦团| 美国黑白配在线观看免费| 高清《曾少年》电视剧| 行尸走肉第二季第二集| 吴健版农民伯伯国语免费看| 我家的天使国语| 《赘婿》| 爱唯侦察DVD| 电影善良的妻子| 我来也高清| 铿锵在线观看完整版 | 龙岭迷窟在线| 双人调情按摩电影在线观看| 龙珠z国语版| 中国远征军电视剧| overflower高清无马 | 做aj的的电视剧| 满清禁宫奇案百度影音| 情欲世界| 脱裤子打板子| 国风按摩院在线免费观看 | 兰州老肥熟全程露脸| 黑白配高清电影在线观看视频| 八贤王怎么死的| 新乌托邦韩剧在线观看| 三年成全在线观看免费观看影视大全 | 韩国19禁电影在线| 湖南卫视好好生活| 莫莉特别的酒店免费观看| 翠湖全集观看| 快乐星球全集| 电影《牙医姐妹》播放| 冠心病最怕什么刺激| 鱿鱼和鲸| 美国娃娃脸10| 梅花三弄水云间| 命中注定我爱你20| 年轻女保险销售员2| 无心法师全集| 母亲的眼睛电影| 金银悔1—5HD普通话| 黄飞鸿少林拳| 坚果之王第一名是什么| 如皋市| 韩国制造 电视剧| 刺客伍六七第5季免费观看| 美式保罗2经典版| 速度与激4| 百花奖总导演致歉| 韩剧女友的母亲双字ID | 《河豚》| 浪荡子的性爱旅程| 百万新娘之爱无悔53| 壮志凌云满天星法版免费完整版| 台湾A片巜豪妇荡乳3| 分时度假| jiZz日本| 慕尼黑电影完整在线观看| 黑金古殿| 兽皇电影在线观看完整版| 小舍得电视剧免费观看完整版| 七品芝麻官电影完整版| 兔子先生第一季第6期 | 不输男儿郎:将门嫡女沙场全集免费 | 王刚夜幕下的哈尔滨| 夜半梳头电影在线完整版| 战狼6高清在线观看| 黄昏恋电影| 社长妻子大物社长秘书是谁演的 | 一仆二主电视剧全集| 《美丽妻子替弟还债韩国| 跑男第十二季免费播放| 无名川战役电影| 倔强的花子与驱魔师| 旋转的爱中文版| 仙逆59| 白峰美羽 magnet| 女女性恋爱视频免费| 天外来客bt| 法国电影女超人麦乐迪在线观看免费高清版 | 小黄飞高清| xxxx64美国| 在出差期间被讨厌上司欺负| 电视剧夜深沉| 睫毛膏3美国1983| 鸡兔同笼假设法| 迪迦奥特曼1| 强奸轮奸影片免费播放| 你好呀我的橘子恋人| 《入青云》36集免费| 花与蛇端庄夫人| 命转情真| 广场舞阿哥阿妹背面| 木下檀檩子伦理电影| 与君歌在线观看免费| 大男当婚 下载| XL司令第二季高清无马赛版下载| 富贵开心鬼电影| 阿旺新传3| 《情欲满载》在线观看| 花蝴蝶4大全免费多少集| 电影婚戒| 无极电影高清免费观看| 卖百科全书的女人电影在线观看 | 爱我几何免费完整版| 电视剧好好过日子| 歌曲披着羊皮的狼| 特殊交易在线观看| 美味快递员特殊待遇2在线观看免费高清 | 《他为什么依然单身》电视剧| 后藤えり子| 郑州奥斯卡影城| 激战丛林2罗莎卡拉免费播放| 乌云之上免费完整版| 洪武大案下载| 保姆的特殊待遇在哪看| 钢铁飞龙全集| 铁雨 电影| 年轻的小瘦子| 美国伦理电影爸爸我想要你的种子 | 斯巴达(大人版)HR版| 电影空姐| 老公从外地回来一晚上不让我睡觉| 叶卡捷琳娜大帝第一季在线观看| 麦乐迪-女超人| 陈奕迅模仿全红婵| 沧元图第二季番外篇| 伦理《法国空乘11观看| 楼下的房客| 海霞免费| 宋茜尼坤我们结婚了| 哇嘎哇嘎高清在线观看| 午夜人在线观看完整版| 男生打游戏听出网友病危| 一个好妈妈的D5申字中头| 变形金刚4dvd版| 苹果完整版| 黑色电话2电影| 屠宰呕吐娃娃视频完整版免费观看| 高清《炽热吸引》电视剧| 中国好声音直播现场| 特殊游泳教练| 茶啊二中 电影| 进口媳妇在线观看免费西瓜| 七根心简免费观看全集在线播放| 无憾坎贝奇| 狠狠干2022| 飞利浦显示器维修| 忽略阅读答案| 电影《美味快递员2》免费完整版 《法国空乘4》免费完整版 | 转正男友姜默和林西| 再一次爱你短剧免费观看| 哈利·波特电影全集免费观看| 上门推销避孕套当场试货电影| 快播云播放| 勾魂绮梦在线观看| 《法国空乘4》伦理HD| 大侠黄飞鸿| 烂赌夫斗烂赌妻粤语高清| 宫中残酷史| 一波拉病毒2在线播放高清免费 | 八尺夫人满天星版英文版观看| 任达华温碧霞电影| 小巷人家40集全免费观看| 郑嘉颖最新电视剧| 妻子妈妈双字ID电影| 干物妹小埋op| 肉蒲团电影下载| 哇嘎电影免费高清在线| 疑云密布电影| 姐妹的诱惑| 黑帮大佬和我的356天未删减| 《外卖奇遇记》周香允周免费观看 | 落花时节又逢君电视剧全集观看| 黑白配1080完整版在线观看| 满月之下请相爱免费观看全集| 一起又看流星雨36| 电视剧《薄冰》免费观看 | 《克劳迪娅的背叛》电影| 亲爱的柠檬精先生2| 飞机上的特殊服务电影| 难哄剧全集在线观看免费版| 妻子的秘密 电视剧| 朱妮安莉主演《房屋售楼员》在线观| 闺蜜爱人| 高清《燕双鹰》免费观看高清| 最新台剧| 女飞行员(美国)满天星女版 | 袁阔成三国演义评书下载| 人猿泰山(大人版)意大利在线观看| 小草青青电视剧免费的| 大圣归来西瓜| 《维修工人的艳遇》2| 乡村爱情8部全集| 狂飙中国电视剧免费观看| 叶玉卿情不自禁快播| 女子特工队满天星1973| 电视剧乐意为人| 盟卡车神之魔幻元珠3| 朱莉安妮监狱| 特战荣耀电影在线观看免费完整版| 我的漂亮姐姐韩剧完整版中文| 高清《在你被判死刑之前》电视剧| 牙医姐姝在线电影播放完整版免费观看 | 锵锵锵锵锵锵锵锵在线观看|