《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 嵌入式Linux下的實時性增強(qiáng)方案
嵌入式Linux下的實時性增強(qiáng)方案
來源:電子技術(shù)應(yīng)用2010年第7期
單承剛
棗莊學(xué)院 計算機(jī)科學(xué)系, 山東 棗莊 277160
摘要: 分析了嵌入式Linux在實時性方面的不足,針對Linux2.6內(nèi)核的中斷運(yùn)行機(jī)制、內(nèi)核不可搶占性、自旋鎖及大內(nèi)核鎖等問題進(jìn)行研究,提出相應(yīng)的實時性改進(jìn)方法。測試表明,改進(jìn)后的嵌入式Linux實時性效果較好。
中圖分類號: TP316.8
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2010)07-0137-03
Methods of enhancing real-time performance of embedded Linux
SHAN Cheng Gang
Computer and Science Department, Zaozhuang University, Zaozhuang 277160, China
Abstract: This paper describes the limination of real-time performance of embedded Linux,and puts forward corresponding improved methods of Linux 2.6 kernel.These methods focus on interrupt running mechanism,kernel preemption, spinlock mechanism and big kernel lock..According to these tests, the real-time performance of improved embedded Linux is effective.
Key words : embeded Linux; real-time; interrupt; preemption; spinlock

    Linux以其功能強(qiáng)大、源代碼開放、支持多種硬件平臺、模塊化設(shè)計方案以及豐富的開發(fā)工具支持等特點廣泛應(yīng)用在嵌入式系統(tǒng)領(lǐng)域。作為嵌入式產(chǎn)品的操作系統(tǒng)平臺,具有較好的實時性、系統(tǒng)可靠性、任務(wù)處理隨機(jī)性是系統(tǒng)追求的目標(biāo),目前商業(yè)嵌入式操作系統(tǒng)實時性能可以滿足嵌入式領(lǐng)域的需求,但由于其價格昂貴,應(yīng)用受到了限制[1]。而嵌入式Linux以其非常低廉的價格,可以大大地降低成本,逐漸成為嵌入式操作系統(tǒng)的首選。但由于其在實時應(yīng)用領(lǐng)域的技術(shù)障礙,要應(yīng)用在嵌入式領(lǐng)域,還必須對Linux內(nèi)核作必要的改進(jìn)。本文以S3C2410+Linux作為移動機(jī)器人操作平臺,為了提高機(jī)器人任務(wù)處理的實時性,針對影響Linux OS實時性能的若干方面進(jìn)行研究,并利用相應(yīng)的解決方法基于標(biāo)準(zhǔn)Linux2.6內(nèi)核加以實現(xiàn),最后通過測試,驗證了此改進(jìn)方法的效果。
1 Linux內(nèi)核實時性分析
1.1 Linux內(nèi)核制約實時性的因素

    衡量操作系統(tǒng)實時性的指標(biāo)主要有中斷延遲和搶占延遲。嵌入式系統(tǒng)中很多實時任務(wù)是靠中斷驅(qū)動的,中斷事件必須在限定的時限內(nèi)處理,否則將產(chǎn)生災(zāi)難性的后果。大多數(shù)實時系統(tǒng)都是處理一些周期性的或非周期性的重復(fù)事件,事件產(chǎn)生的頻度就確定了任務(wù)的執(zhí)行時限,因此每次事件發(fā)生時,相應(yīng)的處理任務(wù)必須及時響應(yīng)處理,否則將無法滿足時限[2]。搶占延遲就反映了系統(tǒng)的響應(yīng)及時程度。針對Linux內(nèi)核,中斷關(guān)閉及中斷優(yōu)先級執(zhí)行機(jī)制、內(nèi)核不可搶占性、自旋鎖(spinlock)及大內(nèi)核鎖及一些O(n)的任務(wù)調(diào)度算法影響了系統(tǒng)的實時性能。
1.2 現(xiàn)存增強(qiáng)Linux內(nèi)核實時性的技術(shù)
    多年來,Linux實時性改進(jìn)技術(shù)的發(fā)展主要有兩種技術(shù)方案:(1)直接修改Linux內(nèi)核。針對內(nèi)核數(shù)據(jù)結(jié)構(gòu)、調(diào)度函數(shù)、中斷方式進(jìn)行改動,重新設(shè)計一個由優(yōu)先級驅(qū)動的實時調(diào)度器,替換原有Linux內(nèi)核中的進(jìn)程調(diào)度器sched.c。這一方案主要是針對中斷機(jī)制、任務(wù)調(diào)度算法進(jìn)行改進(jìn)的,較為成功的案例為Kansas大學(xué)開發(fā)的Kurt-Linux。Kurt提高了Linux系統(tǒng)中的實時精度,將時鐘芯片設(shè)置為單觸發(fā)狀態(tài)。對于實時任務(wù)的調(diào)度,Kurt-Linux采用基于時間的靜態(tài)實時CPU調(diào)度算法。實時任務(wù)在設(shè)計階段就需要明確地說明其實時事件要發(fā)生的時間。這種調(diào)度算法對于那些循環(huán)執(zhí)行的任務(wù)能夠取得較好的調(diào)度效果;(2)在Linux內(nèi)核之外進(jìn)行實時性擴(kuò)展,添加一個實時內(nèi)核。實時內(nèi)核接管硬件所有中斷,并依據(jù)是否為實時任務(wù)給予響應(yīng)。Fsm Labs公司開發(fā)的RTLinux就是依據(jù)這種策略開發(fā)設(shè)計的[3]。以上論述的兩種技術(shù)方案有其可借鑒之處,但如果綜合考慮任務(wù)響應(yīng)、內(nèi)核可搶占性、實時調(diào)度策略等都將影響操作系統(tǒng)的實時性能,因此,這兩種技術(shù)還不能很好地滿足實時性要求。為了增強(qiáng)嵌入式Linux實時性能,下面將介紹中斷機(jī)制、內(nèi)核的搶占性以及大內(nèi)核鎖等相關(guān)問題。
