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

    一種多核ARM平臺下用戶態(tài)定時器的實現(xiàn)

    2015-06-27 08:26:03喻詩祥顧乃杰
    計算機工程 2015年1期
    關(guān)鍵詞:共享內(nèi)存鏈表數(shù)據(jù)結(jié)構(gòu)

    喻詩祥,顧乃杰,張 旭,曹 越

    (中國科學(xué)技術(shù)大學(xué)a.計算機科學(xué)技術(shù)學(xué)院;b.安徽省計算與通信軟件重點實驗室;c.先進技術(shù)研究院,合肥230027)

    一種多核ARM平臺下用戶態(tài)定時器的實現(xiàn)

    喻詩祥a,b,c,顧乃杰a,b,c,張 旭a,b,c,曹 越a,b,c

    (中國科學(xué)技術(shù)大學(xué)a.計算機科學(xué)技術(shù)學(xué)院;b.安徽省計算與通信軟件重點實驗室;c.先進技術(shù)研究院,合肥230027)

    在ARM平臺下,系統(tǒng)提供的posix-timer誤差較大,難以滿足實時要求,而且傳統(tǒng)的Linux用戶態(tài)定時器通過系統(tǒng)調(diào)用及信號傳遞的方式向進程提供定時服務(wù),當定時器使用規(guī)模較大時,進程會在內(nèi)核態(tài)用戶態(tài)間頻繁切換。針對上述問題,提出并實現(xiàn)一種基于多核ARM平臺的新型用戶態(tài)定時器方案。該方案采用一種新的時間輪數(shù)據(jù)結(jié)構(gòu),通過內(nèi)核態(tài)與用戶態(tài)共享內(nèi)存等方式向進程提供服務(wù),避免不必要的信號傳遞,有效地緩解頻繁狀態(tài)切換問題。實驗結(jié)果表明,該方案保持微秒級的定時精度,定時誤差相比posix-timer明顯降低。

    Linux用戶態(tài);定時器;多核;ARM平臺;時間輪;共享內(nèi)存

    1 概述

    定時器作為Linux操作系統(tǒng)提供的一種定時服務(wù)機制,被廣泛的應(yīng)用于各種內(nèi)核及用戶應(yīng)用程序中,其主要功能是實現(xiàn)一個給定的函數(shù)在給定的定時時長用完后被調(diào)用執(zhí)行。在Linux系統(tǒng)中,定時器分為內(nèi)核態(tài)定時器和用戶態(tài)定時器。內(nèi)核態(tài)定時器在內(nèi)核態(tài)被使用,如早期Linux內(nèi)核提供的低精度經(jīng)典定時器及后期Linux內(nèi)核提供的高精度定時器。用戶態(tài)定時器由進程在用戶態(tài)創(chuàng)建使用,一般在內(nèi)核態(tài)定時器的基礎(chǔ)上實現(xiàn),Linux用戶態(tài)可以調(diào)用的定時器接口有setitimer、alARM系統(tǒng)調(diào)用以及posix-timer接口。

    衡量一個定時器系統(tǒng)好壞的主要標準有定時精度和定時誤差,所謂定時精度是指定時器所能進行最小時間的定時操作,定時誤差指定時器實際定時時長與預(yù)定定時時長之間的時間差[1-2]。在實時操作系統(tǒng)中,要實現(xiàn)對高精度實時任務(wù)的精確控制[3],保證事件在截止時間之前得到響應(yīng),定時器精度及定時誤差顯得尤為重要。由于Linux系統(tǒng)具有功能強大、開源、支持多種硬件平臺等優(yōu)勢,很多實時操作系統(tǒng)是在Linux的基礎(chǔ)上改造而來[4-5]。本文針對Linux下定時器實現(xiàn)機制的相關(guān)工作及其優(yōu)缺點進行研究,提出并實現(xiàn)一種基于多核ARM平臺的新型用戶態(tài)定時器機制。

    2 相關(guān)工作

    在早期 Linux內(nèi)核(Linux-2.6.16之前)中, Linux內(nèi)核定時器的實現(xiàn)是基于系統(tǒng)周期性時鐘中斷,系統(tǒng)時鐘中斷由外部時鐘源周期性的發(fā)出,時鐘中斷的頻率由內(nèi)核配置參數(shù)Hz決定。在ARM平臺上,Hz一般被配置為128,即每秒128次時鐘中斷。針對每個核上的定時器,采用經(jīng)典時間輪數(shù)據(jù)結(jié)構(gòu),即系統(tǒng)根據(jù)其粗略到期時間(到期時刻的jiffies)的遠近分類至5個不同的組中,在組內(nèi)再根據(jù)定時器到期的具體到期時刻將定時器構(gòu)建為若干個鏈表,如圖1所示。

    圖1 經(jīng)典時間輪數(shù)據(jù)結(jié)構(gòu)

    隨著時間的推移,當?shù)狡跁r間較近的組中的所有定時器被處理完之后,再從到期時間較遠的組中將定時器依次前推,重新補足至到期時間較近的組中。早期內(nèi)核定時器的精度和誤差都與Hz相關(guān),首先,系統(tǒng)在每次時鐘中斷中對到期定時器進行處理,即每1/Hz秒處理一次到期定時器,其次,定時器計時單位基于jiffies變量,定時器只能處理1/Hz秒整數(shù)倍的定時操作。如果Hz值設(shè)置較小,定時精度只能達到毫秒級別,不能滿足實時應(yīng)用需求;如果Hz值過大,將使時鐘中斷更加頻繁的產(chǎn)生,減少了處理器處理其他工作的時間,還會頻繁打亂處理器的高速緩存[3]。

    隨著實時系統(tǒng)的發(fā)展,為了提高定時器的精度,美國Kansan大學(xué)KURT-linux項目中的UTIME機制及Monta Vista公司發(fā)起的高精度定時器開源項目HRT相繼對高精度定時器的設(shè)計實現(xiàn)機制研究做出了開創(chuàng)性的努力[6-7]。在他們設(shè)計的高精度定時器機制中,對檢測定時器到期的方式進行了創(chuàng)新,早期Linux內(nèi)核通過周期性時鐘中斷檢測定時器到期,而新的機制采用時鐘源單次觸發(fā)的方式檢測定時器到期,即每次對時鐘源編程,設(shè)置其發(fā)出中斷的時刻為當前最早到期的定時器的到期時刻,當中斷發(fā)生時(最早到期的定時器到期時),在中斷處理函數(shù)中再次對時鐘源進行如上編程,設(shè)置中斷發(fā)生時刻為下一個最早到期的定時器的到期時刻。通過單次觸發(fā)的方式,定時器到期事件將不再發(fā)生于周期性的時鐘中斷中,定時器精度得到了顯著提高,達到微秒級別。2006年,Thomas等人提出了Hrtimer高精度定時器系統(tǒng),并加入到Linux內(nèi)核代碼樹中,其實現(xiàn)機制也是基于上述單次觸發(fā)思想[8-10]。Hrtimer系統(tǒng)可以與原有定時器系統(tǒng)兼容,并實現(xiàn)了模塊化,在編譯內(nèi)核時可以進行配置選擇。在多核架構(gòu)中,每個核上的定時器對象根據(jù)其到期時刻的遠近通過紅黑樹的方式進行組織,每個核上的定時器到期檢測由本地時鐘源發(fā)出的中斷來驅(qū)動。在一些只有全局時鐘設(shè)備的SMP系統(tǒng)上,Hrtimer缺乏有效的支持,因為全局時鐘中斷只能在某一個核上進行處理,無法管理多個核中的定時器[2]。

    傳統(tǒng)的用戶態(tài)定時器接口如 setitimer,posixtimer[10]等都是在內(nèi)核態(tài)定時器的基礎(chǔ)上實現(xiàn)的,其實現(xiàn)方式基本是通過系統(tǒng)調(diào)用對內(nèi)核態(tài)定時器進行定時操作,當定時器到期時,通過信號的方式通知對應(yīng)的進程。當定時器使用規(guī)模較大時,進程因定時器操作系統(tǒng)調(diào)用及每個定時器的到期信號處理會在內(nèi)核態(tài)和用戶態(tài)之間頻繁切換,導(dǎo)致系統(tǒng)性能降低。在ARM平臺上,除了上述問題,用戶態(tài)定時器的定時誤差比較大,難以滿足實時要求,尤其當定時器使用規(guī)模較大時,這種狀況更加明顯。針對這些問題,本文設(shè)計并實現(xiàn)一種基于多核ARM平臺的新型Linux用戶態(tài)定時器系統(tǒng)。新的實現(xiàn)方案在定時精度上,仍然保持微秒級的定時精度,在定時誤差方面,相比posix-timer得到了明顯降低。

    3 新型Linux用戶態(tài)定時器設(shè)計與實現(xiàn)

    在早期Linux內(nèi)核低精度定時器的實現(xiàn)方案中,每個核都以Hz為頻率周期性地響應(yīng)時鐘中斷,對核上運行的定時器進行到期檢測。為了避免造成系統(tǒng)性能的降低,Hz一般設(shè)置較小,定時器精度較低。在本文所述定時器系統(tǒng)中,為了在提高定時精度,并保持系統(tǒng)性能,僅在一個處理器核(比如0號核)上周期性進行定時器到期檢測,其他核上的定時器均通過核間共享內(nèi)存的方式集中于這個核上進行到期檢測,通過對到期檢測的頻率進行配置,使定時精度達到微秒級別。在運行定時器結(jié)構(gòu)的組織方面,采用一種新的時間輪數(shù)據(jù)結(jié)構(gòu)。對于相關(guān)數(shù)據(jù)結(jié)構(gòu),通過內(nèi)核態(tài)與用戶態(tài)共享內(nèi)存等方式,避免通過系統(tǒng)調(diào)用進行啟動定時器等操作,在定時器使用規(guī)模較大時,通過到期定時器隊列及共享內(nèi)存的方式,避免不必要的定時器到期信號導(dǎo)致頻繁的內(nèi)核態(tài)用戶態(tài)切換。

    3.1 定時器到期檢測

    在ARM平臺下,定時器到期檢測通過硬件時鐘源watch dog的周期性中斷實現(xiàn),在watch dog對應(yīng)的中斷處理函數(shù)中,檢測用戶態(tài)定時器是否到期。

    watch dog是ARM平臺上一種常見的時鐘源設(shè)備,它基于一定的工作頻率對計數(shù)器進行遞減操作,當計數(shù)器值變?yōu)?時,向CPU發(fā)出中斷,其工作模式可以設(shè)置為周期觸發(fā)或單次觸發(fā)模式。watch dog中主要包含以下幾個寄存器:CONTROL寄存器, LOAD寄存器,COUNTER寄存器。CONTROL寄存器用于設(shè)置watch dog是否工作,以及其工作模式為周期觸發(fā)還是單次觸發(fā);COUNTER寄存器是一個基于一定頻率遞減的計數(shù)器,當其值遞減至0時,會向CPU發(fā)出中斷,若watch dog處于周期觸發(fā)工作模式,則COUNTER值重置為LOAD寄存器的值,并繼續(xù)遞減。

    在本文所述定時器系統(tǒng)中,設(shè)置watch dog工作模式為周期觸發(fā),每隔period微秒發(fā)出一次中斷,假設(shè)watch dog計數(shù)器遞減的頻率為freq,則LOAD寄存器寫入值的計算方法如下式:

    3.2 新型時間輪數(shù)據(jù)結(jié)構(gòu)

    每發(fā)生一次定時器到期檢測事件,時間向前推進period微秒,每一次到期檢測事件發(fā)生稱為一個tick。本文提出的新的時間輪數(shù)據(jù)結(jié)構(gòu),類似傳統(tǒng)齒輪鐘表的輪式結(jié)構(gòu),在輪上有若干個刻度,每個刻度代表一個tick,時間輪的指針代表系統(tǒng)當前的tick,用current_tick標記,如圖2所示。

    圖2 新型時間輪數(shù)據(jù)結(jié)構(gòu)

    假設(shè)時間輪上的刻度個數(shù)為wheel_ticks,隨著時間的前進,時間輪指針在時間輪上從0到wheel_ ticks-1不斷循環(huán)變化。在系統(tǒng)初始時刻,current_tick初始化為0,每經(jīng)歷一個tick,current_tick的更新公式為:

    其中,n表示wheel_ticks。

    定時器在計時過程中以tick為單位,當定時器啟動時,對定時時長進行微秒到tick的轉(zhuǎn)換,根據(jù)系統(tǒng)當前tick及定時時長的tick數(shù),計算到期時刻的目標tick及離到期時刻時間輪需要運行的圈數(shù),假設(shè)定時時長為expires微秒,相關(guān)計算公式如下:

    circle作為定時器的一個參數(shù),表示其至到期所剩的時間輪運行圈數(shù)。在同一個tick到期的定時器通過雙向靜態(tài)鏈表的方式連接起來(如圖2),并且按照circle增序排列,每個tick上包含鏈表的首結(jié)點序號,啟動定時器操作即將定時器插入到到期時刻目標tick對應(yīng)的鏈表中。每經(jīng)歷一個tick時,對該tick上的定時器鏈表進行檢查,若其中定時器的circle參數(shù)為0,則表示定時器在該tick到期,對其進行處理,否則,將circle進行減1操作。每個tick上還包含一個原子鎖變量,0表示未加鎖狀態(tài),1表示加鎖狀態(tài),通過原子語句控制原子鎖以互斥對同一tick上定時器鏈表的訪問[11-12]。時間輪由若干個tick組成,通過一個tick數(shù)據(jù)結(jié)構(gòu)數(shù)組實現(xiàn),tick的數(shù)據(jù)結(jié)構(gòu)為:

    早期Linux內(nèi)核低精度定時器的經(jīng)典時間輪數(shù)據(jù)結(jié)構(gòu)存在一些缺點,到期時間較遠的定時器分組粒度較粗,而到期時間較近的定時器分組粒度較細,當?shù)狡跁r間較近的分組中的所有定時器被處理完之后,需要從到期時間較遠的各組中將定時器重新補充至到期時間較近的組中,對定時器性能影響較大。

    相比早期經(jīng)典時間輪數(shù)據(jù)結(jié)構(gòu),本文提出的新的時間輪數(shù)據(jù)結(jié)構(gòu)中,通過tick對定時器進行的分組較為均勻。將時間輪上的tick個數(shù)wheel_ticks設(shè)置較大,通過增加時間輪所占空間的方法,減少不同核操作同一個tick的可能性,并且避免時間輪上tick的個數(shù)較小時較多的定時器集中到同一個tick上從而容易導(dǎo)致該tick上定時器鏈表較長。

    3.3 定時器池及定時器到期機制

    在用戶態(tài),進程在時間輪上實現(xiàn)定時器啟動等相關(guān)操作,在內(nèi)核態(tài),周期性定時器到期檢測函數(shù)對時間輪tick上的定時器進行到期檢測。將定時器屬性中需要在用戶態(tài)內(nèi)核態(tài)共享的一些屬性(如定時時長的tick個數(shù)、圈數(shù)circle、目標tick序號等)單獨列出,構(gòu)造定時器共享數(shù)據(jù)結(jié)構(gòu),單獨分配一段共享內(nèi)存,將定時器共享數(shù)據(jù)結(jié)構(gòu)以定時器池的形式組織起來。將定時器屬性中僅在用戶態(tài)訪問的一些屬性(如定時器回調(diào)函數(shù)及其參數(shù)等)單獨列出,構(gòu)造定時器用戶態(tài)數(shù)據(jù)結(jié)構(gòu)。創(chuàng)建定時器時,為每個定時器用戶態(tài)數(shù)據(jù)結(jié)構(gòu)從定時器池中分配一個定時器共享數(shù)據(jù)結(jié)構(gòu)。

    定時器共享數(shù)據(jù)結(jié)構(gòu)通過兩組雙向靜態(tài)鏈表指針連接,其中一組用于將定時器連接于時間輪tick上的定時器鏈表中,表示定時器處于運行狀態(tài),另一組用于將定時器連接于定時器池中的未分配定時器鏈表中或者進程的已分配定時器鏈表中,表示定時器未分配或者已分配。

    在Linux內(nèi)核定時器系統(tǒng)中,當用戶態(tài)定時器到期時,內(nèi)核向其所屬進程發(fā)送信號,由進程在用戶態(tài)捕獲信號,執(zhí)行信號處理函數(shù)。在進程中定時器使用規(guī)模較大的情況下,大量到期信號的捕獲處理導(dǎo)致進程進行頻繁的內(nèi)核態(tài)用戶態(tài)切換。針對這種情況,本文提出的定時器系統(tǒng)為進程中每個線程開辟一段共享內(nèi)存,以循環(huán)隊列的組織方式保存該線程當前到期未被處理的定時器。在內(nèi)核態(tài)定時器到期檢測函數(shù)中,當檢測到屬于某個線程的定時器到期時,將該定時器寫入該線程對應(yīng)隊列的尾部,僅在該線程對應(yīng)隊列原來為空的情況下才向該線程發(fā)送信號,并以線程ID作為信號的參數(shù)。在用戶態(tài)信號處理函數(shù)中,通過信號參數(shù)檢測發(fā)生定時器到期事件對應(yīng)的線程,從該線程到期定時器隊列頭部開始,逐個執(zhí)行每個定時器的回調(diào)函數(shù)。定時器到期處理機制如圖3所示。

    圖3 定時器到期處理機制

    通過上述到期定時器隊列及共享內(nèi)存的方式,在定時器使用規(guī)模較大時,可以減少信號發(fā)送的次數(shù),避免定時器密集到期而導(dǎo)致的頻繁內(nèi)核態(tài)用戶態(tài)切換。

    3.4 共享內(nèi)存組織結(jié)構(gòu)

    共享內(nèi)存作為本文定時器系統(tǒng)中的一個重要方法,共享內(nèi)存區(qū)主要包含以下5個區(qū)域:

    (1)時間輪區(qū):時間輪由一個wheeltick結(jié)構(gòu)數(shù)組組成,用戶態(tài)進程在時間輪上實現(xiàn)定時器啟動等相關(guān)操作,內(nèi)核態(tài)定時器到期檢測函數(shù)在時間輪上進行周期性推進,進行定時器到期檢測。該部分在定時器系統(tǒng)啟動時初始化。

    (2)定時器池區(qū):定時器池區(qū)由定時器共享數(shù)據(jù)結(jié)構(gòu)數(shù)組構(gòu)成,在邏輯上定時器共享數(shù)據(jù)結(jié)構(gòu)通過靜態(tài)鏈表的方式連接。在定時器創(chuàng)建時,若定時器池空間不足則以內(nèi)存頁為單位實現(xiàn)動態(tài)擴張。

    (3)全局參數(shù)區(qū):該區(qū)域用于保存一些全局參數(shù),包括時間輪上tick個數(shù)、當前tick,定時器池中定時器總個數(shù)、已分配個數(shù)、空閑定時器鏈表首結(jié)點等。該部分在定時器系統(tǒng)啟動時初始化。

    (4)進程參數(shù)區(qū):該區(qū)域用于保存一些進程參數(shù),包括進程從定時器池中分配的定時器結(jié)構(gòu)鏈表首結(jié)點、各線程到期定時器隊列頭、尾指針等。該部分在進程向定時器系統(tǒng)注冊時初始化。

    (5)到期定時器隊列區(qū):該區(qū)域用于為各線程實現(xiàn)其到期定時器循環(huán)隊列。

    在系統(tǒng)啟動階段,創(chuàng)建共享內(nèi)存匿名映射設(shè)備,供進程進行內(nèi)存映射,對共享內(nèi)存中時間輪區(qū)、定時器池區(qū)、全局參數(shù)區(qū)進行初始化,并設(shè)置時間輪驅(qū)動源watch dog,使其周期性發(fā)出中斷推動時間輪。當進程向定時器系統(tǒng)注冊之后,為當前進程對應(yīng)進程參數(shù)區(qū)及到期定時器隊列區(qū)初始化,將上述5個共享內(nèi)存區(qū)映射至進程地址空間。

    共享內(nèi)存區(qū)成功映射并初始化后,定時器相關(guān)操作均可直接在共享內(nèi)存區(qū)中的數(shù)據(jù)結(jié)構(gòu)上進行,避免通過系統(tǒng)調(diào)用方法陷入內(nèi)核態(tài),主要有以下具體操作:創(chuàng)建操作即從定時器池的未分配定時器鏈表中分配一個定時器結(jié)構(gòu),并連接至進程已分配定時器鏈表中;啟動操作即根據(jù)當前tick及定時時長,將定時器插入時間輪到期目標tick的鏈表中;停止操作即將定時器從時間輪到期目標tick的鏈表中刪除;刪除操作即將定時器結(jié)構(gòu)回收至定時器池的未分配定時器鏈表中。將到期定時器隊列放入共享內(nèi)存區(qū),可以避免每次定時器到期事件都發(fā)送一次信號通知對應(yīng)進程,而是僅當定時器隊列為空時才發(fā)送信號,當定時器規(guī)模較大時,減少信號發(fā)生的次數(shù),避免不必要的用戶態(tài)與內(nèi)核態(tài)之間的切換。

    4 實驗結(jié)果

    4.1 實驗方法及環(huán)境

    根據(jù)第3節(jié)所述,本文所述用戶態(tài)定時器系統(tǒng)精度通過定時器到期檢測的周期即參數(shù)period配置。下面給出定時器系統(tǒng)定時誤差方面的參數(shù)配置及測試方法。首先定時器系統(tǒng)的相關(guān)參數(shù)配置為:時間輪上刻度個數(shù)wheel_ticks配置為217個,定時到期檢測的周期period參數(shù)配置為20 μs。其次測試方法為:隨機產(chǎn)生5萬個2 s內(nèi)的定時時長數(shù)據(jù),針對這些數(shù)據(jù),對本文提出的新型用戶態(tài)定時器系統(tǒng)及Linux內(nèi)核提供的用戶態(tài)posix-timer分別進行如下測試,創(chuàng)建5萬個定時器,以上述數(shù)據(jù)為定時時長,進行200輪測試,在每一輪測試中逐個啟動定時器,并記錄每個定時器的啟動時間,在定時器的到期處理函數(shù)中,記錄定時器到期時間并計算定時誤差,待所有定時器都到期之后,進入下一輪測試。在測試方法中,定時器啟動時間及到期時間,均通過硬件時間戳計數(shù)器GLOBAL TIMER讀取。測試平臺環(huán)境為: CPU為ARM cotex-A9 mpcore omap4460 pandaboard @1.2 GHz,內(nèi)存1 GB,操作系統(tǒng)為ubuntu 11.04,內(nèi)核版本為Linux 2.6.38。

    4.2 結(jié)果分析

    根據(jù)上述測試方法,對每個定時器每輪到期的誤差進行統(tǒng)計,記錄誤差發(fā)生在各個區(qū)間內(nèi)發(fā)生的次數(shù),最終計算誤差在各個區(qū)間分布的比例及平均誤差。測試結(jié)果如表1、表2及圖4、圖5所示。其中,表 1中平均誤差為 14.0 μs,最大誤差為6 677 μs;表2中平均誤差為24.9 ms,最大誤差為67.0 ms。

    表1 本文系統(tǒng)測試結(jié)果

    表2 posix-timer測試結(jié)果

    圖4 本文系統(tǒng)實驗結(jié)果

    圖5 posix-timer實驗結(jié)果

    從表1、圖4與表2、圖5的對比看出,在ARM平臺下,本文系統(tǒng)與posix-timer在誤差方面相比取得明顯的改進,posix-timer的定時誤差在毫秒級別,本文系統(tǒng)的定時誤差,被降低到了微秒級別。

    5 結(jié)束語

    本文針對在ARM平臺下用戶態(tài)定時器誤差較大,及傳統(tǒng)用戶態(tài)定時器系統(tǒng)在定時器使用規(guī)模較大時導(dǎo)致的內(nèi)核態(tài)用戶態(tài)頻繁切換的問題,設(shè)計并實現(xiàn)了一種新型的用戶態(tài)定時器方案。該方案避免了通過系統(tǒng)調(diào)用進行定時器操作時不必要的信號傳遞,有效緩解了狀態(tài)頻繁切換問題,保持微秒級別的定時精度,將定時誤差降低至微秒級別,并且為其他平臺尤其是只有全局時鐘設(shè)備的平臺上的定時器設(shè)計提供了一種參考方案。

    [1] Kwon K,SugayaM,NakajimaT.AnalysisofHigh Resolution Timer Latency Using Kernel Analysis System in Embedded System[C]//Proceedingsof2009 IEEE Software Technologies for Future Dependable Distributed Systems.[S.1.]:IEEE Press,2009:122-126.

    [2] 王文竹,郭 華,吳慶波.基于PowerPC的高精度定時器設(shè)計與實現(xiàn)[J].計算機工程,2010,36(16): 267-269.

    [3] 王 霞,馬忠梅,何小慶,等.提高嵌入式 Linux時鐘精度的方法[J].計算機工程,2006,32(23):70-72.

    [4] Hill R,Srinivasan B,Pather S,et al.Temporal Resolution and Real-time Extensions to Linux[R].Information and Telecommunication Technology Center,Electrical Engineering and Computer Science,University of Kansas.Technologies Report:ITTC-FY98-TR-11510-03,1998.

    [5] 李小群,趙慧斌,葉以民,等.Linux實時調(diào)度方案的設(shè)計與實現(xiàn) [J].計算機研究與發(fā)展,2003,40(5): 728-733.

    [6] Srinivasan B,Pather S,Hill R,et al.A Firm Real-time System Implementation Using Commercial Off-the-shelf Hardware and Free Software[C]//Proceedings of the 4th IEEE Real-time Technology and Applications Symposium. [S.1.]:IEEE Press,1998:112-119.

    [7] Gracioli G,Santos D M,de Matos R,et al.One-shot Time Management Analysis in Epos[C]//Proceedings of IEEE SCCC’08.[S.1.]:IEEE Press,2008:92-99.

    [8] Gleixner T,Niehaus D. Hrtimers and Beyond: Transformingthe Linux Time Subsystems[C]// Proceedings of the 8th Linux Symposium.Ottawa, Canada:[s.n.],2006:333-346.

    [9] 李 群.Linux2.6內(nèi)核新型高精度定時器的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2007.

    [10] 周 鵬,周明天.Linux內(nèi)核中一種高精度定時器的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2006,16(4):73-78.

    [11] Michael M M.CAS-based Lock-free Algorithm for Shared Deques[C]//Proceedings ofEuro-Par’03.Berlin, Germany:Springer,2003:651-660.

    [12] 楊東升,張連法.改進型鎖無關(guān)雙端隊列的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2012,21(3):125-129.

    編輯 索書志

    Implementation of a User-mode Timer in Multi-core ARM Platform

    YU Shixianga,b,c,GU Naijiea,b,c,ZHANG Xua,b,c,CAO Yuea,b,c
    (a.School of Computer Science and Technology;b.Anhui Province Key Laboratory of Computing and Communication Software; c.Institute of Advanced Technology,University of Science and Technology of China,Hefei 230027,China)

    In the ARM platform,the delay of Linux’s posix-timer is big,and can not fit the requirement of real-time system.In addition,traditional Linux user-mode timer provides service to process via system call and signal so that the process switches between kernel-mode and user-mode frequently when the scale of timer being used is very large.To solve these problems,this paper designs and implements a new user-mode timer system in multi-core ARM platform.By using a novel time wheel data structure and providing service to process via sharing memory between kernel-mode and user-mode,the new system avoids the transmission of unnecessary signal,and relives the frequent state switching effectively.Experimental results show that the new system keeps the precision of the timer in micro-second and offers much smaller delay than the posix-timer.

    Linux user-mode;timer;multi-core;ARM platform;time wheel;shared memory

    1000-3428(2015)01-0019-05

    A

    TP391

    10.3969/j.issn.1000-3428.2015.01.004

    “核高基”重大專項(2009ZX01028-002-003-005);高等學(xué)校學(xué)科創(chuàng)新引智計劃基金資助項目(B07033)。

    喻詩祥(1990-),男,碩士研究生,主研方向:程序優(yōu)化技術(shù);顧乃杰(通訊作者),教授、博士生導(dǎo)師;張 旭,博士研究生;曹 越,碩士研究生。

    2014-02-21

    2014-03-20 E-mail:ysx053@mail.ustc.edu.cn

    中文引用格式:喻詩祥,顧乃杰,張 旭,等.一種多核ARM平臺下用戶態(tài)定時器的實現(xiàn)[J].計算機工程,2015, 41(1):19-23.

    英文引用格式:Yu Shixiang,Gu Naijie,Zhang Xu,et al.Implementation of a User-mode Timer in Multi-core ARM Platform[J].Computer Engineering,2015,41(1):19-23.

    猜你喜歡
    共享內(nèi)存鏈表數(shù)據(jù)結(jié)構(gòu)
    通過QT實現(xiàn)進程間的通信
    基于二進制鏈表的粗糙集屬性約簡
    跟麥咭學(xué)編程
    基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
    基于PCI總線的多處理器協(xié)同機制研究
    科技風(2017年20期)2017-07-10 18:56:06
    “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
    高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
    中國市場(2016年45期)2016-05-17 05:15:48
    QNX下PEX8311多路實時數(shù)據(jù)采集的驅(qū)動設(shè)計
    電子世界(2014年21期)2014-04-29 06:41:36
    鏈表方式集中器抄表的設(shè)計
    電測與儀表(2014年1期)2014-04-04 12:00:22
    TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
    avwww免费| 亚洲av免费高清在线观看| av视频在线观看入口| 日韩 亚洲 欧美在线| 国产精品永久免费网站| 久久99热这里只有精品18| 在线a可以看的网站| 女的被弄到高潮叫床怎么办| 97人妻精品一区二区三区麻豆| 网址你懂的国产日韩在线| 日本爱情动作片www.在线观看 | 人妻少妇偷人精品九色| 成人亚洲精品av一区二区| 赤兔流量卡办理| 老熟妇乱子伦视频在线观看| 乱码一卡2卡4卡精品| 熟女人妻精品中文字幕| 国产亚洲av嫩草精品影院| 高清毛片免费观看视频网站| 美女cb高潮喷水在线观看| 国产美女午夜福利| 欧美丝袜亚洲另类| 欧洲精品卡2卡3卡4卡5卡区| 欧美极品一区二区三区四区| 丝袜喷水一区| 国产亚洲精品av在线| 伊人久久精品亚洲午夜| 成年女人看的毛片在线观看| 久久热精品热| 婷婷色综合大香蕉| 国产色爽女视频免费观看| 欧美一级a爱片免费观看看| 免费一级毛片在线播放高清视频| 免费人成在线观看视频色| 久久精品国产99精品国产亚洲性色| 欧美xxxx性猛交bbbb| 美女xxoo啪啪120秒动态图| 国产黄a三级三级三级人| 嫩草影视91久久| 成人特级黄色片久久久久久久| 亚洲av二区三区四区| 国产精品1区2区在线观看.| 在线天堂最新版资源| 看非洲黑人一级黄片| 俄罗斯特黄特色一大片| 久久6这里有精品| 欧美xxxx性猛交bbbb| 国产精品野战在线观看| 99久久久亚洲精品蜜臀av| 亚洲av美国av| 国内精品宾馆在线| 真实男女啪啪啪动态图| 麻豆久久精品国产亚洲av| 精品乱码久久久久久99久播| 禁无遮挡网站| 日韩国内少妇激情av| 日本-黄色视频高清免费观看| 久久久成人免费电影| 亚洲欧美日韩卡通动漫| 亚洲国产精品国产精品| 国产午夜福利久久久久久| 我的女老师完整版在线观看| 99久国产av精品国产电影| 国产综合懂色| 国内精品美女久久久久久| 日日撸夜夜添| 麻豆成人午夜福利视频| 18+在线观看网站| 亚洲精品日韩在线中文字幕 | 最后的刺客免费高清国语| 内地一区二区视频在线| 国产精品久久久久久久电影| a级毛片免费高清观看在线播放| 18禁裸乳无遮挡免费网站照片| 在线播放国产精品三级| 亚洲一区二区三区色噜噜| 亚洲一级一片aⅴ在线观看| videossex国产| 欧美国产日韩亚洲一区| 国产极品精品免费视频能看的| 国产精品久久久久久精品电影| 国产成人a∨麻豆精品| 蜜桃久久精品国产亚洲av| 99久久九九国产精品国产免费| 国产一区二区在线观看日韩| 在线观看午夜福利视频| 亚洲人成网站在线播| 亚洲美女搞黄在线观看 | 一区福利在线观看| 精品国产三级普通话版| 男人舔奶头视频| 日韩欧美 国产精品| 一进一出抽搐gif免费好疼| 嫩草影视91久久| 看片在线看免费视频| 欧美潮喷喷水| 国产欧美日韩精品一区二区| 国产精品不卡视频一区二区| 伦理电影大哥的女人| 国产精品亚洲一级av第二区| 国产在线男女| 精品久久久久久久久久免费视频| 一本精品99久久精品77| 欧美另类亚洲清纯唯美| 久久久国产成人精品二区| 校园春色视频在线观看| 干丝袜人妻中文字幕| 成年女人毛片免费观看观看9| 午夜免费男女啪啪视频观看 | 精品日产1卡2卡| 久久久久国产精品人妻aⅴ院| 人人妻,人人澡人人爽秒播| 色综合亚洲欧美另类图片| 香蕉av资源在线| 亚洲精品色激情综合| 长腿黑丝高跟| a级毛片a级免费在线| 一级黄片播放器| 亚洲国产日韩欧美精品在线观看| 亚洲欧美成人综合另类久久久 | 舔av片在线| 亚洲一区高清亚洲精品| 亚洲成人av在线免费| 99久久中文字幕三级久久日本| 禁无遮挡网站| 久久久久免费精品人妻一区二区| 男女做爰动态图高潮gif福利片| 久久午夜福利片| 丝袜喷水一区| av在线观看视频网站免费| 欧美日韩乱码在线| 中文在线观看免费www的网站| 国产视频一区二区在线看| 亚洲av免费在线观看| 日韩亚洲欧美综合| 亚洲性久久影院| 久久国产乱子免费精品| 一级毛片我不卡| 午夜精品一区二区三区免费看| 国产女主播在线喷水免费视频网站 | 人人妻,人人澡人人爽秒播| 少妇裸体淫交视频免费看高清| 国产成人影院久久av| 色综合站精品国产| 一卡2卡三卡四卡精品乱码亚洲| 亚洲经典国产精华液单| 国产高清视频在线观看网站| 蜜桃亚洲精品一区二区三区| 久久精品91蜜桃| 欧美一区二区国产精品久久精品| 免费黄网站久久成人精品| 亚洲欧美精品自产自拍| 深夜精品福利| 最近手机中文字幕大全| 国产伦一二天堂av在线观看| 国产一区二区在线观看日韩| 亚洲成人久久爱视频| 国产午夜精品论理片| 婷婷六月久久综合丁香| 一进一出抽搐动态| 国产精品乱码一区二三区的特点| 国产高清视频在线播放一区| 九九久久精品国产亚洲av麻豆| a级毛片免费高清观看在线播放| 麻豆国产av国片精品| 国产黄色小视频在线观看| 老熟妇仑乱视频hdxx| 少妇人妻一区二区三区视频| 国产精品一及| 三级毛片av免费| 少妇熟女aⅴ在线视频| 国产精品av视频在线免费观看| 亚洲av免费高清在线观看| 国产精品人妻久久久久久| 久久精品夜夜夜夜夜久久蜜豆| 午夜精品在线福利| 成人高潮视频无遮挡免费网站| 色吧在线观看| 欧美成人精品欧美一级黄| 亚洲中文字幕日韩| 欧美日韩乱码在线| 国产av麻豆久久久久久久| 日本色播在线视频| 亚洲欧美中文字幕日韩二区| 欧美最新免费一区二区三区| 欧美性感艳星| 午夜精品一区二区三区免费看| 最好的美女福利视频网| 99久久中文字幕三级久久日本| 国产精品嫩草影院av在线观看| 中国美白少妇内射xxxbb| 久久亚洲精品不卡| 成年免费大片在线观看| 在线观看免费视频日本深夜| 亚洲av一区综合| 乱码一卡2卡4卡精品| 亚洲av中文av极速乱| 99久久无色码亚洲精品果冻| 国产精品电影一区二区三区| 国产伦精品一区二区三区视频9| 日韩 亚洲 欧美在线| 伦理电影大哥的女人| 国产一区二区在线av高清观看| 亚洲av不卡在线观看| 国产成人精品久久久久久| 美女xxoo啪啪120秒动态图| 中文在线观看免费www的网站| av天堂在线播放| 美女内射精品一级片tv| 国产伦一二天堂av在线观看| 男女边吃奶边做爰视频| 国产 一区 欧美 日韩| 亚洲乱码一区二区免费版| 亚洲精品久久国产高清桃花| 内射极品少妇av片p| 久久久久久久久久黄片| 成人鲁丝片一二三区免费| 18禁裸乳无遮挡免费网站照片| 久久草成人影院| 在线观看66精品国产| 狂野欧美激情性xxxx在线观看| 高清毛片免费看| 日韩精品青青久久久久久| 国产精品久久久久久av不卡| 91狼人影院| 日本精品一区二区三区蜜桃| 色尼玛亚洲综合影院| 波多野结衣高清无吗| 在线观看午夜福利视频| 婷婷亚洲欧美| 免费高清视频大片| aaaaa片日本免费| 亚洲经典国产精华液单| 国产黄色小视频在线观看| 国产探花在线观看一区二区| 久久久久久伊人网av| aaaaa片日本免费| 久久精品91蜜桃| 亚洲七黄色美女视频| 99精品在免费线老司机午夜| 97超视频在线观看视频| 亚洲av电影不卡..在线观看| 午夜影院日韩av| 在现免费观看毛片| 亚洲国产精品合色在线| 黄色视频,在线免费观看| 老女人水多毛片| 国产一区二区三区av在线 | 99热这里只有是精品在线观看| 亚洲专区国产一区二区| 亚洲欧美日韩卡通动漫| 国产伦一二天堂av在线观看| 波多野结衣高清作品| 欧美另类亚洲清纯唯美| 亚洲精品日韩av片在线观看| 国产中年淑女户外野战色| 久久久久免费精品人妻一区二区| 99视频精品全部免费 在线| 日韩制服骚丝袜av| 国产片特级美女逼逼视频| 亚洲av中文字字幕乱码综合| 国产av在哪里看| 美女黄网站色视频| 欧美色视频一区免费| 亚洲av中文字字幕乱码综合| av天堂在线播放| 狠狠狠狠99中文字幕| 蜜桃久久精品国产亚洲av| 永久网站在线| 18禁在线无遮挡免费观看视频 | 欧美成人一区二区免费高清观看| 色综合色国产| 亚洲七黄色美女视频| 免费av观看视频| 黑人高潮一二区| 一级av片app| 国产乱人视频| 老司机影院成人| 欧美最新免费一区二区三区| 69av精品久久久久久| 人人妻人人看人人澡| 免费av毛片视频| 三级毛片av免费| 国产极品精品免费视频能看的| 卡戴珊不雅视频在线播放| 18+在线观看网站| 欧美精品国产亚洲| 精品久久久噜噜| 九九久久精品国产亚洲av麻豆| 性欧美人与动物交配| 久久久久久九九精品二区国产| 插阴视频在线观看视频| 国产老妇女一区| 亚洲欧美日韩卡通动漫| 日日摸夜夜添夜夜添av毛片| 床上黄色一级片| 久久久a久久爽久久v久久| 一区福利在线观看| 亚洲人成网站在线播| 日韩欧美精品v在线| 亚洲人与动物交配视频| 欧美一区二区精品小视频在线| 高清毛片免费观看视频网站| a级一级毛片免费在线观看| 男人舔女人下体高潮全视频| 老司机午夜福利在线观看视频| 亚洲激情五月婷婷啪啪| 国产美女午夜福利| 在线观看av片永久免费下载| 别揉我奶头~嗯~啊~动态视频| 99视频精品全部免费 在线| av视频在线观看入口| 国产伦一二天堂av在线观看| 综合色av麻豆| 亚洲精华国产精华液的使用体验 | 麻豆国产97在线/欧美| 日韩欧美精品免费久久| 一本精品99久久精品77| 国产午夜福利久久久久久| 欧美性感艳星| 欧美中文日本在线观看视频| 国内精品一区二区在线观看| a级毛片a级免费在线| 亚洲丝袜综合中文字幕| 国产一区二区激情短视频| 欧美一级a爱片免费观看看| 国产私拍福利视频在线观看| 最近最新中文字幕大全电影3| 国产蜜桃级精品一区二区三区| 国产单亲对白刺激| 亚洲第一区二区三区不卡| 精品久久久久久久久av| 亚洲精品久久国产高清桃花| 国内精品久久久久精免费| av天堂在线播放| 少妇裸体淫交视频免费看高清| 日日摸夜夜添夜夜添小说| 亚洲自偷自拍三级| 欧美一级a爱片免费观看看| 久久中文看片网| 直男gayav资源| 精品人妻视频免费看| 99在线视频只有这里精品首页| 国产午夜精品论理片| 欧美性猛交黑人性爽| 天堂网av新在线| 精品乱码久久久久久99久播| 99热这里只有是精品50| 国产精品人妻久久久影院| 国产又黄又爽又无遮挡在线| 久久久久久伊人网av| 精品日产1卡2卡| 97人妻精品一区二区三区麻豆| 欧美丝袜亚洲另类| 亚洲自拍偷在线| aaaaa片日本免费| h日本视频在线播放| 亚洲自偷自拍三级| 欧美色视频一区免费| 午夜久久久久精精品| 精华霜和精华液先用哪个| 国产精品一二三区在线看| 99国产极品粉嫩在线观看| 秋霞在线观看毛片| 日产精品乱码卡一卡2卡三| 在线免费十八禁| 两个人的视频大全免费| 国产美女午夜福利| 日产精品乱码卡一卡2卡三| 亚洲欧美中文字幕日韩二区| 小说图片视频综合网站| 性插视频无遮挡在线免费观看| h日本视频在线播放| 六月丁香七月| 全区人妻精品视频| 日本欧美国产在线视频| 人妻夜夜爽99麻豆av| 久久久国产成人免费| 1000部很黄的大片| 热99re8久久精品国产| 亚洲精品日韩在线中文字幕 | 婷婷精品国产亚洲av| 日韩强制内射视频| 亚洲无线观看免费| 嫩草影院新地址| 黄色配什么色好看| 97热精品久久久久久| 婷婷精品国产亚洲av| 一区二区三区免费毛片| 午夜福利在线观看免费完整高清在 | 久久午夜亚洲精品久久| 午夜福利高清视频| 亚洲成a人片在线一区二区| 日本与韩国留学比较| 免费看av在线观看网站| 男女下面进入的视频免费午夜| 九九爱精品视频在线观看| 色综合亚洲欧美另类图片| 老师上课跳d突然被开到最大视频| 国产私拍福利视频在线观看| 青春草视频在线免费观看| 少妇的逼好多水| 可以在线观看毛片的网站| 久久久久久国产a免费观看| 国产在线男女| 欧美日韩乱码在线| 亚洲av二区三区四区| 在线观看午夜福利视频| 麻豆久久精品国产亚洲av| 成人av在线播放网站| 国产三级中文精品| 欧美中文日本在线观看视频| 久久这里只有精品中国| 精品一区二区三区av网在线观看| 久久久精品94久久精品| 欧美日韩国产亚洲二区| 最近中文字幕高清免费大全6| 99久久九九国产精品国产免费| 亚洲婷婷狠狠爱综合网| 国内精品美女久久久久久| 男人的好看免费观看在线视频| 大又大粗又爽又黄少妇毛片口| 亚洲精品一区av在线观看| 俺也久久电影网| 不卡视频在线观看欧美| 国产男人的电影天堂91| 色av中文字幕| 国产乱人视频| 给我免费播放毛片高清在线观看| 大香蕉久久网| 美女xxoo啪啪120秒动态图| 久久久a久久爽久久v久久| 亚洲国产精品sss在线观看| 亚洲成人久久爱视频| 身体一侧抽搐| 精品免费久久久久久久清纯| 中文字幕av在线有码专区| 日日撸夜夜添| 欧美中文日本在线观看视频| 色哟哟哟哟哟哟| 午夜福利在线观看吧| 精品少妇黑人巨大在线播放 | 白带黄色成豆腐渣| 麻豆国产97在线/欧美| 国产综合懂色| 久久久成人免费电影| 成年av动漫网址| 亚洲自拍偷在线| 国产人妻一区二区三区在| 国产午夜福利久久久久久| 国产精品嫩草影院av在线观看| 国产 一区 欧美 日韩| 国产午夜精品久久久久久一区二区三区 | 亚洲人与动物交配视频| 亚洲美女黄片视频| 亚洲精品乱码久久久v下载方式| www.色视频.com| 国产乱人偷精品视频| 国产精品人妻久久久影院| 小蜜桃在线观看免费完整版高清| av在线播放精品| 亚洲人成网站在线播放欧美日韩| 别揉我奶头~嗯~啊~动态视频| 国产男靠女视频免费网站| 成人二区视频| 久久久久久久久大av| 一级毛片aaaaaa免费看小| 噜噜噜噜噜久久久久久91| 天天一区二区日本电影三级| 日本一二三区视频观看| 欧美一区二区精品小视频在线| 啦啦啦啦在线视频资源| 国产伦精品一区二区三区视频9| 亚洲欧美日韩高清在线视频| 黄色视频,在线免费观看| 看十八女毛片水多多多| 亚洲欧美日韩高清专用| 亚洲精品一区av在线观看| 高清毛片免费看| 国产欧美日韩精品亚洲av| 亚洲无线观看免费| 久久久久国内视频| 男人舔奶头视频| 女的被弄到高潮叫床怎么办| 国产高清视频在线观看网站| 色5月婷婷丁香| 久久午夜福利片| 91久久精品电影网| 特大巨黑吊av在线直播| 天堂动漫精品| 久久久久久久久久成人| 最后的刺客免费高清国语| 精品人妻偷拍中文字幕| 亚洲欧美精品综合久久99| 久久中文看片网| 午夜日韩欧美国产| 免费搜索国产男女视频| 三级国产精品欧美在线观看| 蜜桃亚洲精品一区二区三区| 亚洲18禁久久av| 搡老熟女国产l中国老女人| 久久天躁狠狠躁夜夜2o2o| 一进一出抽搐gif免费好疼| 欧美丝袜亚洲另类| 免费av毛片视频| 成人精品一区二区免费| 国产成人a∨麻豆精品| 一区二区三区高清视频在线| 久久草成人影院| 国产成年人精品一区二区| 色5月婷婷丁香| 日韩高清综合在线| 亚洲精品在线观看二区| 国产在视频线在精品| 日韩强制内射视频| 成人亚洲欧美一区二区av| 精品人妻熟女av久视频| 久久精品久久久久久噜噜老黄 | 欧洲精品卡2卡3卡4卡5卡区| 精品久久久久久久久av| 国产成人freesex在线 | 自拍偷自拍亚洲精品老妇| av黄色大香蕉| 最近视频中文字幕2019在线8| 在线a可以看的网站| 国产成人aa在线观看| 一区福利在线观看| a级一级毛片免费在线观看| 91久久精品国产一区二区成人| 12—13女人毛片做爰片一| 国产精品久久久久久久久免| 亚洲国产欧洲综合997久久,| 久久久久国产网址| 欧美xxxx性猛交bbbb| 精品少妇黑人巨大在线播放 | 久久久色成人| 黄色日韩在线| 美女内射精品一级片tv| 国产精品一区二区三区四区免费观看 | 最近的中文字幕免费完整| 此物有八面人人有两片| 国产亚洲欧美98| av在线观看视频网站免费| 久久久国产成人精品二区| 97人妻精品一区二区三区麻豆| 亚洲美女搞黄在线观看 | 看免费成人av毛片| 午夜爱爱视频在线播放| 亚洲欧美成人综合另类久久久 | 成人精品一区二区免费| 午夜福利在线观看吧| 99国产极品粉嫩在线观看| 国产大屁股一区二区在线视频| 嫩草影院精品99| 国产精品亚洲一级av第二区| 黄色一级大片看看| 午夜免费激情av| 亚洲精品在线观看二区| 久久人妻av系列| 欧美一区二区亚洲| 国内精品美女久久久久久| 女的被弄到高潮叫床怎么办| 久久久久久国产a免费观看| 欧美最新免费一区二区三区| 久久99热6这里只有精品| 国产成年人精品一区二区| 国内精品一区二区在线观看| 在线免费十八禁| 久久婷婷人人爽人人干人人爱| 亚洲欧美成人精品一区二区| 午夜福利在线观看吧| 人人妻人人澡欧美一区二区| 99热这里只有是精品50| 嫩草影院新地址| 22中文网久久字幕| 精品人妻一区二区三区麻豆 | 国产激情偷乱视频一区二区| 欧美成人一区二区免费高清观看| 日本与韩国留学比较| 黄色欧美视频在线观看| 欧美在线一区亚洲| 日韩精品青青久久久久久| 久久人妻av系列| 一区二区三区四区激情视频 | 成人漫画全彩无遮挡| 国产一级毛片七仙女欲春2| 晚上一个人看的免费电影| 亚洲国产欧美人成| 国产视频一区二区在线看| 99热这里只有是精品在线观看| 精品午夜福利在线看| 婷婷亚洲欧美| 秋霞在线观看毛片| 国产精品人妻久久久影院| 伦理电影大哥的女人| aaaaa片日本免费| 十八禁网站免费在线| 伦理电影大哥的女人| 97超级碰碰碰精品色视频在线观看| 我的女老师完整版在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 久久久国产成人免费| 色综合亚洲欧美另类图片| 一个人看视频在线观看www免费| 国产成人aa在线观看| 99久久中文字幕三级久久日本| 成人高潮视频无遮挡免费网站| 午夜激情福利司机影院| 国产成年人精品一区二区| 亚洲色图av天堂| 久久99热6这里只有精品| 国产黄a三级三级三级人| av天堂中文字幕网| 久久精品国产99精品国产亚洲性色| 国产精品日韩av在线免费观看|