<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

      主站蜘蛛池模板: 激战丛林免费在线观看 | scp电影| 《壮志凌云女版啄木鸟满天星法版》_全集免费观看在线播放 - 穿越剧 - 皮蛋影 | 鲁滨逊漂流记电影| 电视剧薄冰在线观看全集免费高清| 食物链删除的片段原声| 戒烟不戒酒电视剧| 权力的游戏第一季无删减| 《私人航空》在线看中文版| 广场舞尕撒拉| 需要爸爸播种2美国电影在线观看| 果宝特攻2全集| 3d肉铺团在线播放| 和部长一起出差韩国电影| 狙击杀手| 大侦探福尔摩斯1在线观看| 新婚初夜| 妈妈的职业5观看全集免费高清| 一个好妈妈的D5申字怎么打出来| 高清《双刃》短剧免费观看| 动漫男女一起愁愁愁电视剧| 食为奴粤语| 忆苦思甜饭| 狂飙在线看| 魔女2免费| 性生活电影| 为时已是寿司!?| 在厨房被躁了2个小时电影| 我在开会他在下添好爽在线视频| 1995版人猿泰山意大利版本| 《买下我》电影| 限制别人网速| 一起愁愁免费观看高清版视频| 一路向西粤语高清完整版| 哪吒3在线观看免费版高清电影| 《维修师傅艳遇》韩国在线观看| 老妇的欲火| 高清《妻子的闺蜜》大结局视频| 医武弃少:双绝超神完整版观看| 他其实没那么喜欢你在线观看| 家属动漫7集在线播放| 西雅图风暴| 清冷美人被c哭着爬走回来挺进h| 《特殊游泳课》免费观看下拉式| 干脆杀了他算了电影| 海泽·摩尔暗黑满天星电影| 应召女郎秘密日记| 露营后营露宿第一季未增减野营| 京华烟云赵雅芝版| 罗宾 威廉姆斯| 功夫厨神国语高清在线观看完整版 | 高清《好好的时光》电视剧| 向井蓝之特殊治疗医护免费看| 日本小妞| 欢乐元帅第二部| 贾静雯回应缺席苏有朋演唱会| 疯狂的麦克斯5在线观看免费完整版| 我在魔界当大佬| 李月华主演的电影在线看| 酒店1-40集在线观看| 浪漫玛丽国语版全集| 女销售员的秘密 在线| 上位110分钟完整版| 年代秀20110909| 房奴试爱电视剧开头原声视频| 扫黑风暴连续剧| 《部长出差的日子》在线观看。| 依然闪亮| 高达00第二季下载| 冷血人狼国语电视剧免费观看高清| 青春环游记第二季综艺| 日本空姐2019满天星法版:星辉照耀下的 | 泰国电影晚娘2| 和部长出差电影| 日本年轻母年经4| 高压监狱4| 《她被搬运工侵犯》在线观看 | 死神来了5高清完整版在线观看| 《灭火宝贝(高压监狱)》| 直到天空迎来太阳泰剧免费观看| 荒野求生贝尔 格里尔斯| 《需要爸爸播种子》免费观看在线播放_HD/无删减_1080P高清完整版电影 - 天堂 | 隐身帽子电影| 玩命派对| 俄罗斯空乘4美版| 豫剧刘庸下南京| 邪王溺宠短剧全集| 一起愁愁愁在线观看免费高清| 隐形的帽子韩剧| 邵氏电影《风月奇谭》免费观看| 小丹慢慢的张开了双腿 | 血战钢锯岭在线观看| 魔女2在哪里能看| 四个少妇推油| 你比星光美丽第一集| 高清《荆棘》电影完整版| 霍东觉全集| 中国家庭第一部电视剧免费观看| 罗城| 上海滩黄晓明版| 片名《瓜达卢佩的玫瑰》| 《外出》电影在线观看| 繁星四月电视剧| 卢旺达的玫瑰在线| 翁止熄痒禁伦短文合集免费视频| HD《激战丛林》完整版 | 家族诞生金媛熙| 印度空姐2在线观看完整版| 奔跑吧有情人| overflew真人高清免费看| 印度藏歌| 舞出我人生周楚楚| 新济公活佛电视剧| 东京恋爱模样 百度影音| 混战两姐妹国语版免费观看中文| 家和万事兴之兄弟姐妹| 夏树电影免费观看完整版全集最新一 | 非礼勿视2| 铿锵锵锵锵免费观看完整版| 常高兴的酸甜苦辣电视剧| 尔滨启动收复失地计划!| 琅琊榜之风起长林电视剧| 千纸鹤怎么折| 巴黎烟云在线观看完整免费高清原声| 朝花夕誓| 聊斋艳谭之幽媾下载| 贵妃紧窄H| 神探狄仁杰一部30完整版| 杰克逊经典歌曲下载| 明明是个碍事配角却被王子给宠爱| 胭脂电视剧免费观看| 优雅的家电视剧免费观看全集韩剧| 澳门风云2西瓜影音| Overflower| 麻将电影| 意大利电影《情迷2》的剧情简介| 北非谍影免费| 天海翼护士在线| 国家宝藏4| 电影《美味快递员2》免费完整版| 幻影忍者动画片| 俄罗斯妈妈电影2024年上映吗| ‘私人女子监狱| 僵尸先生电影| 《原始人》电影免费观看| 麦乐迪马克斯女超人免费观看| 我的邻居正在付出一切党整版| 爱有几何150分钟完整版在线观看| 变形金刚2国语版| 双女任务免费完整版电影| 因为爱情有幸福之一电视剧| 七个世界一个星球| 奋斗电视剧在线观看| 张警官9分11秒| 1995版《泰山和珍妮》| 性感海滩3丝袜补丁| 在一起电视剧| 别动我手机| 伦韩国理论片在线观看| 人与野兽2国语版免费播放| 如若巴黎电视剧免费播放在线观看| 巜人妻初次按摩2免费观看| 爱的勘探法电视剧| 堕落的女律师17.| 女儿的奶水| 上流社会完整版观看| 海底捞回应女大学生包间留宿 | 金银5-10集全集免费观看下载| 花容月貌电影免费| 韩国荷尔蒙爆发的视频原声| 24小时在线观看免费播放电视剧| 战狼6在线观看免费版高清视频| 碧血蓝天电影免费观看完整版| 需要爸爸播种的视频| 双谍姐妹花| 小蜜桃3美丽人生完整版| 大明劫在线观看| 暗红1936高清全集| 最新电影排行榜2012快播| 电影《需要爸爸播种子》| 地位变 改变土妹子的纯洁异新交往 | 辣妈正传电视剧| 三年大片三年大全免费观看国语 | 《高压监狱6》法国完整版| 要久久爱免费观看| sp发刷 红肿 双丘旧巷笙歌| 钻石王老五的艰难爱情在线观看| 高清《女友的妈妈2》| 《私人航空》在线看| 雪恋电影在线观看| 82版杨思敏1-5集剧情-百度| 新还珠格格发布会| 奔跑吧兄弟第二季直播| 谢娜发文道歉| 直播:陕西卫视春晚| 裕民县| 名侦探柯南黑| 酒店实拍1-5集| 科洛弗悖论| 三年大片观看免费国语版| 我和闺蜜在公交被八人伦视频| 威海市| 精灵幻想记| 初恋时间1-6| 黑帮少爷爱上我免费观看第一集泰剧 | 如果一生有你陪| 爸爸给我播种子免费观看 | 修理工的艳遇日韩伦理片在线观看 | 乡村爱情14 电视剧| 漂亮瘦子10| 三生三世枕上 书| 30分钟高清插曲播放大全| 赤狐书生 电影| 阿朱无删减版HD免费观看| 高清《时光与你都很甜》大结局| 财阀家的小儿子韩剧TV| 庭院女人| 小时代3百度影音| 古董局中局 电视剧| 东京难民| 奶瘾犯了文(文轩)11.0| 爱已成碑短剧免费完整版在线观看| 空中世界二战| 电视剧致命邂逅| 我的傻妞妞| 姐姐真好23集在线观看| 陪你到世界之巅免费观看全集| 吉吉av电影| 《揉胸按摩》在线观看| 烈焰在线观看完整版| 丈夫的朋友| 我的妹妹哪有这么可爱!| 东北往事之黑道风云20年第五部 | 高清明珠奇谭| 俘虏之锁未删减版在线观看| 绅士和小姐电视剧免费观看韩剧网| 乡村爱情第4部| 凯帕克电影作品在线观看| 无所畏惧电视剧40集全| 美容院特别待遇| 女人与公狼配| 男女一起愁愁愁免费观看全集高清完整版动漫 | 斗罗大陆第134集免费| 钻石大劫案电影张浩| 刀光枪影电视剧| 我们在线观看免费BD视频| 越南女子别动队无删减版| 术士樱花动漫免费看| 我家有喜爱奇艺| 为有暗香来免费观看全集| 黑白配免费观看全集高清| 点燃我温暖你电视剧在线| 带上婆婆嫁| 法国版女超人| 陪读妈妈电视剧免费版全集播放| 24世纪性格爱情| 高清《求佛》po| 性暴行| 《三点》电影在线观看| 美国娃娃脸4(经典版)| 女老师3在线观看| 妈妈的职业在线观看视频| 盟军敢死队4| 中国村妓三级片国语| 提防小手| 占狼六| 天火传说ol| 八戒满18电视剧大全| 火山口电影完整版免费| 公孚之手10| 辣椒教室| 黑白潜行免费观看高清| 法证先锋5粤语版免费观看| 日韩做Aj的视频| 艾曼纽在线观看免费完整原声| 禁忌满天星帕| 智者无敌白鸽| 凯·帕克电影在线观看| 高清《我的娜塔莎》电视剧| 1986《牙医姐妹》在线看 | 酋长之女2:狂飙2 | 龙虎风云电影| 太极 电影| 男生女生愁愁愁电视剧在线观看网站| 长安二十四计全集免费看| 俺去也在线播放| 承欢记在线观看完整版电视剧全集| hhh555现在叫什么| 丈夫的上司来家拜访日剧免费观看全集 | 田姐辣妹电视剧| 将军家的小狐仙| 血沃丰碑| 我爱男保姆电视剧全集在线观看| 我和我的祖国演员表| 电视剧我们都要好好的| 《美丽邻居》电视剧在线观看| 千金复仇:仇人覆灭短剧全集| 长大后电影| 开心超人2| 《一个真正的女人》| 新大头儿子小头爸爸第二部| 爱情理论免费观看| 少女第19集在线观看免费| 打黑风暴在线观看| 香港李嘉诚发声| 一门三司令全集| 乘龙怪婿4| 摩登原始人英语| 安妈超正最新今天| 大天大地大人家| 豆花已满十八岁免费观看电视剧| 铃木美恵子| 隐私欲望完整版| 名侦探柯南日语| 冰堂伊吹| 蛇姬恋电影在线观看| 超级战警高清| 兔子先生第一季第6期在线观看免费| 日本男星梶田冬磨去世| 啄木鸟壮志凌云| 但行好事短剧免费观看全集| 公之浮之手中有字9| 后厨免费观看全集| 李月华15部电影大全| 莫妮卡裸奶无删减版| 妈妈的职业免费| 泰罗奥特曼国语动漫| 古惑仔6国语高清免费| 全部视频排列表寂寞影院| 最美的时光第一集| 《女销售的秘密》| 电影叶问4| 《爱我几何》免费观看| 有盼头电视剧在线观看完整版| 唐探1900电影免费观看| 爱我几何《莫妮卡》电影完整版中文 | 李采潭主演的电影在线视频播放| 部长出差的日子完整版| 逆爱 再爱我一次| 牙医姐妹1986完整版手机在线观看 | 中国男篮进2024奥运会了吗 | 寄生兽动漫| 丫头5下载| 团圆饭电视剧全集| 流金岁月电视剧免费观看全集| 《悲伤恋歌》电视剧| 《魔法蓝精灵》| 偏偏喜欢你电视剧免费观看| 我本千金电视剧免费观看| 丈夫的上司来家拜访 电影 | 天赋异禀美剧| 广宁县| 法国空乘电影完整版在线观看高清| 超级马里奥世界2| 野外求生全集完整版| 沐浴之王在线观看免费直播| 红蜘蛛5| 蜜桃成熟时33d在线观影| 年轻的母亲免费在线| 中国达人秀卓君稻草人| 花便当未删减| 所罗门王凯恩| 刺客567第五季樱花动漫 | 壮志凌云2011满天星观看| 女人的天空 电视剧| 色达县| 千金驾到短剧免费观看| 六姊妹电视剧在线观看全集完整版| 花蝴蝶4免费版大全多少集天气 | 《女律师替丈夫还钱》电影免费观看 | 销售小姐的秘密免费观看| 高清《九重紫》在线观看电视剧| Jizz日本| 猎狐行动| 需要一半留下一半打一字谜| 妈妈的职业5观看 | 神探夏洛克 第四季| 麻美ゆま| 美味的姨母中字BD| 《长月烬明》| 美式忌保罗讳1--4| 交换上司的秘书2| 眉姐小男人| 电影韩国太太的告白| 核弹总动员| 坎贝奇三部曲免费版观看| 断奶演员表名单| 年轻瘦了4| 狄仁杰4| 武侠电影| 袖珍妈妈电视剧全集| 我的青梅竹马是消防员未删减| 台剧浪漫女家教免费| 蒙面超人rx粤语| 麦克斯奥特曼国语| 金瓶梅2爱的奴隶在线观看| 石纪元 第四季 Part 3| 我漂亮的小瘦子3剧情| 美丽小蜜桃免费| 庆余年电视剧免费在线观看| 分娩按摩4| 中国海峡网| 战狼6免费完整电影在线观看高清| 挟洋自重| 辣妈正传mp4下载| 金银梅电影| 恢复术士的重启人生| 无为县| 杨光的夏天全集| 海口一护士夜间被患者持刀伤害| 牙医姐妹在线观看完整高清免费| 雅典奥运会男篮决赛| 《Overflower》动漫全集免费观看| 苹果香原唱| 泰剧麻绳| 后营露宿第二季在线观看| 地味变2未增删樱花米粒米粒| 韩国特殊美发店| 污性福宝| 瓜达卢佩的玫瑰在线观看| 王者清风片尾曲| 热线女孩在线完整版中文字幕| 法国空乘电影观看免费视频:| 无彩限的怪灵世界| 坎贝奇成人电影无憾| 一千滴眼泪电视连续剧在线观看| 皮囊第一季百度影音| 月光宝盒在线观看全集| 美人鱼在线观看免费观看| 生活中的马丽亚无删减在线观看免费| 旺角卡门| 酒店1-75集| 湄洲岛奇缘| 电影欢乐英雄| 《私人航空》在线观看| 因为是反派大小姐所以养了魔王| tobu4美国免费| 《和讨厌的社长出差旅》大结局短发| 森林深处的秘密花园| 废世界未删减| 看不见的朋友| 三级《出差被同房》| 鬼父手机在线看1到16集| 十九岁观看免费高清完整版| 韩版甄嬛传| 海豚寄宿学院| 《越南版女兵俘虏营东京塔》| 轩辕剑之天之痕26| 三年国语大片在线观看| 法制频道现场直播| 皇家冰窖| 赤板栗《牙医姐妹》完整| 恶女阿楚演员表| 灿烂的遗产国语版全集| 你妈妈也一样在线观看| 梦想森林电影| 21世纪爱情指南在线播放| 周防雪子快播| 满清十大刑酷电影| 陪讨厌部长去出差旅日本在线观看 | 联手复仇虐渣:双胞胎姐妹短剧全集 | 《一级方程式:疾速争胜 第八季》 | 成龙a计划续集| 麦乐迪《家庭矛盾》在线播放| 《战狼4》免费观看完整版高清国语 | 手机影院:丈夫的部下| 让子弹飞未删版| 电影《美容院的特殊待遇》1中文在线| 消失的罪证| 疯狂之血| 伊播拉病毒国语| 唐人街探案3国语版在线观看免费| 1986《牙医姐妹》| 美剧 马可波罗| 法网阻击全集| xl司令第一季在线看免费版| 婚后的诱惑| 法国空姐2004| 高清《我的娜塔莎》电视剧| 伸冤人3高清电影免费观看| 业火的向日葵下载| 布里奇顿 第四季全集观看| 一起愁愁免费观看高清电影| 搞笑一家人国语版1| 星辰变第6季在线观看完整版| 秘密花园国语版免费| 国家地理频道| 《激战丛林》电影观看| 扫黑风暴第19集在线观看| 咖宝车神之拯救联盟| 女版战狼19高清国语免费观看动漫| 法医嫡女短剧全集| 冰封之城| 韩国电影爱人下载| 圆桌骑士rom| 激情丛杕| 企业强人国语在线观看| 1986版乌龙山剿匪记免费观看 | 老友鬼上身国语| 历史的天空2| 息县县委书记金平去向| 杨敏1-5集全集免费看| 大人物包贝尔电影在线观看| 高清遇见世界未删减| 公之浮手中字15| 憩园电影| 《爱我几何》原版| 康熙来了小小彬| 禁止性爱2| abo动画成结模拟免费观看| 烽火儿女情百度影音| 琉璃全集| 深圳倡导下周居家办公| 大明风华在线观看免费完整版| 坎贝奇的品味人生完整版| 山谷里的思念原唱| 足疗技师输出学校| 娃娃脸4免费看| 智取威虎山电影完整版| 比如父子未删减| 精锐部队1| 阿里拳王| 圣特罗佩的姑娘们1982满天星| 天亮了汤晶锦| 《现在的是哪一个多闻! ?》| 壮志凌云2011凯登版在线观看| 深喉2在线欧美| 寒蝉鸣泣之时·业| 罗克星克莱尔在线观看| 赤裸羔羊| 女老板电影| 白峰电影在线观看在线| 釜山行2资源| 金银梅5一10普通话| 泰国剧泰剧大全| 长安的荔枝免费播放| 按摩师被弄到高潮A片| 可惜明年花全集免费播放| 黎巴嫩电影| 八戒八戒8在线看免费观看完整版 涩涩屋视频黄色在线观看 | 恋爱暴君动漫| 麦乐迪女超人系列在线观看免费版 | 危险动物未删减| 变形金刚1电影国语版| 美乃雀替夫还债无删减在线观看免费| 捉妖记bt| 愈合伴侣在线观看| 杰西版《壮志凌云》| 继承者们全集在线观看| 烧酒战争全集观看| 酒店服务员在线观看| 功夫小蝇| 《大战凯丽》观看| 高跟鞋smvk| 生死兄弟情剧情介绍| 战狼6高清完整免费观看国语下载 聊斋奇谭3之妖女谭2免费观看 | 天山暮雪电视剧全集| 一代名妓陈圆圆| 澳门风云在线观看| 美容院特珠待遇5| 声生不息免费观看完整版| 仙逆104全集完整正版| 销售的销售秘密3HD中字国| 龙在江湖飘| 光武大帝| 空弹之森免费观看完整版| 仓井肉欲| 木乃伊归来2| 斯巴达满天星版| 怪盗基德的结局| 因为遇见你分集剧情| 巨大粗壮两个JJH| 舒淇三圾片在线观看| 《角斗士3满天星版》 | 长相思古装剧免费观看49集| 巜性刑房3捆绑凌虐bd| 台版缉魂2小时10分版网飞版| 机器侠百度影音| 渔夫荒野史1988版在线观看免费| 《原始人》电影免费观看| 黑瞳男孩| 天海翼怪盗在线观看| 禁止的爱:善良的小姨子| 花琉璃轶闻免费观看全集| 哇嘎国语高清在线观看视频| 小偷家族电影观看完整版| 情迷女记者| 我的吸血怪好友| 千金归来51| 祁门县| 弃女归家:家产归我短剧全集| 烧饼皇后| 《激战丛林》-罗莎·卡拉乔洛在线| 美女杀手| 《秘密囚禁》完整版| 《需要爸爸播种子》在线观看播放_HD/高清_免费无删减完整版电影 - 星辰影院 | 美国大选首场辩论| 猩球崛起2:黎明之战电影| 京东塔之越南俘虏营在线观看| 《重返狼群》10周年特别版| 二人世界精彩片段| 《迷宫1997版》在线观看| 罗娜艳情录经典电影免费观看| 青春守艺人在哪里播出 | 极乐麻将| 佛坪县| 欢迎来到王国韩剧免费观看| 我的最爱粤语高清| 无颜之月在线观看免费| 粉碎机电影| 韩国电影诱惑| 天堂执法者15| 善意的竞争电视剧免费观看| 一点就到家在线观看| 《女律师替夫还债》剧情介绍曹查理 | 巧奔妙逃高清完整版免费观看| 胜女的代价2结局| 夜销魂2国语版高清在线播放| 激战丛林| 超人气校园| 烂赌夫斗烂赌妻粤语高清| 瓜达卢佩的玫瑰电视剧| 小超的农村事| 党同伐异免费| 成版《壮志凌云》| 还珠格格风儿阵阵吹| 心灵捕手 电影| 意大利《女子护卫队》| 基层风云| 古惑仔友情岁月演唱会| 茌平县| 新金平瓶梅| 庆余年第二季免费看全集| 刺杀据点下载| 受益人 电影| 狂暴巨兽2巨型昆虫| 乾安县| 祝英台与梁山伯的电视剧| 高清《四大元素之水之魅影》电视剧| 搭讪大师tv| 《鸿门宴》电影免费播放| 洛城疑云| 向往的生活5完整版免费西瓜| 电影牙医姊妹完整版免费观看| 车水马龙电影免费版 | 旺角黑夜在线观看| 电视剧血脉| 销售房子的电影| 春药在药店称为什么药| 专治各种不服| 甜蜜第2季无马赛免费观| 营改增账务处理| 阴阳少女:见鬼捉鬼全集免费| jizz日| 家产争夺:我是继承人短剧全集| 国王在冬眠在线观看全集电影| 《私人助理2》电影免费观看| 初恋夫妇ep7| 电视剧《雪迷宫》32集播放| 欲望免费观看| 美容院待遇电影| 海豚中最大的海豚种类是什么| 杨贵妃传| 所有女人都是骗子| 办公室特殊服务在线观看| 三目童子国语版| 拜见岳父大人1电影| 木凛凛演的电影逃亡花| 《少女》电影完整版| 梅西疑似脚踝隆起大包| 饲养1小时42分原版在哪看| 阳光情人| 美丽姑娘免费高清电影大全| 金瓶梅电视剧全集电视剧在线看免费观看| 越狱第五季在线观看| 林风短剧免费全集播放| 丫鬟逆袭全集免费| 电影三人一次性体检| 高清春日狂热未删减| 金银悔1-10集在线播放| 不要恋爱要结婚 电视剧| 教室别恋下载| 三年在线观看中文免费| 第一拽妃| 娘家的故事之爱的奉献| 《农场保卫战》满天星| 凌云壮志(欧美)满天星小娅是谁演的 | 美容院的特殊待遇 在线| 昨晚七点新闻联播回放| 电影爱情大全免费观看| 博湖县| 家有虎妻| 整蛊王国语版在线观看| 《家庭矛盾》melody| 《需要爸爸播种子》高清完整版免费在线观看-电影频道 - 光棍影院 | 《睫毛膏》9| 年轻的妺妺3按摩| 密室大逃脱第六季在线免费观看| 按摩店电影叫什么名字| 新年歌曲dj| 大运会运动员踏着蜀锦入场| 电影《需要爸爸播种子》HD中字在线观看,高清完整版美国倫理片_屠夫电影网 | 暴躁少女16集全| 肉蒲团迅雷下载| 南来北往电视剧剧情介绍| 母亲3韩剧国语版| id002经典热门电视剧在线观看| 一仆二主电视剧 39| 我和黑帮的老大365天| 正在播放: 【传媒】MDSR0006-2 《小凤新婚》下集-高冷新妻性奴 - 91n | 黑帮大佬我和我第365天男主| 高清《暗夜情报员 第三季》电视剧| 在厨房和空调修理工 | 战狼6观看在线下载高清| 城中之城电视剧全集在线观看免费| 喜爱夜蒲快播观看| 潍坊科技学院女生| 电影,四少妇推油按摩| 电影永恒的爱情| 大秦赋在线观看免费完整版| 《法国空乘5在线观看| 横行霸道电影| 电视剧 雪豹| 韩国理论片中文线播放最新| 韓國母親三| 乡村老尸全集| 中央台2024开学第一课| 金牌销售秘密| 我主沉浮电视剧| 高清生命树| 电视剧郑和西洋免费观看 | 高清《仙逆剧场版 神临之战》电影| 好儿子妈好爽快插我嫩草视频| 巨鹿县| 97电视剧在线播放免费观看 | 跟我说爱我韩剧| 扫黑风暴电影免费观看| 木下檀檩子电影免费观看高| 吴尊演的电视剧| 无名世界的终结电影免费观看 | 终极追捕演员表| 太阳的后裔15| 《社长夫人的美貌》哪里能免费看 | 美国式1982版保罗| 岛国中文字幕肉蔻之| 在线免费观看斗罗大陆| 人去楼空| 《卖百科全书的女人》法国| 我是特种兵之利刃出鞘29| 床3之他和她的关系| 档案南海风云| 1—5集普通话版免费下载| 绿茶婊微电影| 紧急公关电视剧免费观看全集完整版| 美乃雀替父还债| 哈利波特1~8集免费观看完整版| 夏妻动漫| 庆余年第一季在线观看| 玄女心经2国语版免费观看| 欢喜冤家电视剧在线观看| 老三国演义84集免费观看网站 | 《公的浮之手中字》免费| 霍元甲李连杰高清电影在线观看| 女军医免费全集在线看| 乐环影院| 小主别闹| 人海中遇见你mv| 爱你几何理论片| 追光的日子电视剧免费观看| 倾城之泪百度影音| 上司的女人| 韩国R电影无删减在线观看| 十大奇冤高清| 引郎入室| 睫毛膏3| 凯登克罗斯《急诊护士》| 与凤行电视剧在线观看| 狼和狗的时间| 金蝉脱壳高清完整版| 台剧黛比女家教在线看| 电视剧二胎| 酒徒电影| 游戏解说| 灵幻少女外传最强驱魔师vs人面犬 | 酒店1-100集全集| 古墓丽影hd版电影| 沈腾马丽小品《寒舍不寒》| 美味的姨母中字BD| 特别酒店美国1983| 特警使命之全城危机| 需要爸爸种子播种免费观看| 钢铁天使第二季| 小凤新婚台湾版| 灭火宝贝3电影免费观看完整版| 万古神帝全集免费完整版| 恋爱暴君2动漫| 女超人麦乐迪满天星免费观看完整版 | 扫黑风暴电影免费观看| 欧式少女第16集全集电视剧剧情介绍| 男女愁愁电影免费观看| 日韩无遮挡伦理片:按摩大胸妹子| 流氓状元| 战狼6免费播放观看在线视频| 高清《loveme》动漫第一季| 难哄白敬亭电视剧在线免费观看| 9423电影网| 晚安,为我而眠的妹妹| 两世欢免费观看全集| 爱情公寓5在线观看免费完整版| 杀寇决电视剧| 性电影| 电视剧《福贵》| 宇宙好声音| 亿万星辰不及你免费观看完整版| 我在未来等你| 罗丽星克莱尔性迷宫片长 | 继承者们全集在线观看| 寄生异形电影| 莫妮卡《爱我几何》精彩片段| 火星没事电影| HD版激战丛林完整版| 电视剧婚变| 芦溪县| 性奴触手道具玉柱调教-《丰满的继牳3》无删减-成人AV | 我们彼此相爱泰剧在线观看免费 | 圣女的代价百度影音| 金毛动漫库| 僵尸新娘满天星| 铿锵锵锵免费观看电视剧大全2023| 玉璞团之鉴宝2高清| 电视剧大侠霍元甲全集免费播放| 松桃| 西部通缉令在线观看| 心灵法医在线观看| 牧神记第39集在线观看视频| 窥视电影| 《初体验5》电影完整版在线观看| 高斯奥特曼国语版| 披荆斩棘第4季在线观看| 大场面电影| 辞职欢送温泉之旅| 电视剧生死相依| 移山倒海樊梨花全集| 璀璨人生共多少集| 白嫖者联盟在线观看免费| 火蓝刀锋土豆| 名侦探柯南第14个目标| 叠影危情演员表| 《两位少妇按摩》HD中字| 侠岚第4季全集| 绮梦之旅全集观看|