2 Linux實時性改進(jìn)方法
 Linux2.4及以前版本內(nèi)核是不可搶占的,在Linux2.6中,內(nèi)核已經(jīng)可以搶占,實時性有所增強(qiáng)。但是內(nèi)核中仍然有不可搶占的區(qū)域,如自旋鎖spinlock保護(hù)的臨界區(qū)等。另外,影響內(nèi)核實時性能的因素還有中斷運(yùn)行機(jī)制、大內(nèi)核鎖機(jī)制以及調(diào)度算法等。
2.1 中斷運(yùn)行機(jī)制改進(jìn)
 在Linux標(biāo)準(zhǔn)內(nèi)核中,中斷是最高優(yōu)先級的執(zhí)行單元,硬件架構(gòu)決定了硬件中斷到來的時候在該中斷沒有被屏蔽的條件下必須處理。不管內(nèi)核當(dāng)時處理什么,即便是Linux中最高優(yōu)先級的實時進(jìn)程,只要有中斷發(fā)生,系統(tǒng)將立即響應(yīng)該事件并執(zhí)行相應(yīng)的中斷處理程序,這就大大削弱了Linux的實時性能。特別是系統(tǒng)有嚴(yán)重的網(wǎng)絡(luò)或I/O負(fù)載時,中斷將非常頻繁,實時任務(wù)將很難有機(jī)會運(yùn)行,這對于Linux的實時應(yīng)用來說是不可接受的。Linux采用的關(guān)中斷技術(shù)在關(guān)中斷區(qū)域使相應(yīng)實時任務(wù)得不到響應(yīng),增加了實時任務(wù)的中斷延遲。Linux實時化后自旋鎖變?yōu)榛コ怄i的技術(shù),但由于自旋鎖的中斷處理不能及時響應(yīng),降低了系統(tǒng)的實時性能。因此,借鑒Ingo Molnar實時補(bǔ)丁的實時化方法,采用中斷線程化技術(shù)改進(jìn)中斷運(yùn)行機(jī)制,中斷將作為內(nèi)核線程運(yùn)行而且賦予不同的實時優(yōu)先級,實時任務(wù)可以有比中斷線程更高的優(yōu)先級,這樣,實時任務(wù)就可以作為最高優(yōu)先級的執(zhí)行單元來運(yùn)行了,即使在嚴(yán)重負(fù)載下仍有實時性保證。另一方面,中斷處理線程也可以因為在內(nèi)核同步中得不到鎖而掛載到鎖的等待隊列中,很多關(guān)中斷就不必真正的禁止硬件中斷了,而是禁止內(nèi)核進(jìn)程搶占,從而減小了中斷延遲[4]。
 在初始化階段,常規(guī)中斷初始化和中斷線程化的初始化在start_kernel( )函數(shù)中都調(diào)用trap_init( )和init_IRQ( )兩個函數(shù)來初始化irq_desc_t結(jié)構(gòu)體,區(qū)別主要體現(xiàn)在內(nèi)核初始化創(chuàng)建init線程時,中斷線程化的中斷在init( )函數(shù)中還將調(diào)用init_hardirqs(kernel/irq/manage.c)來為每一個IRQ創(chuàng)建一個內(nèi)核線程,最高實時優(yōu)先級為50,依次類推直到25。因此,任何IRQ線程的最低實時優(yōu)先級為25,具體實現(xiàn)是通過kthread_create函數(shù)創(chuàng)建的。功能實現(xiàn)等同于如下代碼:
   void __init init_hardirqs(void)
   {   ……
        for (i = 0; i < NR_IRQS; i++) {  
                          //對于每一個中斷建立一個中斷線程
        irq_desc_t *desc = irq_desc + i;
            if(desc->action && !(desc->status & IRQ_NODELAY))
              //有IRQ_NODELAY標(biāo)志的中斷不允許線程化
                desc->thread = kthread_create(do_irqd,
                    desc, "IRQ %d", irq);     //建立線程
            &hellip;&hellip;
        }
    }
    static int do_irqd(void * __desc)
                          //分配中斷線程優(yōu)先級50~25
    {  &hellip;&hellip;
        /*Scale irq thread priorities from prio 50 to prio 25 */
        param.sched_priority = curr_irq_prio;
        if (param.sched_priority > 25)
        curr_irq_prio = param.sched_priority - 1;
       &hellip;&hellip;
    }
 在中斷處理階段當(dāng)中斷發(fā)生時,CPU調(diào)用do_IRQ( )函數(shù)來處理中斷,do_IRQ( )在做了必要的相關(guān)處理之后調(diào)用_do_IRQ( )。_do_IRQ( )主要功能為判斷該中斷是否已經(jīng)被線程化(核對終端描述符的狀態(tài)字段是否包含IRQ_NODELAY標(biāo)志),對于沒有線程化的中斷,將直接調(diào)用handle_IRQ_event( )函數(shù)來處理。功能實現(xiàn)等同于如下代碼:
   fastcall notrace unsigned int __do_IRQ(unsigned int irq,
        struct pt_regs *regs)
   {  &hellip;&hellip;
        if (redirect_hardirq(desc))
                //檢測是否為線程化中斷,若是則喚醒中斷線程
                goto out_no_end;
    &hellip;&hellip;
    action_ret = handle_IRQ_event(irq, regs, action);
                                  //處理非線程化中斷
           &hellip;&hellip;
   }
   int redirect_hardirq(struct irq_desc *desc)
                 //檢測irq_desc結(jié)構(gòu)體,判斷是否線程化
   {  &hellip;&hellip;
        if (!hardirq_preemption || (desc->status & IRQ_
                    NODELAY) || !desc->thread)
            return 0;
       &hellip;&hellip;
        if (desc->thread && desc->thread->state != TASK_
                RUNNING)
            wake_up_process(desc->thread);
        &hellip;&hellip;
   }
 針對已線程化的情況,調(diào)用wake_up_process( )函數(shù)喚醒中斷處理線程執(zhí)行,內(nèi)核線程將調(diào)用do_hardirq( )來處理相應(yīng)的中斷。具體實現(xiàn)是通過handle_IRQ_event( )函數(shù)直接調(diào)用相應(yīng)的中斷處理函數(shù)完成的。對于緊急的中斷(如時鐘中斷),內(nèi)核保持原來的中斷處理方式,而不為其創(chuàng)建中斷線程,這樣就保證了緊急中斷的快速響應(yīng)。
