日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tasklets 机制浅析

發(fā)布時(shí)間:2025/4/5 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tasklets 机制浅析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 、Tasklets 機(jī)制基礎(chǔ)知識(shí)點(diǎn)

1、Taklets 機(jī)制概念

? ? ??Tasklets 機(jī)制是linux中斷處理機(jī)制中的軟中斷延遲機(jī)制。通常用于減少中斷處理的時(shí)間,將本應(yīng)該是在中斷服務(wù)程序中完成的任務(wù)轉(zhuǎn)化成軟中斷完成。

? ? ? 為了最大程度的避免中斷處理時(shí)間過長(zhǎng)而導(dǎo)致中斷丟失,有時(shí)候我們需要把一些在中斷處理中不是非常緊急的任務(wù)放在后面執(zhí)行,而讓中斷處理程序盡快返回。在老版本的 linux 中通常將中斷處理分為 top half handler 、 bottom half handler 。利用 top half handler 處理中斷必須處理的任務(wù),而 bottom half handler 處理不是太緊急的任務(wù)。

? ? ? 但是 linux2.6 以后的 linux 采取了另外一種機(jī)制,就是軟中斷來代替 bottom half handler 的處理。而 tasklet 機(jī)制正是利用軟中斷來完成對(duì)驅(qū)動(dòng) bottom half 的處理。 Linux2.6 中軟中斷通常只有固定的幾種: HI_SOFTIRQ( 高優(yōu)先級(jí)的 tasklet ,一種特殊的 tasklet) 、 TIMER_SOFTIRQ (定時(shí)器)、 NET_TX_SOFTIRQ (網(wǎng)口發(fā)送)、 NET_RX_SOFTIRQ (網(wǎng)口接收) 、 BLOCK_SOFTIRQ (塊設(shè)備)、 TASKLET_SOFTIRQ (普通 tasklet )。當(dāng)然也可以通過直接修改內(nèi)核自己加入自己的軟中斷,但是一般來說這是不合理的,軟中斷的優(yōu)先級(jí)比較高,如果不是在內(nèi)核處理頻繁的任務(wù)不建議使用。通常驅(qū)動(dòng)用戶使用 tasklet 足夠了。

? ? ? 機(jī)制流程:當(dāng)linux接收到硬件中斷之后,通過 tasklet 函數(shù)來設(shè)定軟中斷被執(zhí)行的優(yōu)先程度從而導(dǎo)致軟中斷處理函數(shù)被優(yōu)先執(zhí)行的差異性。

? ? ? 特點(diǎn):tasklet的優(yōu)先級(jí)別較低,而且中斷處理過程中可以被打斷。但被打斷之后,還能進(jìn)行自我恢復(fù),斷點(diǎn)續(xù)運(yùn)行。

?

2、Tasklets 解決什么問題?

a -- tasklet是I/O驅(qū)動(dòng)程序中實(shí)現(xiàn)可延遲函數(shù)的首選方法

b -- tasklet和工作隊(duì)列是延期執(zhí)行工作的機(jī)制,其實(shí)現(xiàn)基于軟中斷,但他們更易于使用,因而更適合與設(shè)備驅(qū)動(dòng)程序...tasklet是“小進(jìn)程”,執(zhí)行一些迷你任務(wù),對(duì)這些人物使用全功能進(jìn)程可能比較浪費(fèi)。

c -- tasklet是并行可執(zhí)行(但是是鎖密集型的)軟件中斷和舊下半?yún)^(qū)的一種混合體,這里既談不上并行性,也談不上性能。引入tasklet是為了替代原來的下半?yún)^(qū)。


? ? ??軟中斷是將操作推遲到未來時(shí)刻執(zhí)行的最有效的方法。但該延期機(jī)制處理起來非常復(fù)雜。因?yàn)槎鄠€(gè)處理器可以同時(shí)且獨(dú)立的處理軟中斷,同一個(gè)軟中斷的處理程序可以在幾個(gè)CPU上同時(shí)運(yùn)行。對(duì)軟中斷的效率來說,這是一個(gè)關(guān)鍵,多處理器系統(tǒng)上的網(wǎng)絡(luò)實(shí)現(xiàn)顯然受惠于此。但處理程序的設(shè)計(jì)必須是完全可重入且線程安全的。另外,臨界區(qū)必須用自旋鎖保護(hù)(或其他IPC機(jī)制),而這需要大量審慎的考慮。

? ? ?我自己的理解,由于軟中斷以ksoftirqd的形式與用戶進(jìn)程共同調(diào)度,這將關(guān)系到OS整體的性能,因此軟中斷在Linux內(nèi)核中也僅僅就幾個(gè)(網(wǎng)絡(luò)、時(shí)鐘、調(diào)度以及Tasklet等),在內(nèi)核編譯時(shí)確定。軟中斷這種方法顯然不是面向硬件驅(qū)動(dòng)的,而是驅(qū)動(dòng)更上一層:不關(guān)心如何從具體的網(wǎng)卡接收數(shù)據(jù)包,但是從所有的網(wǎng)卡接收的數(shù)據(jù)包都要經(jīng)過內(nèi)核協(xié)議棧的處理。而且軟中斷比較“硬”——數(shù)量固定、編譯時(shí)確定、操作函數(shù)必須可重入、需要慎重考慮鎖的問題,不適合驅(qū)動(dòng)直接調(diào)用,因此Linux內(nèi)核為驅(qū)動(dòng)直接提供了一種使用軟中斷的方法,就是tasklet。

軟中斷和 tasklet 的關(guān)系如下圖:

?

? ? ? ?上圖可以看出, ksoftirqd 是一個(gè)后臺(tái)運(yùn)行的內(nèi)核線程,它會(huì)周期的遍歷軟中斷的向量列表,如果發(fā)現(xiàn)哪個(gè)軟中斷向量被掛起了( pend ),就執(zhí)行對(duì)應(yīng)的處理函數(shù),對(duì)于 tasklet 來說,此處理函數(shù)就是 tasklet_action ,這個(gè)處理函數(shù)在系統(tǒng)啟動(dòng)時(shí)初始化軟中斷的就掛接了。Tasklet_action 函數(shù),遍歷一個(gè)全局的 tasklet_vec 鏈表(此鏈表對(duì)于 SMP 系統(tǒng)是每個(gè) CPU 都有一個(gè)),此鏈表中的元素為 tasklet_struct 。下面將介紹各個(gè)函數(shù)

?

二、tasklet數(shù)據(jù)結(jié)構(gòu)

? ? ? ? tasklet通過軟中斷實(shí)現(xiàn),軟中斷中有兩種類型屬于tasklet,分別是級(jí)別最高的HI_SOFTIRQ和TASKLET_SOFTIRQ。