2.2 內(nèi)核可搶占性設(shè)計
 在Linux標(biāo)準(zhǔn)內(nèi)核中,因不具有可搶占性和導(dǎo)致較大的延遲,增加內(nèi)核的可搶占性能,可提高系統(tǒng)的實時任務(wù)處理能力。當(dāng)前修改Linux內(nèi)核提高實時性的方法主要有增加搶占點和改造成搶占式內(nèi)核兩種方法。增加搶占點方法是在內(nèi)核中插入搶占點,通過檢測搶占點調(diào)度標(biāo)志來決定是否進(jìn)行實時任務(wù)的調(diào)度。采用這種方法,在檢測搶占點標(biāo)志時大大增加了系統(tǒng)開銷,因此本方案采用直接改造Linux內(nèi)核的方法,通過修改自旋鎖為互斥鎖來提高內(nèi)核的可搶占性[5]。即借鑒Ingo Molnar的實時補(bǔ)丁的實時化方法,使用mutex互斥鎖來替換spinlock自旋鎖。使用mutex替換spinlock,可以讓spinlock可搶占。起初spinlock不可搶占性設(shè)計目的是避免死鎖,可搶占性設(shè)計可能導(dǎo)致競爭者與保持者的死鎖局面。中斷處理函數(shù)中也可以使用spinlock,如果spinlock已經(jīng)被某一進(jìn)程保持,則中斷處理函數(shù)無法進(jìn)行,從而形成死鎖。中斷線程化以后,中斷線程將掛在等待隊列上并放棄CPU讓別的線程或進(jìn)程來運(yùn)行,讓每個spinlock都有一個等待隊列,該等待隊列按進(jìn)程或線程優(yōu)先級排隊,如果一個進(jìn)程或線程競爭的spinlock已經(jīng)被另一個線程保持,它將把自己掛在該spinlock的優(yōu)先級化的等待隊列上,然后發(fā)生調(diào)度把CPU讓給別的進(jìn)程或線程。mutex替換spinlock后,spinlock結(jié)構(gòu)定義如下代碼:
    typedef struct {
        struct rt_mutex lock;            //新的實時互斥鎖
        unsigned int break_lock;
    } spinlock_t;
    其中struct rt_mutex結(jié)構(gòu)如下:
    struct rt_mutex {
        raw_spinlock_t wait_lock;
        struct plist wait_list;                  //優(yōu)先級等待隊列
        struct task_struct *owner;     //擁有該鎖進(jìn)程的信息
        int owner_prio;
        &hellip; &hellip;
    };
  在如上代碼中,類型raw_spinlock_t就是原來的spinlock_t。即代碼中的spinlock_t就是新設(shè)計的自旋鎖。rt_mutex結(jié)構(gòu)中,wait_list字段為優(yōu)先級等待隊列。在mutex使用中,當(dāng)遇到鎖住的臨界資源時,任務(wù)被掛起到wait_list中,臨界資源解鎖時等待任務(wù)被激活。臨界資源被保護(hù)的同時可以搶占。
    由于Linux內(nèi)核底層的臨界資源是不可搶占的,使用mutex替換spinlock的過程中,這部分可以保留,仍由不可搶占的spinlock保護(hù),如:保護(hù)硬件寄存器的鎖、調(diào)度器的運(yùn)行隊列鎖等。不可搶占的spinlock被重新命名為raw_spinlock_t。spin_lock被宏定義為:
 #define spin_lock(lock)  PICK_OP(raw_spinlock_t,spin,_lock,lock)
 函數(shù)PICK_OP支持兩種鎖共存機(jī)制,PICK_OP在編譯階段將鎖操作轉(zhuǎn)化為mutex或者spinlock:
   #define PICK_OP(type, optype, op, lock) \
          do { \
          if (TYPE_EQUAL((lock), type)) \
          _raw_##optype##op((type *)(lock)); \
          else if (TYPE_EQUAL(lock, spinlock_t)) \
          //調(diào)用gcc的內(nèi)嵌函數(shù)__builtin_types_compatible_p()
      _spin##op((spinlock_t *)(lock)); \
          else __bad_spinlock_type(); \
          } while (0)
         #define TYPE_EQUAL(lock, type) \
    __builtin_types_compatible_p(typeof(lock), type *)
  gcc的內(nèi)嵌函數(shù)__builtin_types_compatible_p用于判斷一個變量的類型是否為某指定的類型,如果類型為spinlock_t,將運(yùn)行函數(shù)_spin_lock;類型為raw_spinlock_t,將運(yùn)行函數(shù)_raw_spin_lock。
   實時rt_mutex在具體應(yīng)用中,一個高優(yōu)先級任務(wù)搶占該鎖的同時,把先前的鎖擁有者添加到互斥鎖等待隊列中,并在當(dāng)前擁有該鎖的任務(wù)task_struct中標(biāo)記等待該鎖的所有任務(wù);反之,不能得到該鎖就把當(dāng)前任務(wù)添加到鎖的優(yōu)先級等待隊列中,直到喚醒執(zhí)行。為了防止優(yōu)先級逆轉(zhuǎn),可以改變鎖的當(dāng)前擁有者的優(yōu)先級為鎖的等待隊列中任務(wù)的最高優(yōu)先級。
 rt_mutex可以使高優(yōu)先級任務(wù)利用搶占鎖進(jìn)入臨界區(qū),這樣內(nèi)核不可搶占區(qū)的數(shù)量和范圍大大縮小,內(nèi)核可搶占性有了很大的提高,且降低了實時高優(yōu)先級任務(wù)的搶占延遲,改善了系統(tǒng)的實時性能。
2.3 可搶占大內(nèi)核鎖設(shè)計
 大內(nèi)核鎖BKL(Big Kernel Lock)實質(zhì)上也是spinlock,它用于保護(hù)整個內(nèi)核,該鎖保持時間較長,對系統(tǒng)的實時性能影響很大[6]。采用Ingo Molnar的實時化方法,BKL使用semaphore實現(xiàn),結(jié)構(gòu)定義如下代碼:
         struct semaphore {
         atomic_t count;
         struct rt_mutex lock;              //實時互斥鎖的使用
        };
   由結(jié)構(gòu)體發(fā)現(xiàn),在BKL實現(xiàn)中利用了實時互斥鎖rt_mutex,在改進(jìn)后的spinlock結(jié)構(gòu)體spinlock_t中也利用了實時互斥鎖rt_mutex,因此可搶占大內(nèi)核鎖和新的spinlock共用了低層的處理代碼。使用semaphore之后,大內(nèi)核鎖就可搶占了。
3 內(nèi)核實時性測試
   針對Linux2.6內(nèi)核,本文并沒有作出對內(nèi)核調(diào)度算法的修正,只是探討了中斷運(yùn)行機(jī)制、自旋鎖及大內(nèi)核鎖技術(shù)在系統(tǒng)實時性能上的局限性,所以實驗測試主要測試中斷延遲時間和任務(wù)響應(yīng)時間。實驗環(huán)境: Intel 2 GHz CPU,256 DDR內(nèi)存,Kernel 2.6.22版本。測試結(jié)果如表1所示。

    由表可知,在中斷服務(wù)程序中寫入標(biāo)記,測試中斷觸發(fā)至中斷服務(wù)程序執(zhí)行平均響應(yīng)時間,標(biāo)準(zhǔn)Linux2.6內(nèi)核平均中斷響應(yīng)時間為182 &mu;s,改進(jìn)后Linux2.6內(nèi)核為14 &mu;s。采用開源軟件LMbench3.0 測試系統(tǒng)任務(wù)調(diào)度延遲時間,標(biāo)準(zhǔn)Linux2.6內(nèi)核平均任務(wù)響應(yīng)時間為1 260 &mu;s,改進(jìn)后Linux2.6內(nèi)核為162&mu;s。由此可見,改進(jìn)策略在一定程度上大大減小了中斷延遲和任務(wù)調(diào)度時間,有利于改善移動機(jī)器人任務(wù)處理的實時性能。
 本文基于Linux2.6內(nèi)核的關(guān)中斷、中斷優(yōu)先級、內(nèi)核的不可搶占性以及大內(nèi)核鎖保持時間過長等問題進(jìn)行了實時性分析,提出了相應(yīng)的改進(jìn)方法。利用中斷線程化、互斥鎖的應(yīng)用及大內(nèi)核鎖的改進(jìn)等技術(shù)提高了系統(tǒng)的實時性能,降低了內(nèi)核中斷延遲和調(diào)度延遲。改進(jìn)后的內(nèi)核在移動機(jī)器人控制器平臺中有很好的應(yīng)用價值,提高了機(jī)器人控制的實時性能。