? ? ? ?Linux內(nèi)核采用兩個(gè)PER_CPU的數(shù)組tasklet_vec[]和tasklet_hi_vec[]維護(hù)系統(tǒng)種的所有tasklet(kernel/softirq.c),分別維護(hù)TASKLET_SOFTIRQ級(jí)別和HI_SOFTIRQ級(jí)別的tasklet:

  • struct tasklet_head

  • {

  • struct tasklet_struct *head;

  • struct tasklet_struct *tail;

  • };

  • ?
  • static DEFINE_PER_CPU(struct tasklet_head, tasklet_vec);

  • static DEFINE_PER_CPU(struct tasklet_head, tasklet_hi_vec);

  • ?

    tasklet的核心結(jié)構(gòu)體如下(include/linux/interrupt.h):

  • struct tasklet_struct

  • {

  • struct tasklet_struct *next;

  • unsigned long state;

  • atomic_t count;

  • void (*func)(unsigned long);

  • unsigned long data;

  • };

  • ?

    各成員的含義如下:
    a -- next指針:指向下一個(gè)tasklet的指針。

    b -- state:定義了這個(gè)tasklet的當(dāng)前狀態(tài)。這一個(gè)32位的無符號(hào)長(zhǎng)整數(shù),當(dāng)前只使用了bit[1]和bit[0]兩個(gè)狀態(tài)位。其中,bit[1]=1表示這個(gè)tasklet當(dāng)前正在某個(gè)CPU上被執(zhí)行,它僅對(duì)SMP系統(tǒng)才有意義,其作用就是為了防止多個(gè)CPU同時(shí)執(zhí)行一個(gè)tasklet的情形出現(xiàn);bit[0]=1表示這個(gè)tasklet已經(jīng)被調(diào)度去等待執(zhí)行了。對(duì)這兩個(gè)狀態(tài)位的宏定義如下所示(interrupt.h)

  • enum

  • {

  • TASKLET_STATE_SCHED,

  • TASKLET_STATE_RUN

  • };

  • ?

    TASKLET_STATE_SCHED置位表示已經(jīng)被調(diào)度(掛起),也意味著tasklet描述符被插入到了tasklet_vec和tasklet_hi_vec數(shù)組的其中一個(gè)鏈表中,可以被執(zhí)行。TASKLET_STATE_RUN置位表示該tasklet正在某個(gè)CPU上執(zhí)行,單個(gè)處理器系統(tǒng)上并不校驗(yàn)該標(biāo)志,因?yàn)闆]必要檢查特定的tasklet是否正在運(yùn)行。

    ?

    c -- 原子計(jì)數(shù)count:對(duì)這個(gè)tasklet的引用計(jì)數(shù)值。NOTE!只有當(dāng)count等于0時(shí),tasklet代碼段才能執(zhí)行,也即此時(shí)tasklet是被使能的;如果count非零,則這個(gè)tasklet是被禁止的。任何想要執(zhí)行一個(gè)tasklet代碼段的人都首先必須先檢查其count成員是否為0。

    d -- 函數(shù)指針func:指向以函數(shù)形式表現(xiàn)的可執(zhí)行tasklet代碼段。

    e -- data:函數(shù)func的參數(shù)。這是一個(gè)32位的無符號(hào)整數(shù),其具體含義可供func函數(shù)自行解釋,比如將其解釋成一個(gè)指向某個(gè)用戶自定義數(shù)據(jù)結(jié)構(gòu)的地址值。

    ?

    ?

    三、tasklet操作接口

    ? ? ? ?tasklet對(duì)驅(qū)動(dòng)開放的常用操作包括:

    a -- 初始化,tasklet_init(),初始化一個(gè)tasklet描述符。

    b -- 調(diào)度,tasklet_schedule()和tasklet_hi_schedule(),將taslet置位TASKLET_STATE_SCHED,并嘗試激活所在的軟中斷。

    c -- 禁用/啟動(dòng),tasklet_disable_nosync()、tasklet_disable()、task_enable(),通過count計(jì)數(shù)器實(shí)現(xiàn)。

    d -- 執(zhí)行,tasklet_action()和tasklet_hi_action(),具體的執(zhí)行軟中斷。

    e -- 殺死,tasklet_kill()

    ? ? ? ?即驅(qū)動(dòng)程序在初始化時(shí),通過函數(shù)task_init建立一個(gè)tasklet,然后調(diào)用函數(shù)tasklet_schedule將這個(gè)tasklet放在 tasklet_vec鏈表的頭部,并喚醒后臺(tái)線程ksoftirqd。當(dāng)后臺(tái)線程ksoftirqd運(yùn)行調(diào)用__do_softirq時(shí),會(huì)執(zhí)行在中斷向量表softirq_vec里中斷號(hào)TASKLET_SOFTIRQ對(duì)應(yīng)的tasklet_action函數(shù),然后tasklet_action遍歷 tasklet_vec鏈表,調(diào)用每個(gè)tasklet的函數(shù)完成軟中斷操作。

    1、tasklet_int()函數(shù)實(shí)現(xiàn)如下(kernel/softirq.c)

    ? ? ?用來初始化一個(gè)指定的tasklet描述符

    ?

  • void tasklet_init(struct tasklet_struct *t,void (*func)(unsigned long), unsigned long data)

  • {

  • t->next = NULL;

  • t->state = 0;

  • atomic_set(&t->count, 0);

  • t->func = func;

  • t->data = data;

  • }

  • ?

    ?

    2、tasklet_schedule()函數(shù)

    ? ? ? 與tasklet_hi_schedule()函數(shù)的實(shí)現(xiàn)很類似,這里只列tasklet_schedule()函數(shù)的實(shí)現(xiàn)(kernel/softirq.c),都挺明白就不描述了:

  • static inline void tasklet_schedule(struct tasklet_struct *t)

  • {

  • if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state))

  • __tasklet_schedule(t);

  • }

  • ?
  • void __tasklet_schedule(struct tasklet_struct *t)

  • {

  • unsigned long flags;

  • local_irq_save(flags);

  • t->next = NULL;

  • *__this_cpu_read(tasklet_vec.tail) = t;

  • __this_cpu_write(tasklet_vec.tail, &(t->next));

  • raise_softirq_irqoff(TASKLET_SOFTIRQ);

  • local_irq_restore(flags);

  • }

  • ?

    該函數(shù)的參數(shù)t指向要在當(dāng)前CPU上被執(zhí)行的tasklet。對(duì)該函數(shù)的NOTE如下:

    a -- 調(diào)用test_and_set_bit()函數(shù)將待調(diào)度的tasklet的state成員變量的bit[0]位(也即TASKLET_STATE_SCHED位)設(shè)置為1,該函數(shù)同時(shí)還返回TASKLET_STATE_SCHED位的原有值。因此如果bit[0]為的原有值已經(jīng)為1,那就說明這個(gè)tasklet已經(jīng)被調(diào)度到另一個(gè)CPU上去等待執(zhí)行了。由于一個(gè)tasklet在某一個(gè)時(shí)刻只能由一個(gè)CPU來執(zhí)行,因此tasklet_schedule()函數(shù)什么也不做就直接返回了。否則,就繼續(xù)下面的調(diào)度操作。

    b -- 首先,調(diào)用local_irq_save()函數(shù)來關(guān)閉當(dāng)前CPU的中斷,以保證下面的步驟在當(dāng)前CPU上原子地被執(zhí)行。

    c -- 然后,將待調(diào)度的tasklet添加到當(dāng)前CPU對(duì)應(yīng)的tasklet隊(duì)列的首部。

    d -- 接著,調(diào)用__cpu_raise_softirq()函數(shù)在當(dāng)前CPU上觸發(fā)軟中斷請(qǐng)求TASKLET_SOFTIRQ。

    e -- 最后,調(diào)用local_irq_restore()函數(shù)來開當(dāng)前CPU的中斷。

    ?

    3、tasklet_disable()函數(shù)、task_enable()函數(shù)以及tasklet_disable_nosync()函數(shù)(include/linux/interrupt.h)

    ? ? ??使能與禁止操作往往總是成對(duì)地被調(diào)用的

  • static inline void tasklet_disable_nosync(struct tasklet_struct *t)

  • {

  • atomic_inc(&t->count);

  • smp_mb__after_atomic_inc();

  • }

  • ?
  • static inline void tasklet_disable(struct tasklet_struct *t)

  • {

  • tasklet_disable_nosync(t);

  • tasklet_unlock_wait(t);

  • smp_mb();

  • }

  • ?
  • static inline void tasklet_enable(struct tasklet_struct *t)

  • {

  • smp_mb__before_atomic_dec();

  • atomic_dec(&t->count);

  • }

  • ?

    ?

    4、tasklet_action()函數(shù)在softirq_init()函數(shù)中被調(diào)用:

  • void __init softirq_init(void)

  • {

  • ...

  • ?
  • open_softirq(TASKLET_SOFTIRQ, tasklet_action);

  • open_softirq(HI_SOFTIRQ, tasklet_hi_action);

  • }

  • ?

    tasklet_action()函數(shù)

  • static void tasklet_action(struct softirq_action *a)

  • {

  • struct tasklet_struct *list;

  • local_irq_disable();

  • list = __this_cpu_read(tasklet_vec.head);

  • __this_cpu_write(tasklet_vec.head, NULL);

  • __this_cpu_write(tasklet_vec.tail, &__get_cpu_var(tasklet_vec).head);

  • local_irq_enable();

  • ?
  • while (list)

  • {

  • struct tasklet_struct *t = list;

  • list = list->next;

  • if (tasklet_trylock(t))

  • {

  • if (!atomic_read(&t->count))

  • {

  • if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))

  • BUG();

  • t->func(t->data);

  • tasklet_unlock(t);

  • continue;

  • }

  • ?
  • tasklet_unlock(t);

  • }

  • ?
  • local_irq_disable();

  • t->next = NULL;

  • *__this_cpu_read(tasklet_vec.tail) = t;

  • __this_cpu_write(tasklet_vec.tail, &(t->next));

  • __raise_softirq_irqoff(TASKLET_SOFTIRQ);

  • local_irq_enable();

  • }

  • }

  • 注釋如下:

    ①首先,在當(dāng)前CPU關(guān)中斷的情況下,“原子”地讀取當(dāng)前CPU的tasklet隊(duì)列頭部指針,將其保存到局部變量list指針中,然后將當(dāng)前CPU的tasklet隊(duì)列頭部指針設(shè)置為NULL,以表示理論上當(dāng)前CPU將不再有tasklet需要執(zhí)行(但最后的實(shí)際結(jié)果卻并不一定如此,下面將會(huì)看到)。

    ②然后,用一個(gè)while{}循環(huán)來遍歷由list所指向的tasklet隊(duì)列,隊(duì)列中的各個(gè)元素就是將在當(dāng)前CPU上執(zhí)行的tasklet。循環(huán)體的執(zhí)行步驟如下:

    a -- 用指針t來表示當(dāng)前隊(duì)列元素,即當(dāng)前需要執(zhí)行的tasklet。

    b -- 更新list指針為list->next,使它指向下一個(gè)要執(zhí)行的tasklet。

    c -- 用tasklet_trylock()宏試圖對(duì)當(dāng)前要執(zhí)行的tasklet(由指針t所指向)進(jìn)行加鎖

    ? ? ??如果加鎖成功(當(dāng)前沒有任何其他CPU正在執(zhí)行這個(gè)tasklet),則用原子讀函atomic_read()進(jìn)一步判斷count成員的值。如果count為0,說明這個(gè)tasklet是允許執(zhí)行的,于是:

    ? ?(1)先清除TASKLET_STATE_SCHED位;

    ? ?(2)然后,調(diào)用這個(gè)tasklet的可執(zhí)行函數(shù)func;

    ? ?(3)執(zhí)行barrier()操作;

    ? ?(4)調(diào)用宏tasklet_unlock()來清除TASKLET_STATE_RUN位。

    ? (5)最后,執(zhí)行continue語句跳過下面的步驟,回到while循環(huán)繼續(xù)遍歷隊(duì)列中的下一個(gè)元素。如果count不為0,說明這個(gè)tasklet是禁止運(yùn)行的,于是調(diào)用tasklet_unlock()清除前面用tasklet_trylock()設(shè)置的TASKLET_STATE_RUN位。

    ? ??如果tasklet_trylock()加鎖不成功,或者因?yàn)楫?dāng)前tasklet的count值非0而不允許執(zhí)行時(shí),我們必須將這個(gè)tasklet重新放回到當(dāng)前CPU的tasklet隊(duì)列中,以留待這個(gè)CPU下次服務(wù)軟中斷向量TASKLET_SOFTIRQ時(shí)再執(zhí)行。為此進(jìn)行這樣幾步操作:

    ? (1)先關(guān)CPU中斷,以保證下面操作的原子性。

    ? (2)把這個(gè)tasklet重新放回到當(dāng)前CPU的tasklet隊(duì)列的首部;

    ? (3)調(diào)用__cpu_raise_softirq()函數(shù)在當(dāng)前CPU上再觸發(fā)一次軟中斷請(qǐng)求TASKLET_SOFTIRQ;

    ? (4)開中斷。

    c -- 最后,回到while循環(huán)繼續(xù)遍歷隊(duì)列。

    ?

    5、tasklet_kill()實(shí)現(xiàn)

  • void tasklet_kill(struct tasklet_struct *t)

  • {

  • if (in_interrupt())

  • printk("Attempt to kill tasklet from interruptn");

  • while (test_and_set_bit(TASKLET_STATE_SCHED, &t->state))

  • {

  • do {

  • yield();

  • } while (test_bit(TASKLET_STATE_SCHED, &t->state));

  • }

  • ?
  • tasklet_unlock_wait(t);

  • clear_bit(TASKLET_STATE_SCHED, &t->state);

  • }

  • ?

    ?

    四、一個(gè)tasklet調(diào)用例子

    ? ? ? ?找了一個(gè)tasklet的例子看一下(drivers/usb/atm,usb攝像頭),在其自舉函數(shù)usbatm_usb_probe()中調(diào)用了tasklet_init()初始化了兩個(gè)tasklet描述符用于接收和發(fā)送的“可延遲操作處理”,但此是并沒有將其加入到tasklet_vec[]或tasklet_hi_vec[]中:

  • tasklet_init(&instance->rx_channel.tasklet,

  • usbatm_rx_process, (unsigned long)instance);

  • tasklet_init(&instance->tx_channel.tasklet,

  • usbatm_tx_process, (unsigned long)instance);

  • ? ? ? 在其發(fā)送接口usbatm_atm_send()函數(shù)調(diào)用tasklet_schedule()函數(shù)將所初始化的tasklet加入到當(dāng)前cpu的tasklet_vec鏈表尾部,并嘗試調(diào)用do_softirq_irqoff()執(zhí)行軟中斷TASKLET_SOFTIRQ:

  • static int usbatm_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)

  • {

  • ...

  • ?
  • tasklet_schedule(&instance->tx_channel.tasklet);

  • ?
  • ...

  • }

  • ? ? ? 在其斷開設(shè)備的接口usbatm_usb_disconnect()中調(diào)用tasklet_disable()函數(shù)和tasklet_enable()函數(shù)重新啟動(dòng)其收發(fā)tasklet(具體原因不詳,這個(gè)地方可能就是由這個(gè)需要,暫時(shí)重啟收發(fā)tasklet):

  • void usbatm_usb_disconnect(struct usb_interface *intf)

  • {

  • ...

  • ?
  • tasklet_disable(&instance->rx_channel.tasklet);

  • tasklet_disable(&instance->tx_channel.tasklet);

  • ?
  • ...

  • ?
  • tasklet_enable(&instance->rx_channel.tasklet);

  • tasklet_enable(&instance->tx_channel.tasklet);

  • ?
  • ...

  • }

  • ? ? ? 在其銷毀接口usbatm_destroy_instance()中調(diào)用tasklet_kill()函數(shù),強(qiáng)行將該tasklet踢出調(diào)度隊(duì)列。

    ?

    ? ? ?從上述過程以及tasklet的設(shè)計(jì)可以看出,tasklet整體是這么運(yùn)行的:驅(qū)動(dòng)應(yīng)該在其硬中斷處理函數(shù)的末尾調(diào)用tasklet_schedule()接口激活該tasklet;內(nèi)核經(jīng)常調(diào)用do_softirq()執(zhí)行軟中斷,通過softirq執(zhí)行tasket,如下圖所示。圖中灰色部分為禁止硬中斷部分,為保護(hù)軟中斷pending位圖和tasklet_vec鏈表數(shù)組,count的改變均為原子操作,count確保SMP架構(gòu)下同時(shí)只有一個(gè)CPU在執(zhí)行該tasklet:

    總結(jié)

    以上是生活随笔為你收集整理的Tasklets 机制浅析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    精品国产一区二区三区不卡 | 岛国av在线免费 | 国产精品精品视频 | 97福利视频 | 91网站在线视频 | 久久综合桃花 | 国产麻豆精品免费视频 | 韩国av免费看 | 亚洲精品av中文字幕在线在线 | 亚洲丁香日韩 | 一区二区三区视频在线 | 99精品国产视频 | 亚洲经典中文字幕 | 97夜夜澡人人爽人人免费 | 黄色av成人在线 | 99在线热播精品免费 | 麻豆视频在线播放 | 精品福利在线视频 | 日本黄色一级电影 | 国产精品一区二区无线 | 色综合天天综合网国产成人网 | 国产精品网址在线观看 | 欧美精品一区二区免费 | 天天操操操操操 | 日本韩国精品一区二区在线观看 | 欧美一级在线 | 999久久国精品免费观看网站 | 国产福利电影网址 | 国产精品久久久久久久久久三级 | 色综合天天综合在线视频 | 国产xxxx | 成人在线视频免费看 | 999久久| 中文字幕亚洲欧美日韩2019 | 成人aⅴ视频 | 久艹视频在线免费观看 | 777奇米四色 | 国产午夜视频在线观看 | 日韩高清免费电影 | 久久国精品| 国产黄色免费在线观看 | 午夜久久久久久久久久影院 | 视频在线观看入口黄最新永久免费国产 | 免费观看十分钟 | 免费成人在线网站 | 欧美91成人网 | 国产福利资源 | 国产经典三级 | 日韩欧美网站 | 国产激情小视频在线观看 | 国际精品久久久久 | 人人澡人摸人人添学生av | 99这里有精品 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 色婷婷精品 | 高清av免费一区中文字幕 | 在线观看久久久久久 | 992tv在线观看网站 | 丁香花五月 | 免费在线黄色av | 日韩久久电影 | 中文字幕亚洲高清 | 日韩网站一区二区 | 91成人天堂久久成人 | 国语久久| 久久精彩免费视频 | 亚洲国内精品视频 | 欧美大香线蕉线伊人久久 | 国产精品国产亚洲精品看不卡 | 欧美一区在线看 | 欧美极度另类 | 国产破处视频在线播放 | 天天干天天爽 | 亚洲黄a | 碰超在线观看 | 久久玖| 久草精品视频 | 91禁看片| 在线观看网站你懂的 | 久久公开视频 | 日韩在线观看第一页 | 911国产 | 国产精品久久久久久久久久不蜜月 | 国产偷在线 | 欧美一区免费观看 | 日免费视频 | 国产精品v欧美精品v日韩 | 色网站免费在线观看 | 99视频国产精品 | 99视频久久 | 黄色av电影在线 | 久久久久麻豆v国产 | 成年人免费av网站 | 日韩精品高清不卡 | 色网址99| 久久精品99精品国产香蕉 | 一区二区三区四区在线 | 久久久久99精品成人片三人毛片 | 亚洲专区 国产精品 | 久久福利 | 久久一视频 | 91视频黄色 | 婷婷六月综合网 | 欧美成人猛片 | 天天鲁一鲁摸一摸爽一爽 | 草久热| 久久久精品久久 | 中文字幕色播 | 亚洲欧洲精品视频 | 成年人精品| 深爱激情站 | 黄色成人av网址 | 美女视频黄免费 | 色黄久久久久久 | 麻豆视频国产 | 96亚洲精品久久久蜜桃 | 国产精品日韩在线 | 在线日本看片免费人成视久网 | 免费观看国产成人 | 精品在线亚洲视频 | 成人高清av在线 | 五月天伊人网 | 国产亚洲精品成人av久久ww | 久草视频网 | av三级在线播放 | 国产精品原创 | 成片免费观看视频 | 国产精品久久久久一区二区三区共 | 免费观看的av | 成人wwwxxx视频 | 成人欧美一区二区三区在线观看 | 精品国模一区二区三区 | 欧美吞精| 亚洲黄色在线观看 | 欧美午夜寂寞影院 | 亚洲精品午夜国产va久久成人 | 国产精品久久一区二区无卡 | 日日日干 | 伊人色综合久久天天网 | 亚洲成年片 | 欧美激情精品久久久久久 | 欧美色操 | 欧美精品xxx| 99久久精品国 | www.天天操 | 337p西西人体大胆瓣开下部 | 欧美日韩国产综合网 | 超碰免费97 | av电影中文字幕在线观看 | 欧美资源| 欧美激情在线看 | 手机av资源 | 中文字幕在线观看视频一区二区三区 | 国产一二三精品 | 国产亚洲精品久久久久久大师 | 91在线看视频 | 欧洲成人av | 成人精品一区二区三区电影免费 | 手机看片| 欧美男同视频网站 | 日韩91在线| 在线观看黄色大片 | 91色在线观看 | 久久中文字幕导航 | 99这里都是精品 | 中文字幕第一页av | 91在线你懂的 | 激情五月伊人 | 精品在线播放 | av理论电影 | 精品久久91 | 国内精品视频在线播放 | 9999精品视频 | 中文在线字幕免费观 | 国产手机视频在线观看 | 91成人精品在线 | 日韩av影视在线观看 | 特级片免费看 | 日韩在线观看中文 | 日韩免费电影 | 91热精品| 日本中文字幕在线 | 91精品国产91热久久久做人人 | 黄色av网站在线观看免费 | 日韩欧美国产激情在线播放 | 欧美激情视频在线免费观看 | 精品久久网 | 岛国精品一区二区 | 欧美日韩免费一区二区三区 | 九九热只有这里有精品 | 国产精品扒开做爽爽的视频 | 成人在线小视频 | 亚洲成av人影院 | 在线国产91 | 婷婷免费在线视频 | 日韩欧美国产免费播放 | 国产色小视频 | 国产xxxx做受性欧美88 | 国产精品久久久久久久久久久久午夜片 | 激情欧美一区二区免费视频 | 亚洲小视频在线观看 | 一区二区三区免费在线播放 | 香蕉网站在线观看 | 在线看黄色av | 麻豆mv在线观看 | 99热最新精品 | 欧美日韩亚洲第一 | 日韩国产精品久久久久久亚洲 | 亚洲免费a| 精品国产色 | 国产欧美在线一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 在线免费观看的av | 国产 在线 高清 精品 | 久久久免费 | 久久久久久久久免费 | 亚洲精品久久久久久久不卡四虎 | 麻豆视频在线观看 | 在线观看国产区 | 亚洲综合视频在线 | 成人在线观看你懂的 | 亚洲一区二区观看 | 久草免费福利在线观看 | 国产一级视屏 | 日本一区二区不卡高清 | 久久成人高清 | 96国产精品| 在线视频 亚洲 | 美女视频黄免费 | 国产男男gay做爰 | 成人国产综合 | 在线观看深夜视频 | 国产精品av在线 | 色综合久久久久久久久五月 | 99视频99| 亚洲精品久久激情国产片 | 日本色小说视频 | 深爱激情开心 | 在线一二三区 | 在线免费亚洲 | 91成人精品一区在线播放 | 丁香婷婷激情 | 91九色网站 | 亚洲男人天堂2018 | 免费看片黄色 | 国产精品亚州 | 91最新网址| 国产成人精品区 | 亚洲精品午夜久久久 | 国内精品视频一区二区三区八戒 | 免费看黄电影 | 国产麻豆视频 | 国产精品第10页 | 91精品视频免费观看 | 国产手机在线播放 | 国产性天天综合网 | 国产精品毛片网 | 88av网站| 久草视频手机在线 | 人人爱夜夜操 | 99精品视频免费看 | 九九九热 | 国产免费久久久久 | 在线观看免费国产小视频 | 亚洲国产精品成人va在线观看 | 中文国产字幕在线观看 | av 一区二区三区四区 | 一区二区视频电影在线观看 | 国产资源免费 | 三级av片| 91丨九色丨国产丨porny精品 | 日韩欧美在线影院 | 人人看看人人 | 欧美欧美| 国产精品免费观看久久 | 中文字幕中文字幕 | 成人午夜电影网站 | 婷婷色综| 天天草天天干 | 欧美日韩高清在线 | 国产精品中文字幕av | 天天草网站 | 久久国产精品99久久久久久老狼 | 中文字幕国产一区 | 成年人网站免费在线观看 | 色多多污污在线观看 | 日日添夜夜添 | 久久精品亚洲国产 | 中文字幕精品一区二区三区电影 | 日本精品视频免费观看 | 欧美激情第十页 | 91 在线视频播放 | 91精品黄色 | 黄色精品国产 | 91资源在线免费观看 | 亚洲激情精品 | 日日添夜夜添 | 天天操天天怕 | 99视频在线| 免费色视频在线 | 欧美热久久| 日韩av影片在线观看 | 亚洲经典视频在线观看 | 免费精品在线视频 | 婷婷成人亚洲综合国产xv88 | 日韩一区二区久久 | 国内成人精品视频 | 欧美午夜久久久 | 97人人模人人爽人人喊网 | 亚洲精品在线二区 | 久久久久久久久久久黄色 | 久久久久久久亚洲精品 | 天天插视频 | 综合网av | 日韩欧三级 | 国产精品毛片一区 | 亚洲成aⅴ人在线观看 | 91成人精品一区在线播放 | 亚洲国产日韩精品 | 久久精品中文字幕一区二区三区 | 久草免费在线视频观看 | 丁香六月天婷婷 | 高清不卡一区二区三区 | 日韩黄色在线观看 | 欧美亚洲另类在线视频 | 国产 视频 高清 免费 | 天堂av网址| 一区二区三区高清不卡 | 亚洲国产小视频在线观看 | 国产精品久久久久9999吃药 | 国产精品久久综合 | 一区二区三区四区免费视频 | 国产精品乱看 | 韩国av在线播放 | 三级免费黄 | 丰满少妇久久久 | 欧美久久久久久久久久 | 在线观看成人福利 | 国产在线观看你懂得 | 久久国产色 | 免费在线精品视频 | 免费看av片网站 | 色婷婷综合久久久久 | 成人97视频一区二区 | 女人18毛片a级毛片一区二区 | 丁香在线| 久久久久久草 | 国产精品久久久久久久久久99 | 亚洲激情 | 日韩乱色精品一区二区 | 欧美精品久久天天躁 | 国产精品手机播放 | 91在线精品视频 | 亚洲成人av一区 | 中文字幕有码在线 | 99高清视频有精品视频 | www.色就是色| 亚洲成年人免费网站 | 亚洲人xxx| 国产精品久久久久久爽爽爽 | 99视频在线免费看 | 午夜精品一区二区三区视频免费看 | 精品国产123 | 日韩欧美在线免费 | 亚洲一级电影视频 | 久久视频一区二区 | 国产精品xxxx18a99 | 色欧美88888久久久久久影院 | 免费成人av在线 | 黄色国产精品 | 亚洲精品高清在线 | 国产 日韩 在线 亚洲 字幕 中文 | 天天干夜夜操视频 | 国产日韩欧美在线播放 | 日韩av手机在线看 | 五月天亚洲激情 | 成人av午夜 | 午夜精品福利一区二区 | 狠狠狠操 | 成年人免费电影在线观看 | 黄色成人av在线 | 亚洲激情精品 | 国产99久 | 91精品免费在线 | 久久久久女教师免费一区 | 婷婷丁香视频 | 久久99久久99精品中文字幕 | 国产亚洲精品久久久久久 | 综合网中文字幕 | 成人h电影 | 久久久国产精品一区二区三区 | 久久小视频 | 亚洲欧美日本一区二区三区 | 亚洲三级黄色 | 久久好看 | 91免费高清观看 | 亚洲欧美经典 | 又污又黄的网站 | 免费国产在线精品 | 亚洲另类久久 | 成人在线中文字幕 | 午夜手机看片 | 国产精品久久久久久久午夜 | 亚洲精欧美一区二区精品 | 美女精品在线观看 | 久久久久久片 | 91成人天堂久久成人 | 国产区网址 | 久久中文欧美 | 久久精品高清视频 | 在线亚洲播放 | 国产又粗又猛又爽又黄的视频免费 | 国产爽视频 | 激情久久久 | av在线永久免费观看 | 99视频99 | 日日摸日日添日日躁av | 亚洲 欧美日韩 国产 中文 | 色天天| 日韩av中文 | 亚洲国产操 | 99在线观看免费视频精品观看 | www黄色| 黄色高清视频在线观看 | 99在线免费视频 | 五月婷婷六月丁香在线观看 | 97电影院网 | 亚洲一区二区观看 | 99久久精品国产一区二区成人 | 欧美动漫一区二区三区 | 国产一级在线播放 | 五月综合色婷婷 | 九九视频免费 | 欧美精品一级视频 | 又黄又刺激视频 | 欧美另类xxx | 日韩大片在线观看 | 黄色小说免费观看 | 美国三级黄色大片 | 国产精品日韩 | 9999国产| 国产精品一区在线观看你懂的 | 九九热在线观看 | 91精品视频免费看 | 国产精品久久久网站 | 久久专区 | 天天综合网国产 | 国产视频美女 | 干干操操 | 色噜噜噜 | 亚洲精品视频在线免费 | 欧美一区二区视频97 | 在线高清| 欧美在线视频一区二区 | 午夜精品福利一区二区 | 中文在线a在线 | 久久精品视频网 | wwwwww黄 | 欧美大片大全 | 激情婷婷av | 久久久福利 | 久久久网 | 丁香狠狠 | 久久av网 | 视频国产在线观看18 | 婷婷六月在线 | 日本精a在线观看 | 婷婷中文在线 | 国产自在线| 91精品亚洲影视在线观看 | 亚洲欧美精品一区二区 | 久久综合操 | 亚洲 欧洲av| 黄色一级网 | 精品日韩在线 | 最近中文字幕完整视频高清1 | 免费看国产黄色 | 成人羞羞视频在线观看免费 | 亚洲综合在线一区二区三区 | 久久免费视频99 | 成人av午夜 | av资源在线观看 | 91av在| 久综合网 | 亚洲精品久久久久久久不卡四虎 | 99国产视频| 波多野结衣亚洲一区二区 | 91在线91拍拍在线91 | 国产九色在线播放九色 | 欧美日韩亚洲在线观看 | 国产精品免费观看视频 | 亚洲激情久久 | 亚洲一级久久 | 91麻豆精品 | 狠狠干天天射 | 久插视频| 欧洲精品视频一区二区 | 免费一级特黄毛大片 | 中文字幕.av.在线 | 婷婷播播网| 美女视频a美女大全免费下载蜜臀 | 日韩动漫免费观看高清完整版在线观看 | 久久久久免费精品国产小说色大师 | 日韩系列| 麻豆视频成人 | 波多野结衣精品视频 | 欧美成人亚洲 | 婷婷四房综合激情五月 | 精品久久久一区二区 | 色综合天天综合网国产成人网 | 在线视频观看国产 | 丁香六月婷婷激情 | 91桃花视频 | 成 人 黄 色 视频免费播放 | 超级碰碰碰免费视频 | 日韩在线播放视频 | 久久国产精品久久精品 | 天天干夜夜 | 99精品在线视频观看 | 日韩免费久久 | 麻豆果冻剧传媒在线播放 | 亚洲精品88欧美一区二区 | 久久久蜜桃一区二区 | 成人污视频在线观看 | 香蕉网在线观看 | 日韩啪啪小视频 | 日韩av高潮 | 日本爱爱免费 | 91一区二区三区在线观看 | 日韩精品一区二区三区免费视频观看 | 欧美地下肉体性派对 | 久色 网 | 尤物九九久久国产精品的分类 | 91亚洲夫妻| 一本一道波多野毛片中文在线 | 日日夜夜精品网站 | 探花系列在线 | 91免费观看视频在线 | 91丨九色丨国产在线 | 97精品一区二区三区 | 黄色大片国产 | 久草免费在线视频 | 国产淫片 | 国产精品久久久777 成人手机在线视频 | 日本韩国精品在线 | 天堂av最新网址 | 国产高清在线免费 | 亚洲国产中文字幕 | www看片网站| 国产视频久久久 | 国产福利一区在线观看 | 天天插综合 | 成全免费观看视频 | 日韩精品免费一区二区三区 | 黄色软件网站在线观看 | 黄色av电影在线 | 久99视频| 亚洲激情综合 | 精品国产伦一区二区三区观看方式 | 五月婷婷综合在线观看 | 91人人澡| 国产中文字幕大全 | 91精品一区国产高清在线gif | 日本午夜在线观看 | 久久任你操 | 国产一级免费在线观看 | 欧美色图30p | 美女av电影| 婷婷色中文 | 一区二区欧美日韩 | 天天综合入口 | 66av99精品福利视频在线 | 久久久婷| 玖草影院 | 国产精品av在线免费观看 | 国产一级在线 | av高清网站在线观看 | 国产小视频网站 | 中文字幕av专区 | 欧美一级特黄aaaaaa大片在线观看 | 一 级 黄 色 片免费看的 | 日韩精品免费一区二区 | av看片网 | 97精品国产97久久久久久久久久久久 | 国产黄影院色大全免费 | 黄网av在线 | www.五月婷 | 国产精品久久久久永久免费观看 | 国产成人久久精品77777 | 久久精品久久综合 | 国产91电影在线观看 | 91麻豆高清视频 | 色噜噜狠狠狠狠色综合 | 日韩一区二区三区免费视频 | 在线国产不卡 | 国产精品成人品 | 在线看国产精品 | 超碰成人av| 五月婷婷激情综合 | 91成人看片| 久久天天躁狠狠躁亚洲综合公司 | 91豆花在线| 免费日韩视频 | 久久精品爱视频 | 亚洲aⅴ久久精品 | 亚洲精品一区二区网址 | 久久黄色a级片 | 国产精品尤物视频 | 国产精品破处视频 | 亚洲精品视频国产 | 91精品欧美一区二区三区 | 午夜精品一区二区三区在线视频 | 天天操比 | 色婷婷成人| 在线播放国产一区二区三区 | 天天操天天操一操 | 在线国产福利 | 日韩av在线影视 | 国产在线播放一区二区三区 | 97在线精品视频 | 久久精品最新 | 99欧美视频| 国产精品白浆 | av无限看| 亚洲国产精品va在线 | 亚洲综合精品在线 | 超碰日韩| 天天干天天碰 | 国产成人333kkk | 免费观看一级视频 | 亚洲一级二级 | 欧美贵妇性狂欢 | 国产高清在线 | 日韩久久精品一区二区三区 | 美女网色 | 色多多污污 | 国产精品视频资源 | 国产中文伊人 | 久久精品视频5 | 久久伊99综合婷婷久久伊 | 欧美精品在线视频 | 午夜私人影院久久久久 | 99精品一区| 精品a在线 | 精品久久久国产 | 免费在线播放 | 久久综合狠狠综合久久狠狠色综合 | 日韩精品在线视频 | 青青草在久久免费久久免费 | 91大神免费视频 | 成人黄色电影免费观看 | 国产精品毛片久久久久久 | 国产一级特黄毛片在线毛片 | 99精品免费久久久久久久久日本 | 亚洲少妇自拍 | 欧美在线91 | 久久久国产精品一区二区中文 | 亚洲视频999 | 久久久亚洲网站 | 免费在线黄色av | 韩国精品在线 | 欧美成人精品欧美一级乱黄 | 国产综合香蕉五月婷在线 | 中文字幕久久亚洲 | 久久精品官网 | 久草在线国产 | 欧美极品xxx| 香蕉视频4aa | 在线视频观看91 | 日韩av影视在线 | 91精品一区二区三区久久久久久 | 亚洲欧洲美洲av | 高清av免费一区中文字幕 | 九色在线视频 | 在线看一级片 | 丁香婷婷久久久综合精品国产 | 久久久久99精品成人片三人毛片 | 国产成人亚洲在线观看 | 草樱av| 深夜男人影院 | 黄色毛片大全 | 成人免费共享视频 | 丝袜少妇在线 | 成人网看片 | 国产亚洲精品福利 | 久久久久区 | 久av在线 | 国产高清专区 | 制服丝袜亚洲 | 97视频在线免费观看 | 很黄很色很污的网站 | 亚洲另类视频在线 | 免费看片成人 | 日日干综合 | 又污又黄的网站 | 免费久久久久久 | 在线www色| 国产一线二线三线性视频 | 四虎在线免费 | 日韩v在线91成人自拍 | 免费看黄在线网站 | 久久久久国产精品一区 | 丝袜美腿亚洲综合 | 国产色综合天天综合网 | 久久精品国产一区二区电影 | wwxxxx日本| av黄色国产 | 国产精品久久久视频 | 在线 国产 亚洲 欧美 | 国产黑丝袜在线 | 香蕉在线影院 | 人人爽人人看 | 日韩特黄av | 日韩精品一区二区三区丰满 | 亚洲国产精品小视频 | 色欧美日韩 | 久久tv| 久久视频在线观看免费 | 亚洲精品中文字幕视频 | 精品一区二区在线免费观看 | 国产黄a三级三级 | 亚洲黄色av网址 | 久久国产精品久久w女人spa | 天天干天天色2020 | 四虎成人精品在永久免费 | 国产精品2018 | 超碰在线公开 | 丁香六月天 | 精品国产免费一区二区三区五区 | 一区二区三区免费在线 | 日韩免费电影一区二区三区 | 午夜av在线播放 | 四虎永久免费网站 | 中文字幕日本电影 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产精品videoxxxx | 亚洲伦理一区 | 国产在线不卡视频 | 狠狠干天天干 | 久久国产免 | 成人毛片在线观看视频 | 欧美婷婷色 | 日韩精品中文字幕久久臀 | 一区二区三区在线免费观看视频 | 国产精品亚 | 亚洲精品在线视频 | 伊人天天干 | 中文字幕乱在线伦视频中文字幕乱码在线 | 成人免费看片网址 | 午夜精品久久 | 欧美在线日韩在线 | 久久毛片高清国产 | 国产精品成人免费一区久久羞羞 | 成人一区二区三区中文字幕 | 丁香视频| 日韩三级视频 | 四虎影视成人精品 | 黄色av大片 | 久久国产精品久久精品 | 精品国产欧美一区二区 | 日韩av中文字幕在线 | 国产不卡视频在线播放 | 亚洲国产精品va在线 | 91超国产 | 夜夜爽www| 黄色网址av| 福利视频一区二区 | 国产精品手机在线观看 | 成人在线观看日韩 | 国内亚洲精品 | 久久久久久久久电影 | 国产精品美女久久久久久久 | 美腿丝袜一区二区三区 | 日韩丝袜视频 | 天天摸夜夜添 | 99久久99久久精品 | 亚洲欧美日韩国产精品一区午夜 | 日韩精品无 | 久久久免费精品视频 | 欧美一级久久久久 | 日韩三区在线观看 | 久久精品播放 | 国产精品一区二区你懂的 | 97网站| 天天干国产 | 九九欧美 | 午夜av在线播放 | 99久久久久国产精品免费 | 国产精品免费久久 | 激情影音| 日韩黄色在线 | 国产在线一区二区三区播放 | 亚洲激情精品 | 久色 网 | 探花视频在线版播放免费观看 | 久久99国产精品二区护士 | 国产精品欧美久久久久久 | 99久久99视频只有精品 | 最近中文字幕完整视频高清1 | 91视频国产免费 | 日韩影视大全 | 激情综合五月天 | 特级毛片网站 | 狠狠色丁香婷婷综合视频 | 日日干日日色 | 欧美午夜寂寞影院 | 91视频免费看 | 天天碰天天操视频 | 日日夜夜天天射 | 开心激情久久 | 免费观看www视频 | 久草在线在线视频 | 天天人人综合 | 亚洲午夜久久久综合37日本 | 麻豆首页 | 精品999在线观看 | 黄色一级免费 | 国产又粗又猛又黄又爽视频 | 国产精品门事件 | 日日操日日插 | 久久婷亚洲五月一区天天躁 | 久久国产精品视频 | 在线精品视频免费观看 | 久久成人精品电影 | 日本精品视频一区 | 91在线播| 日韩黄色影院 | 色婷婷亚洲综合 | 亚洲乱码中文字幕综合 | 久久久久免费电影 | 在线观看av国产 | 国产剧情av在线播放 | 久久欧美综合 | 九九在线视频 | 国产精品久久久久一区二区三区共 | 久久黄色片 | aaa亚洲精品一二三区 | 综合久久网站 | 国产精品一区二区免费视频 | 天天综合网~永久入口 | 亚洲砖区区免费 | 国产男女无遮挡猛进猛出在线观看 | 最近久乱中文字幕 | 亚洲自拍偷拍色图 | 天天干天天天天 | 亚洲永久精品在线观看 | 成人h动漫精品一区二 | 国产99久久久久 | www天天干com| 亚洲三级黄色 | 麻豆国产在线视频 | 日韩欧美一区二区在线 | 欧美在线不卡一区 | 天堂av高清 | 国产盗摄精品一区二区 | 色爱区综合激月婷婷 | 18国产精品白浆在线观看免费 | 在线观看中文字幕dvd播放 | 国产1级视频 | 日韩精品三区四区 | 香蕉影院在线观看 | 国产97av| 国产麻豆成人传媒免费观看 | 美女一级毛片视频 | 天天操天天吃 | www.69xx| 丁香六月av| 视频精品一区二区三区 | 天天艹天天 | 久久夜av| 十八岁以下禁止观看的1000个网站 | 综合在线观看 | 91视频在线免费 | 黄色资源在线 | 欧美一级专区免费大片 | 午夜精品视频在线 | 毛片网站免费 | 国产成人精品女人久久久 | 91传媒在线观看 | 久久久久99精品成人片三人毛片 | 成人一级电影在线观看 | 精品乱码一区二区三四区 | 亚洲一二区视频 | 国产精品初高中精品久久 | 在线观看视频你懂 | 91在线蜜桃臀 | 九九精品久久久 | 欧美黄色成人 | 日韩深夜在线观看 | 日韩精品一区二区三区免费视频观看 | 亚州精品在线视频 | 亚洲欧洲一区二区在线观看 | 亚洲欧美偷拍另类 | 免费黄色av片 | 免费韩国av| 国产高清视频免费最新在线 | 日韩av黄 | 午夜精品久久久久久久久久久久 | 福利av在线 | 永久中文字幕 | 国产尤物在线视频 | 欧美一级片免费观看 | 日韩精品视 | ww亚洲ww亚在线观看 | 色综合欧洲 | 99九九99九九九视频精品 | 欧美做受69 | 国产又粗又硬又长又爽的视频 | 亚洲黄色在线观看 | 欧美日韩破处 | 美女视频网| 亚洲三级精品 | 69视频国产 | 免费网站v | 国产视频 亚洲精品 | 最近中文字幕在线播放 | 欧美一区二区在线刺激视频 | 亚洲精品久久久久999中文字幕 | 色播五月婷婷 | 亚洲成av人影片在线观看 | 中文字幕 二区 | 亚洲激情视频在线观看 | 日韩av影视 | 久久国产精品视频 | 久草在线视频新 | 国产综合精品一区二区三区 | 手机av看片 | 亚洲欧美日韩精品久久久 | 亚洲艳情| 97在线观看视频国产 | 久久在线精品视频 | 天天摸夜夜添 | 狠狠天天| 久久精品欧美一区 | 青青河边草免费观看 | 999色视频| 婷婷深爱五月 | 国产高清久久 | 国产婷婷久久 | 日p视频在线观看 | 天天五月天色 | 午夜精品久久久久久久久久久 | 免费在线播放视频 | 天天综合网天天综合色 | 97av在线视频免费播放 | 热99久久精品| 五月天堂色 | 五月婷婷综合色拍 | 久久久久女人精品毛片 | 婷久久 | 色婷婷亚洲 | 中文字幕一区av | 911国产| 久久久国产精品久久久 | 精品亚洲视频在线 | 精品视频99 | 在线岛国av | 99视频免费在线观看 | 亚洲网站在线 | 亚洲精品成人av在线 | 337p日本欧洲亚洲大胆裸体艺术 | 国产欧美日韩一区 | 精品毛片一区二区免费看 | 日韩一级片观看 | 天天干天天爽 | 欧美日韩在线免费视频 | 精品91视频 | 韩国在线一区二区 | 色福利网| 亚洲精品免费在线 | 99久久精品久久久久久动态片 | 丁香六月av | 啪啪午夜免费 | 99精彩视频在线观看免费 | 婷婷久久精品 | 久久99精品国产一区二区三区 | 日韩激情第一页 | 久草观看| 亚洲dvd| 日韩精品一区二区免费视频 | 日韩免费观看视频 | 中文字幕第一页在线vr | 999久久| 黄网站色视频免费观看 | 在线观看日韩一区 | 中国精品少妇 | 亚洲精品综合在线 | 免费福利视频网站 | 国产 成人 久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 99热精品在线观看 | 国产福利专区 | 日韩专区av| 久久久国产精品麻豆 | 日韩午夜在线观看 | 久草电影在线 | 在线观看视频 | 国产第一二区 |