參考文獻(xiàn)
[1]  吳軍,周轉(zhuǎn)運(yùn). 嵌入式Linux系統(tǒng)應(yīng)用基礎(chǔ)與開發(fā)范例[M].北京:人民郵電出版社,2007.
[2]  LOV R.Linux kernel development[M].陳莉君,等譯.北京: 機(jī)械工業(yè)出版社,2005.
[3]  鄒勇,王青,李明樹.Linux內(nèi)核的實時支持的研究與實現(xiàn)[J].計算機(jī)研究與發(fā)展,2002,39(4):466-472.
[4]  張玉芳,熊忠陽,王銀輝,等.Linux實時化設(shè)計方法研究[J].小型微型計算機(jī)系統(tǒng),2009,30(3):421-424.
[5]  吳嬌梅,李紅艷,吳保榮,等.改善嵌入式Linux 實時性能的方法研究[J].微計算機(jī)信息,2006(1-2):46-47.
[6]  厲海燕,李新明.Linux搶占式內(nèi)核的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2005,26(9):2395-2399.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美黑人粗大xxxxbbbb | 国产不卡免费视频 | 国产又大又粗又长 | 伊人66| 少妇大叫太大太粗太爽了 | www.色欧美| 豆国产95在线 | 亚洲 | av片在线免费看 | 成人亚洲精品久久久久软件 | 国产亚洲精品自拍 | 精品视频网站 | 精品亚洲欧美无人区乱码 | 狠狠干夜夜 | 国内精品久久久久影视 | 成人国内精品久久久久影院成.人国产9 | 日韩免费播放 | 黄色永久免费网站 | 国内乱子对白免费在线 | 日韩av男人的天堂 | 超碰女| 亚洲涩色| 大学生精油按摩做爰hd | 久久久久久久一区 | 国产9色在线 | 日韩 | 四虎国产精品永久在线 | 性xxxx| 国产欧美日韩综合精品一区二区 | 绿帽h啪肉np辣文 | 国产51人人成人人人人爽色哟哟 | 香港三级日本三级a视频 | 天天综合天天添夜夜添狠狠添 | 亚洲一区二区三区无码中文字幕 | 亚洲综合二区 | 北条麻妃一区二区三区在线 | 色噜噜狠狠一区二区三区 | 男女天堂av | 亚洲aaa视频 | 国产精品性生活 | 久久久无码人妻精品一区 | 久久精品av | 91精产国品一二三区在线观看 | 国产免费一区二区三区在线观看 | 污视频免费在线观看网站 | 岛国av网站| 国产成人精品一区二区三区 | 国产精品白嫩极品美女视频 | 污免费在线观看 | 亚洲美女啪啪 | 成人黄色在线观看视频 | 天天色综合色 | 欧美色图13p | 中文字幕视频一区 | 国产真实乱岳激情对白av | 人成午夜免费视频在线观看 | 国产精无久久久久久久免费 | 国产一级中文字幕 | 青青青草网站免费视频在线观看 | 婷婷四房色播 | 日韩欧美成人精品 | 国产精品欧美亚洲韩国日本久久 | 亚洲精品一区在线 | 亚洲欧美国产毛片在线 | 最新av在线 | 99精品国产综合久久久久久 | 久在操| 成 人 免费观看网站 | 精品1卡二卡三卡四卡老狼 国内大量偷窥精品视频 | 佐佐木明希奶水喷出在线视频 | 国产成人无码aⅴ片在线观看 | 成人玩具h视频 | 国产传媒毛片精品视频第一次 | 亚洲一区二区三区无码国产 | 女儿的朋友4在线观看 | 日韩特黄一级欧美毛片特黄 | 天天躁夜夜躁狠狠眼泪 | 色视频国产 | 成年人免费看的视频 | 亚洲精选在线 | 女人精69xxxⅹxx视频 | 国产精品传媒 | 久久综合九色综合欧洲98 | 午夜黄色影院 | 极品尤物魔鬼身材啪啪仙踪林 | 亚洲一区精品人人爽人人躁 | 天天躁日日躁狠狠躁av | 单亲与子性伦刺激对白视频 | 狠狠躁天天躁中文字幕无码 | 免费视频在线观看1 | 欧美黄色短视频 | 91小宝寻花一区二区三区 | 在线观看日韩一区 | 韩国精品一区二区三区四区 | 国产精品久久久久久久久婷婷 | 12一15性xxxx粉嫩国产 | 国产精品爽爽久久久久久豆腐 | 色狠狠av一区二区三区 | 亚洲成av人片天堂网无码 | 古代性色禁片在线播放 | 激情久久一区 | 青青毛片 | 日日噜噜噜噜夜夜爽亚洲精品 | 成人福利小视频 | 少妇精品久久久久久久久久 | 18禁黄久久久aaa片广濑美月 | 99国产精品久久久 | 女装男の子av在线播放 | 亚洲伊人久久精品影院 | 成人国产免费 | av中文字幕在线播放 | 国产欧美日韩综合精品一区二区 | 日韩综合在线观看 | 国产女主播在线播放 | 国产亚洲欧美日韩精品一区二区三区 | 中文幕无线码中文字蜜桃 | www.夜夜爱 | 国产成人精品三上悠亚 | 天天躁狠狠躁狠狠躁性色牛牛影视 | h片在线 | 中文字幕专区 | 999久久精品 | 3d同人18av黄漫网站 | 欧美精品亚洲精品日韩已满十八 | 国内精品久久久久影院日本资源 | 韩国三级hd中文字幕 | 黑人性受xxxx黑人xyx性爽 | 国色天香久久久久久久小说 | 日韩欧美网址 | 欧美日韩免费一区二区 | 欧美三级小说 | 国产欧美一级片 | 国产男女精品视频 | 亚洲免费视频播放 | 成a人v| 疯狂做受xxxx高潮不断 | 国产一区二区中文字幕 | 伊人久久无码中文字幕 | xxxxwww一片| 涩涩网址 | 一区二区三区人妻无码 | 欧美成人a交片免费看 | 国产手机在线 | 97性视频| 香蕉av一区 | 牛牛精品一区二区 | 天堂在线www天堂中文在线 | 日本人做爰全过程 | 精品无码一区二区三区的天堂 | 精品欧美黑人一区二区三区 | 舒淇三级露全乳视频在 | 国产欧美精品aaaaaa片 | 国产网址在线 | 国产免费一区二区 | 欧美色aⅴ欧美综合色 | 亚洲人亚洲人成电影网站色 | 精品国产91久久久久久久 | 波多野结衣一区二区三区免费视频 | 精品国偷自产在线 | 一级 黄 色 毛片 | 人妻夜夜添夜夜无码av | 开心激情五月婷婷 | 欧美性猛交99久久久久99按摩 | 欧美专区在线视频 | 18禁黄污吃奶免费看网站 | 中国壮男强迫野外china | 亚洲欧美激情网站 | 国产真人无码作爱视频免费 | 91午夜在线 | 99精品免费久久久久久久久 | 超碰综合 | 无码精品国产一区二区三区免费 | 午夜免费小视频 | yp在线观看视频网址入口 | 播金莲一级淫片aaaaaaa | 国产精品免费视频一区二区 | 久久国产剧情 | 男人狂躁女人爽的尖叫的免费视频 | 成人性生交大全免费中文版 | 国产欧美激情在线观看 | 亚洲乱码中文字幕在线 | 亚洲18禁私人影院 | 免费一区二区无码东京热 | 特级精品毛片免费观看 | 欧美一级在线观看视频 | 日本高清在线播放 | 日韩在线视频网址 | 99爱在线视频这里只有精品 | 中文无码一区二区不卡av | 全国最大成人免费视频 | 色翁荡息又大又硬又粗又爽电影 | 女人裸体特黄做爰的视频 | 亚洲欧美另类综合偷拍 | 日韩精品四区 | 欧美黑人又粗又大的性格特点 | 丁香婷婷在线观看 | 妺妺窝人体色777777 | 日本熟妇毛耸耸xxxxxx | 亚洲成人在线观看视频 | 欧美日韩中文国产 | 日本高清视频wwww色 | 久久久国产99久久国产久灭火器 | 国产毛片久久久久久国产毛片 | 欧产日产国产蜜网站 | 狠狠色噜噜狠狠狠7777奇米 | 娜娜麻豆国产电影 | 欧美日韩国产成人精品 | 黑人巨大精品欧美一区免费视频 | 国产乱人伦真实精品视频 | 五月天激情影院 | 久久精品视频中文字幕 | 天堂中文字幕av | 一本大道av伊人久久综合 | 一边摸一边抽搐一进一出视频 | 男女草比视频 | 国产国拍精品亚洲 | 日韩三级麻豆 | 51久久成人国产精品麻豆 | 久久成年视频 | 欧美国产另类 | 特及毛片| 女人的黄色片 | 清清草在线视频 | 亚洲最大黄色网址 | www.日本色| 污片在线免费看 | 亚洲欧美乱综合图片区小说区 | 日韩久久精品一区二区 | 色天堂视频 | 国精产品一品二品国精在线观看 | 欧洲一级视频 | 国产一级在线播放 | 国产老女人91精品一区 | 荡女精品导航 | 农村人伦偷精品视频a人人澡 | 日韩精品一区二区视频 | 天天躁日日躁狠狠躁2018小说 | 国产制服丝袜一区 | 亚洲欧美综合在线观看 | 国产日产久久久久久 | 国产精品人成视频免费播放 | 成人男女做爰免费视频网老司机 | 无遮挡色视频免费观看 | 青春草在线视频免费观看 | 中老年妇女性色视频 | 三级慰安女妇威狂放播 | 凹凸精品一区二区三区 | 午夜精品久久久久久不卡8050 | 国语对白xxxx乱大交 | 亚洲一级免费在线观看 | 日韩特级毛片 | 国偷自产中文字幕亚洲手机在线 | 老司机伊人| 国产v亚洲v天堂无码久久久 | 亚洲暴爽av天天爽日日碰 | www.日本色 | 免费人成xvideos在线视频 | 久久精品人妻无码一区二区三区 | 999久久久 | 伊人网伊人网 | 欧美精品在线视频 | 一级肉体全黄裸片 | 国精品人妻无码一区免费视频电影 | 黄色片在线看 | 青春草网站 | 精品三级av无码一区 | 成人高清免费观看mv | 91av免费看 | 日本美女一区 | 久久久久久久性潮 | 国产真实乱人偷精品人妻 | 日本三级aaa| 看全色黄大色黄大片大学生图片 | 韩国女主播av | 女仆裸体打屁屁羞羞免费 | 天干夜天干天天天爽2022 | 一级片在线免费 | 久久99精品国产麻豆蜜芽 | 欧洲裸体片| av东方在线 | 女同互慰高潮呻吟免费播放 | 黄色欧美日韩 | 五十老熟妇乱子伦免费观看 | 国产白浆视频 | 日韩极品视频 | 久久99精品国产自在现线小黄鸭 | 午夜h| 美女一区二区视频 | 日本免费在线观看 | 无码精品人妻一区二区三区影院 | 中文字幕在线三区 | 天堂在线www天堂在线 | 国产精品一久久香蕉国产线看观看 | 男女男精品视频站 | 精品成人久久久 | 成人免费视频一区二区 | 黄色激情毛片 | 国产一级片毛片 | 俺去俺来也www色官网 | 免费观看欧美猛交片 | 精品人妻系列无码人妻漫画 | 日韩毛片在线视频 | 国产黄a三级三级三级 | 99re在线精品 | 人间水蜜桃av五月色 | 日日碰狠狠添天天爽 | 在线一区二区三区做爰视频网站 | 免费一级a毛片夜夜看 | 饥渴少妇勾引水电工av | 日日免费视频 | 欧美激情内射喷水高潮 | 91精品国产综合婷婷香蕉 | 成人午夜视频免费 | 欧美最顶级丰满的aⅴ艳星 欧美最黄视频 | 成人在线播放网站 | 人善交video高清 | 波多野结衣av高清一区二区三区 | 精品国产一区二区在线 | 孕妇丨91丨九色 | 兔费看少妇性l交大片免费 97久久精品无码一区二区 | 欧美大片免费观看在线观看网站推荐 | 日韩精品一区三区 | 女厕厕露p撒尿八个少妇 | 99久久精品美女高潮喷水 | 日本护士╳╳╳hd少妇 | 香蕉视频官方网站 | 亚洲精品毛片一区二区三区 | 黄色大片一级片 | 黄色大片网站 | 亚洲欧美一区二区三区在线 | 无码专区天天躁天天躁在线 | 亚洲精品无码永久在线观看性色 | 久久久久亚洲精品 | 国产一区二区内射最近更新 | 欧美黑人性暴力猛交喷水黑人巨大 | 蜜臀99久久精品久久久久久软件 | 欧美激情第三页 | 亚洲人久久久 | 日韩乱论| 亚洲女同一区二区 | 亚洲人成人7777在线播放 | 天堂а√在线中文在线新版 | 第一页综合 | 中国大陆高清aⅴ毛片 | 最近中文字幕在线观看 | 欧美91在线| 久久国产精品二区 | 成人欧美一区二区三区在线观看 | 97超碰国产在线 | 亚洲逼逼| 污视频网站免费观看 | 国产又黄又硬又湿又黄的播出时间 | 成人在线观看免费网站 | 亚洲加勒比久久88色综合 | 国产91天堂素人搭讪系列 | 91青青视频| 日韩不卡在线观看 | 一本色道久久综合狠狠躁 | www超碰久久com| 亚洲啪啪网站 | 国产精品久久久久久免费播放 | 一本到在线观看视频 | 成长快手短视频在线观看 | 性欧美另类| 91精品综合| 日本网站在线看 | 一本一本久久a久久精品综合小说 | 蜜桃视频一区二区 | 欧美乱做爰xxxⅹ久久久 | 欧美专区日韩专区 | 污网站免费看 | 中文字幕第一页九 | 免费看欧美一级特黄a大片 免费看欧美中韩毛片影院 免费看片91 | 亚洲久热| 麻豆果冻传媒精品 | 午夜天堂精品久久久久 | 日韩成人毛片在线 | 久久日本香蕉一区二区三区 | 东京亚洲区卡不 | 91黄色大片 | 又大又长粗又爽又黄少妇视频 | 亚洲中文字幕无码不卡电影 | xx性欧美肥妇精品久久久久久 | 欧美国产日韩在线观看 | 亚洲熟妇无码爱v在线观看 又色又爽又黄18禁美女裸身无遮挡 | 午夜激情四射 | 加勒比成人在线 | 狠狠色丁香婷婷 | 亚洲精品一区二区五月天 | 五月婷婷视频在线观看 | 亚洲最大成人综合网 | 亚洲一区综合 | 少妇久久久久久人妻无码 | 香蕉久草 | 欧美日韩制服在线 | 2021av在线| 国模大尺度自拍 | 91久久精品一区二区二区 | 久久久久高潮综合影院 | 在线观看 一区 | 国产精品99久久久久久董美香 | 啪啪视屏| 在线а√天堂中文官网 | 久久加勒比亚洲精品一区 | 看黄色毛片 | av久久久| 99热精品国产一区二区在线观看 | 天天碰天天碰 | 日本xxxxx高潮少妇 | 国产av一区二区三区 | 久久99精品久久久久婷婷 | 亚洲再线 | 天天干天天噜 | 国产精品综合在线 | 日批大全 | 9色91| 依人久久 | 综合av在线 | 国产成人无码a区视频在线观看 | 国产91热爆ts人妖月奴 | 成人精品一区二区三区电影 | 国产乱视频在线观看 | 亚洲国产精品成人无码区 | 夜夜高潮天天爽欧美国产亚洲一区 | 草草影院在线播放 | 日本在线资源 | 日韩久久精品视频 | 中文字幕无码热在线视频 | 7k7k在线看片午夜 | 中文字幕+乱码+中文字幕一区 | 右手影院亚洲欧美 | 中文字幕久精品免费视频 | 色婷婷综合久久 | 玖玖精品在线视频 | 欧美日韩国产网站 | 中文字幕高清在线免费播放 | 最新不卡av| 免费观看羞羞视频网站 | 美女隐私黄www网站免费 | 国产精品久久久久久久久久久久久 | 综合网日日天干夜夜久久 | 国产高清精品在线 | 少妇视频网站 | 四虎影院在线观看免费 | 国产又黄又硬又湿又黄的故事 | 77成人影视| 国模大尺度一区二区三区 | 亚洲综合无码明星蕉在线视频 | 日韩精品第1页 | 久久公开视频 | 久久久综合网 | 亚洲天堂av一区二区三区 | 黄色成人在线免费观看 | 日韩特黄毛片 | 欧美大屁股xxxx高跟欧美黑人 | 国产精品入口久久 | 精品亚洲aⅴ在线观看 | 国产丰满果冻videossex | 亚洲黄色一区二区三区 | 男人一边吃奶一边做爰网站 | 亚洲成人第一 | 婷婷射精av这里只有精品 | 日本视频www| 九九色九九 | 日本中文字幕在线 | 天天综合网网欲色 | 亚洲精品午夜久久久久久久 | brazzers精品成人一区 | 日本一区二区三区在线观看 | 日本高清成本人视频一区 | 麻豆疯狂做受xxxx高潮视频 | 日日摸夜夜添夜夜添国产2020 | 天堂激情网 | 精品人妻无码一区二区三区换脸 | 91爱国产| 国产视频你懂得 | 香蕉视频在线播放 | 国产区日韩区欧美区 | 国产精品自在自线视频 | 国产欧美日韩精品一区二区三区 | 玩弄少妇肉体到高潮动态图 | 久久99精品久久久水蜜桃 | 国产激情一区二区三区四区 | 69视频在线观看免费 | 少妇高跟鞋做爰20p 少妇和黑人老外做爰av | 无码视频一区二区三区 | 亚洲日本在线观看 | 成人欧美一区二区三区 | 91大片淫黄大片在线天堂 | 色青网 | av无码免费永久在线观看 | 一卡二卡三卡在线视频 | 免费看成人aa片无码视频羞羞网 | 精品少妇久久 | 日本丶国产丶欧美色综合 | 欧美日韩国产在线观看 | 久久精品a亚洲国产v高清不卡 | 毛片av中文字幕一区二区 | 亚洲欧美日韩愉拍自拍 | 夜夜夜网| 无码粉嫩虎白一线天在线观看 | 国产天天操| 国产又色又爽又黄的免费软件 | 久久精品高清 | 毛片在线免费 | 杨幂一区二区国产精品 | 亚洲高潮| 国产探花一区二区 | 欧美午夜片欧美片在线观看 | 99视频一区二区 | 天堂а√8在线最新版在线 天堂а√在线地址 | 性感少妇av | 日韩精品无码视频一区二区蜜桃 | 一色av| 三级网站在线免费观看 | 在线日韩成人 | 24小时日本在线www免费的 | 中文无码人妻有码人妻中文字幕 | 东北话对白xxxx | 再深点灬舒服灬太大了快点91 | 日韩欧美不卡在线 | 婷婷亚洲天堂 | 91精品啪在线观看国产手机 | 波多野结衣丝袜 | 极品少妇网站 | 国产精品二 | 国产乱子伦一区二区三区四区五区 | 强壮公侵犯使我夜夜高潮 | 九九色精品 | 800av在线视频| 欧美精品久久99 | 日韩av免费网站 | 德国艳星videos极品hd | 久久久久久久99精品免费观看 | 一区二区三区成人久久爱 | 男女啪啪免费体验区 | 欧美色性视频 | 15—16女人毛片 | 色呦呦麻豆 | 久久久久久久久久久免费精品 | 日韩黄色影片 | 午夜性生活视频 | 欧美专区综合 | 香港三日本8a三级少妇三级99 | 丁香五精品蜜臀久久久久99网站 | 欧美国产在线看 | 欧美人与性动交α欧美精品 | 色综合久久88色综合天天人守婷 | 国产无线一二三四区手机 | 国产精品99久久久久久久久 | 出轨人妻毛片一级 | 久久婷婷五月综合色国产香蕉 | 欧美一级色片 | 国产激情久久久久久熟女老人av | 伊人www22综合色 | 亚洲精品一区二区在线观看 | 深夜视频在线免费观看 | 日日碰狠狠躁久久躁2023 | 越南少妇做受xxx片 越南性xxxx精品hd | 中文字幕在线不卡一区二区 | 国产人妻精品区一区二区三区 | 色噜噜亚洲男人的天堂 | 色yeye香蕉凹凸视频在线观看 | 男女午夜影院 | 免费无码肉片在线观看 | 在线视频你懂得 | 中文字幕在线乱 | 中文字幕无人区二 | 亚洲精品视频免费在线观看 | 91精品国产色综合久久 | 国产色网 | 玩弄japan白嫩少妇hd小说 | 国产麻豆一区 | 久久国产一区二区三区 | 337p人体粉嫩久久久红粉影视 | 色噜噜狠狠成人中文 | 国产一区二区丝袜 | 密桃成熟时在线观看 | 日韩精品视频久久 | 国产免费观看久久黄av片 | 日韩乱码人妻无码系列中文字幕 | 影音先锋婷婷 | 爽妇网国产精品 | 国产麻豆自拍 | 国产成人av一区二区三区不卡 | 青草青草久热 | 国产视频日本 | 丁香五月缴情综合网 | 日本一区二区网站 | 国产精品亚洲综合一区二区三区 | 亚洲一区二区三区国产 | 九九99靖品 | 成人精品亚洲 | 久久久亚洲国产天美传媒修理工 | 国产精品100 | 男ji大巴进入女人的视频 | 亚洲成a人片77777精品 | 欧洲一级黄 | jizz亚洲女人高潮大叫 | 精品乱码一区二区三四区视频 | 日本少妇毛耸耸毛多水多 | 成人天堂噜噜噜 | 日本免费一二区 | 成人免费视频一区二区 | 国产又猛又黄又爽三男一女 | 99在线成人精品视频 | 国产欧美一区二区三区不卡视频 | 国产视频69 | 欧美精产国品一二三区69堂 | 999成人网 | 精品欧美一区二区三区久久久 | 欧美做爰性生交视频 | 草1024榴社区成人 | 激情综合丁香五月 | 一边添奶一边摸pp爽快视频 | 青青青视频在线播放 | 精品人妻少妇一区二区三区在线 |