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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux的同步与互斥

發布時間:2025/6/15 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux的同步与互斥 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

臨界區:(critical?region
所謂臨界區就是訪問和操作共享數據的代碼段。

并發有偽并發(單處理器)和真并發(多處理器)之分,但是都會造成競爭條件。

同步:(synchronization
避免并發(多個執行線程并發訪問同一個資源)和防止競爭條件(兩個執行線程處于同一臨界區)被稱為同步。

用戶空間之所以需要同步,是因為用戶程序會被調度程序搶占和重新調度。
造成并發執行的原因:

1?中斷

2?軟中斷和tasklet

3?內核搶占——任務的優先級

4?睡眠及用戶空間的同步

5?SMP

在編寫代碼的開始階段就應該設計恰當的鎖
我們要給數據而不是代碼加鎖。大多數內核數據結構都需要加鎖!而局部自動變量,動態分配的數據結構不需要加鎖。

Linux信號量的實現
0.概念:
信號量:?一個信號量本質上是一個整數值,?它和一對函數聯合使用,?這一對函數通常成為PV,?也就是我們所說的P/V操作.

·?當一個進程希望進入臨界區時,?對臨界區的信號量執行P操作:

·?如果信號量的值大于0,?則該值會減1,?而進程可以繼續;

·?如果信號量的值等于0(或更小),?進程必須等待直到其他人釋放該信號量.

·?當一個進程完成對臨界區的操作時,?對臨界區信號量執行V操作:

?將信號量的值加1,?并在必要時喚醒等待的進程.

·?在這種模式下,?一個信號量有時也稱為一個"互斥體"(mutex),?它是互斥的簡稱.

規則:

·?當信號量用于互斥時(即避免多個進程同時操作一個臨界區),?信號量的值應該初始化為1.

·?信號量在任何時刻只能由單個進程或線程擁有.


1.?定義:
頭文件:?<asm/semaphore.h>
數據類型:?struct?semaphore
直接創建:
?void?sema_init(struct?semaphore?*sem,?int?val);?/*?其中val是信號量的初始值?*/

輔助宏:
?DECLARE_MUTEX(name);?????????????????/*?把一個稱為name的信號量變量初始化為1?*/
DECLARE_MUTEX_LOCKED(name);?/*?把一個稱為name的信號量變量初始化為0?*/

動態分配:
/*?用于運行時的初始化?*/
void?init_MUTEX(struct?semaphore?*sem);
void?init_MUTEX_LOCKED(struct?semaphore?*sem);

Linux世界中,?P函數被稱為down,?指的是該函數減小了信號量的值,?它也許會將調用者置于休眠狀態,?然后等待信號量變得可用,?之后再授予調用者對被保護資源的訪問權限.?down函數有三個版本:
void?down(struct?semaphore?*sem);?????/*?減小信號量的值,?并在必要時一直等待。無法獲得信號量時,會導致調用進程休眠*/
作為通常規則,?我們不應該使用非中斷版本.?非中斷操作是建立不可殺進程的好方法(ps輸出中的"D?state")

void?down_interruptible(struct?semephore?*sem);??/*?可中斷版本,?常用。?無法獲得信號量時,會導致調用進程休眠*/

可中斷版本幾乎是我們始終要使用的版本。
使用該函數,?如果得到,返回0;如果操作被中斷,?該函數會返回非0(-EINTR),?而調用者不會擁有該信號量.
因此對該函數的正確使用需要始終檢查返回值,?并做出相應的響應.

void?down_trylock(struct?semaphore?*sem);

/*?永遠不會休眠,?如信號量在調用時不可獲得,?立即返回非0值?*/?

后來的內核又增加了:
int?down_killable(struct?semaphore?*sem);

/*無法獲得信號量時,會導致調用進程休眠*,操作可被fatal信號中斷,?函數會返回非0(-EINTR),?而調用者不會擁有該信號量.?*/
int?down_timeout(struct?semaphore?*sem,?long?jiffies);
/*在指定時間內獲取該信號量,會導致調用進程休眠,無法獲取時返回-ETIME*/

當一個線程成功調用down函數的某個版本之后,?就稱為該線程擁有了該信號量,?可以訪問被該信號量保護的臨界區.?當互斥操作完成后,?必須釋放該信號量.
LinuxV函數是up:
/*?調用up之后,?調用者不再擁有該信號量?*/
void?up(struct?semaphore?*sem);


2.?舉例:
我們擁有一個共享數據結構:
struct?st_data
{
????char?name[32];
????char?data[128];
????int?data_len;
};
這個數據結構被多個進程同時訪問.
為了避免這些進程在訪問該結構時產生競態,?我們在該結構的底部為其加上信號量:
struct?st_data
{
????char?name[32];??????????????/*?name?*/
????char?data[128];??????????????/*?data?*/
????int?data_len;??????????????????/*?data?length?*/
????struct?semaphore?sem;?/*?semaphore?*/
};
信號量在使用前必須進行初始化,?而且是在共享數據其他部分可用前初始化.?因此,?我們在其他數據賦值之前調用init_MUTEX,?否則會建立一個競態,?即在信號量準備好之前,?有代碼可能會訪問它們.

st_data?data;
init_MUTEX(&data->sem);
setup_data(&data);?/*?初始化數據?*/
...

接下來,?我們必須仔細檢查代碼,?確保在不擁有該信號量的時候不會訪問data數據結構.?例如,?data_write的開始處加入:
if?(down_interruptible(&data->sem))???
?????return?-ERESTARTSYS;
這是檢查down_interruptible的返回值,?如果返回非0,?說明操作被中斷.?這種情況下,?通常要做的工作是返回-ERESTARTSYS.?在得到這個返回值后,?內核會從頭重新啟動該調用,?或者將該錯誤返回給用戶.
如果我們返回-ERESTARTSYS,?則必須首先撤銷已經做出的修改,?這樣,?系統調用才可正確重試.?如果無法撤銷這些操作,?則應該返回-EINTR,?表明中斷.

不管data_write能否完成其他工作,?它都必須釋放信號量:
out:
????up(&data->sem);
????return?retval;

data_write中有幾個地方可能會產生錯誤,?包括內存分配失敗等.?在這些情況下,?代碼會執行goto?out,?確保正確的完成信號量的釋放工作.


讀取/寫入信號量
信號量對所有調用者執行互斥操作,?而不管線程想做什么(/).?正如這樣,?我們可以把任務劃分為兩種類型:?讀取和寫入.?多個并發的讀取應該是被允許的,?因為只讀任務可并行完成他們的工作,?這樣做可以大大提高性能.

如此,?便有了Linux內核提供的一種特殊信號量類型,?稱為"rwsem"(reader/writer?semaphore).?雖然在驅動程序中使用rwsem的機會相對比較少,?但偶爾也比較有用.

頭文件:?<linux/rwsem.h>
數據類型:?struct?rw_semaphore

一個rwsem對象必須用一下函數顯式地初始化:
void?init_rwsem(struct?rw_semaphore?*sem);

對受保護資源的只讀訪問,?可和其他讀取者并發地訪問.?可用的接口有:
void?down_read(struct?rw_semaphore?*sem);/*?可能會將調用進程置于不可中斷的休眠?*/
int?down_read_trylock(struct?rw_semaphore?*sem);/*?不會阻塞等待,授予訪問時返回非0,?其他情況返回0??注意他的返回值用法和其它函數的不同*/

void?up_read(struct?rw_semaphore?*sem);?/*?釋放rw_sem對象?*/

針對寫入者的接口類似于讀取者:
void?down_write(struct?rw_semaphore?*sem);
int?down_write_trylock(struct?rw_semaphore?*sem);
void?up_write(struct?rw_semaphore?*sem);
3個函數與讀取者的對應函數行為相同,?他們提供的是寫入訪問.

/*?當某個快速改變獲得寫入者鎖,
??*其后有更長時間的只讀訪問的時候,
??*我們可以調用該函數來允許其他讀取者訪問?*/
void?downgrade_write(struct?rw_semaphore?*sem);

讀取/寫入信號量特點:

·?一個rwsem可以允許一個寫入者或無限多個讀取者擁有該信號量.

·?寫入者具有更高的優先級,?某個寫入者試圖進入臨界區,?在其完成工作之前,?不會允許讀取者獲得訪問.

·?如果大量寫入者競爭該信號量,?會導致讀取者"餓死".

·?最好在很少需要寫訪問且寫入者只會短期擁有信號量什使用rwsem.


Completion(完成量)
有時,?由于信號量輕松up操作之后,?會產生過長時間的操作,?為了避免信號量執行down操作導致的長時間阻塞,?內核提供了一組completion(完成)接口解決這種問題.

Completion是一種輕量級的機制,?它允許一個線程告訴另一個線程某個工作已經完成.

頭文件:?<linux/completion.h>
數據類型:?struct?completion

一個completion對象可以通過兩種方法創建和初始化:
DECLARE_COMPLETION(my_completion);

或者,?如果必須動態,?則使用:
struct?completion?my_completion;
/*?...?*/
init_completion(&my_completion);

completion操作的接口有:
等待completion的操作可以用:
/*?執行一個非中斷等待?*/
void?wait_for_completion(struct?completion?*c);

實際的completion事件調用可以用:
/*?只會喚醒一個等待線程?*/
void?complete(struct?completion?*c);
/*?喚醒所有等待線程?*/
void?complete_all(struct?completion?*c);
但在大多數情況下,?只會有一個等待者,?此時兩個函數效果相同.

一個completion通常是一個單次(one-shot)設備,?它只會被使用一次然后被丟棄.觸發事件明確時,?如果沒有使用complete_all,?可以重復使用一個completion結構.如果使用了complete_all,?則必須在重復使用該結構之前重新初始化它.
可以用下面的宏進行重新初始化Completion
INIT_COMPLETION(struct?completion?*c)?;

Completion機制的典型是模塊退出時的內核線程終止.?這時,?驅動程序內部由一個while(1)循環完成,?當內核準備清楚該模塊時,?exit函數會令線程退出并等待completion.?此時,?內核可調用一個特殊函數:
void?complete_and_exit(struct?completion?*c,?long?retval);
/*?其中retvalexit的返回值,?可用于錯誤代碼檢查?*/


linux中自旋鎖(spinlock)的實現
信號量對互斥來講是非常有用的,?但它并不是內核提供的唯一工具.
大多數鎖定通過稱為"自旋鎖"的機制實現.?和信號量不同,?自旋鎖可以在不能休眠的代碼中使用,?比如:?中斷處理例程.?在正確使用的情況下,?自旋鎖通常可以提供比信號量更高的性能,?但它也有一組不同的使用限制.

1.?概念:
自旋鎖在概念上非常簡單,?一個自旋鎖就是一個互斥設備,?它只有兩個值:?"鎖定""解鎖".?它通常實現為某個整數值中的單個位.

·?希望獲得某特定鎖的代碼,?測試相關的位.?(原子操作)

·?如果鎖可用,?"鎖定"位被設置,?而代碼繼續進入臨界區.

·?相反,?如果鎖被其他人獲得,?則代碼進入忙循環并重復檢查這個鎖,?直到該鎖可用為止.

這個循環就是自旋鎖的"自旋"部分.?當存在自旋鎖時,?等待執行忙循環的處理器做不了任何有用的工作.

核心原則:任何擁有自旋鎖的代碼都必須是原子的。它不能休眠。
另外一個重要原則:自旋鎖必須在可能的最短時間內擁有。
在擁有鎖時,要注意調用的每一個函數是否會引起睡眠。是否會有中斷服務程序獲得相同的鎖(需禁止本地CPU中斷)

2.?自旋鎖基本API:
頭文件:?<linux/spinlock.h>
數據類型:?spinlock_t

初始化,?以下兩種方法:
??????靜態(編譯時):?spinlock_t?my_lock?=?SPIN_LOCK_UNLOCKED;
??????動態(運行時):?void?spin_lock_init(spinlock_t?*lock);

獲得鎖:?void?spin_lock(spinlock_t?*lock);
釋放鎖:?void?spin_unlock(spinlock_t?*lock);?

3.?自旋鎖其他API:
鎖定一個自旋鎖的函數實際有4:
void?spin_lock(spinlock_t?*lock);?????/*?基本函數?*/
void?spin_lock_irqsave(spinlock_t?*lock,?unsigned?long?flags);/*?會在獲得自旋鎖之前禁止本地中斷,?而先前的中斷狀態保存在flags中?*/
void?spin_lock_irq(spinlock_t?*lock);/*?同上,?但無跟蹤標志?*/
void?spin_lock_bh(spinlock_t?*lock);/*?在獲得鎖之前禁止軟件中斷?*/

對應的,?也有4unlock函數:
void?spin_unlock(spinlock_t?*lock);
/*?這里面的flags必須和傳遞給spinlock_lock_irqsave的是同一個變量,
?*?還必須在同一函數中調用,?否則代碼可能在某些架構上出現問題?*/
void?spin_unlock_irqstore(spinlock_t?*lock,?unsigned?long?flags);
void?spin_unlock_irq(spinlock_t?*lock);
void?spin_unlock_bh(spinlock_t?*lock);

同時,?還有2個非阻塞的自旋鎖操作:
int?spin_trylock(spinlock_t?*lock);??????/*成功獲得返回非0,否則返回0*/
int?spin_trylock_bh(spinlock_t?*lock);?/*成功獲得返回非0,否則返回0*/
對禁止中斷的情況,?沒有對應的"try"版本.

注意:《linux內核設計與實現》9.2節?自旋鎖?中論述:
自旋鎖更多的是為多處理器提供防止并發訪問所需要的保護機制。
在單處理器機器上,編譯的時候并不會加入自旋鎖。它僅僅被當作一個設置內核搶占機制是否被啟用的開關。如果禁止內核搶占,那么在編譯時自旋鎖會被完全剔除出內核。

觀察內核代碼發現:在自旋鎖與CONFIG_SMPCONFIG_PREEMPT兩個配置選項有很大的關聯。
而在自旋鎖的各個操作函數中都會調用preempt_disable()來禁止搶占(若CONFIG_PREEMPT選項關閉,則preempt_disable為空操作)
內核搶占代碼使用自旋鎖作為非搶占區域的標記。

Linux?2.4.x及以前的版本都是非搶占式內核方式,如果編譯成單處理器系統,在同一時間只有一個進程在執行,除非它自己放棄,不然只有通過"中斷"才能中斷其執行。因此,在單處理器非搶占式內核中,如果需要修改某個重要的數據結構,或者執行某些關鍵代碼,只需要禁止中斷。
但是在對稱多處理器,僅僅禁止某個CPU的中斷是不夠的,當然我們也可以將所有CPU的中斷都禁止,但這樣做開銷很大,整個系統的性能會明顯下降。
此外,即使在單處理器上,如果內核是搶占式的,也可能出現不同進程上下文同時進入臨界區的情況。為此,Linux內核中提供了"自旋鎖(spinlock"的同步機制。

?自旋鎖和信號量的比較

需求

建議的加鎖方法

低開銷加鎖

優先使用自旋鎖

短期加鎖

優先使用自旋鎖

長期加鎖

優先使用信號量

中斷上下文加鎖

使用自旋鎖

持有鎖需要睡眠

使用信號量

讀取/寫入自旋鎖
頭文件:?<linux/spinlock.h>
數據類型:?rwlock_t

初始化,?以下兩種方法:
rwlock_t?my_lock?=?RW_LOCK_UNLOCKED;????/*Static?way*/
rwlock_t?my_lock;
rw_lock_init(&my_lock);??/*Dynamic?way*/

讀取相關的自旋鎖的函數:
void?read_lock(rwlock_t?*lock);
void?read_lock_irqsave(rwlock_t?*lock,?unsigned?long?flags);
void?read_lock_irq(rwlock_t?*lock);/*?同上,?但無跟蹤標志?*/
void?read_lock_bh(rwlock_t?*lock);/*?在獲得鎖之前禁止軟件中斷?*/

void?read_unlock(rwlock_t?*lock);
voidread_unlock_irqrestore(rwlock_t?*lock,?unsigned?long?flags);
voidread_unlock_irq(rwlock_t?*lock);
voidread_unlock_bh(rwlock_t?*lock);
沒有read_trylock函數可用。

寫入相關的自旋鎖的函數:
void?write_lock(rwlock_t?*lock);
voidwrite_lock_irqsave(rwlock_t?*lock,?unsigned?long?flags);
voidwrite_lock_irq(rwlock_t?*lock);/*?同上,?但無跟蹤標志?*/
voidwrite_lock_bh(rwlock_t?*lock);/*?在獲得鎖之前禁止軟件中斷?*/

voidwrite_unlock(rwlock_t?*lock);
voidwrite_unlock_irqrestore(rwlock_t?*lock,?unsigned?long?flags);
voidwrite_unlock_irq(rwlock_t?*lock);
void?write_unlock_bh(rwlock_t?*lock);

排隊自旋鎖(FIFO?Ticket?Spinlock)
排隊自旋鎖(FIFO?Ticket?Spinlock)是?Linux?內核?2.6.25?版本中引入的一種新型自旋鎖,它解決了傳統自旋鎖由于無序競爭導致的公平性問題。
參考:Linux?內核的排隊自旋鎖(FIFO?Ticket?Spinlock)

內核處理方式我的理解如下:
將自旋鎖的計數整數分成兩個域:Next域和Owner域,兩個域的位數相同。分別保存未來鎖申請者和當前鎖持有者的票據序號(Ticket?Number),初始時Next?=?Owner?=?0
當申請者申請排隊自旋鎖時,它會獲得一個票據號,是當前Next值,然后Next1;然后比較申請者的票據號和Owner值,若相等,則申請者可以獲得該鎖,否則忙等待;
當申請者處理完后釋放排隊自旋鎖時,會使該鎖的Owner值增1。等待的下一個申請者會發現這一變化,從忙等待狀態中退出,并獲得該鎖。
線程將嚴格地按照申請順序拿到Next票據號,然后隨著Owner的增加,票據號?=?Owner的申請者依次獲取排隊自旋鎖,從而完全解決了不公平問題。
排序自旋鎖和銀行的拿號排隊的原理是相同的。

死鎖
產生死鎖的原因:資源競爭以及進程推進順序非法
產生死鎖的4個必要條件:

·?互斥條件

·?請求保持條件

·?不可剝奪條件

·?環路條件

死鎖的預防:預先靜態分配法?和?資源有序分配法


免鎖方法
1、循環緩沖區——免鎖算法
在設備驅動程序中使用相當普遍,特別是網絡適配器(處理交換數據)
一個生產者將數據放入數組的結尾,消費者從數組的另一端移走數據,當到達數組尾部時,生產者繞回到數組頭部。沒有多個生產者或消費者的情況下,循環緩沖區不需要加鎖。
內核中有一個通用的循環緩沖區實現,參閱<linux/kfifo.h>
參考:Linux設備驅動程序學習(3-補)-Linux中的循環緩沖區

2、原子變量
有時,共享的資源可能恰好是個簡單的整數值。
內核提供了一種原子的整數類型,稱為:atomic_t
定義在:<asm/atomic.h>
這是一個與CPU架構有關的變量。
atomic_t數據項必須只能通過下面的函數來訪問
初始化:
void?atomic_set(atomic_t?*v,?int?i);
atomic_t?v?=?ATOMIC_INIT(0);
讀取變量值:
int?atomic_read(atomic_t?*v);
增減操作:(注意不返回操作后的結果)
void?atomic_add(int?i,?atomic_t?*v);??/*?v=+i?*/
void?atomic_sub(int?i,?atomic_t?*v);?/*?v=-i?*/
void?atomic_inc(atomic_t?*v);???/*?v++?*/
void?atomic_dec(atomic_t?*v);??/*?v--?*/
附加操作:
操作后并測試原子值,若為0,則返回true,否則返回false
int?atomic_inc_and_test(atomic_t?*v);??
int?atomic_dec_and_test(atomic_t?*v);
int?atomic_sub_and_test(int?i,?atomic_t?*v);
操作后并測試原子值,若為負,則返回true,否則返回false
int?atomic_add_negative(int?i,?atomic_t?*v);
操作后并返回原子值給調用者
int?atomic_add_return(int?i,?atomic_t?*v);
int?atomic_sub_return(int?i,?atomic_t?*v);
int?atomic_inc_return(atomic_t?*v);
int?atomic_dec_return(atomic_t?*v);


3、位操作
內核提供了一組可原子地修改和測試單個位的函數。
原子位操作只要硬件允許,就可以使用單個機器指令來執行,并且不需要禁止中斷。所以位操作也是依賴于具體的架構,在<asm/bitops.h>中聲明
nr通常定義為int型或unsigned?longaddr通常是unsigned?long*?或?void*
void?set_bit(nr,?void?*addr);???/*設置addr指向的數據項的第nr*/
void?clear_bit(nr,?void?*addr);?/*清除addr指向的數據項的第nr*/
void?change_bit(nr,?void?*addr);/*切換addr指向的數據項的第nr*/

test_bit(nr,?void?*addr);/*返回指定位的當前值,唯一不必原子方式實現的位操作函數*/

int?test_and_set_bit(nr,?void?*addr);??/*設定指定位,并返回指定位的先前值*/
int?test_and_clear_bit(nr,?void?*addr);/*清除指定位,并返回指定位的先前值*/
int?test_and_change_bit(nr,?void?*addr);/*切換指定位,并返回指定位的先前值*/

在新代碼中應該優先使用自旋鎖,因為自旋鎖已經很好的調試過,并且易讀性比位操作更好。


4、順序鎖(seqlock
當要保護的資源很小、很簡單、會頻繁被訪問而且寫入訪問很少發生且必須快速時,就可以使用seqlock
seqlock通常不能用于保護包含有指針的數據結構。

seqlock<linux/seqlock.h>中定義。
seqlock_t?lock1?=?SEQLOCK_UNLOCKED;
seqlock_t?lock2;
seqlock_init(&lock2);

seqlock允許讀取者對資源的自由訪問,但需要讀取者檢查是否和寫入著發生沖突,沖突發生時,需要重試訪問資源。讀取者的代碼如下:
unsigned?int?seq;
do?{
???????seq?=?read_seqbegin(&the_lock);????/*?獲得一個(無符號的)整數順序值seq*/
??????/*?Do?what?you?need?to?do?*/
}?while?read_seqretry(&the_lock,?seq);??/*退出時,seq和當前值比較,若不等則重試*/
在中斷處理例程中,使用IRQ安全版本:
unsigned?int?read_seqbegin_irqsave(seqlock_t?*lock,?unsigned?long?flags);
int?read_seqretry_irqrestore(seqlock_t?*lock,?unsigned?int?seq,?unsigned?long?flags);

寫入者在進入由seqlock保護的臨界區時獲得一個互斥鎖。(寫入鎖使用自旋鎖實現)
void?write_seqlock(seqlock_t?*lock);
釋放鎖:
void?write_sequnlock(seqlock_t?*lock);
常用變種:
void?write_seqlock_irqsave(seqlock_t?*lock,?unsigned?long?flags);
void?write_seqlock_irq(seqlock_t?*lock);
void?write_seqlock_bh(seqlock_t?*lock);

void?write_sequnlock_irqrestore(seqlock_t?*lock,?unsigned?long?flags);
void?write_sequnlock_irq(seqlock_t?*lock);
void?write_sequnlock_bh(seqlock_t?*lock);

5、讀取-復制-更新(read-copy-updateRCU
一種高級的互斥機制,它針對經常發生讀取而很少寫入的情形的優化。被保護的資源應該通過指針訪問,而對這些資源的訪問應該通過指針進行,而對這些資源的引用必須僅有原子代碼擁有。在需要修改該數據結構時,寫入線程首先復制,然后修改副本,子后用新的版本替代相關指針。當內核確信老的版本上沒有其他引用時,可以釋放老的版本。

參見RCU的白皮書
(http://www.rdrop.com/users/paulmck/rclock/intro/rclock_intro.html).
以及內核頭文件?<linux/rcupdate.h>
應用實例參考網絡路由表

參考文獻:
1.Linux?Device?Driver?3rd
2.Linux?Kernel?Develoment?2nd
3.Linux內核的同步機制

總結

以上是生活随笔為你收集整理的linux的同步与互斥的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91精品久久久久久久91蜜桃 | 狠狠色丁香婷婷综合视频 | 久久久久免费观看 | 亚洲国产精品va在线看 | 激情久久久久 | 免费99精品国产自在在线 | 成人在线观看你懂的 | 91精品在线免费视频 | 黄色亚洲精品 | 一区二区精品视频 | 精品福利在线视频 | 国产99精品在线观看 | 国产亚洲精品久久 | 亚洲精品在线视频播放 | 日韩美女高潮 | 久久香蕉电影 | 精品久久久久久国产91 | 久久亚洲日本 | 日韩中文三级 | 国产午夜在线观看视频 | 在线观看网站你懂的 | 黄色小说在线免费观看 | 国产精品视频你懂的 | 日韩av一区二区在线播放 | 免费大片黄在线 | 成人久久视频 | 免费观看性生交大片3 | 日韩一级理论片 | 日韩成人免费在线观看 | 亚洲综合精品在线 | 中文字幕国产精品 | 色就是色综合 | 欧美激情第十页 | 久久久国产精品一区二区中文 | 91在线产啪 | 男女拍拍免费视频 | 美腿丝袜一区二区三区 | 亚洲精品乱码久久久久v最新版 | 99在线热播 | 亚洲一区精品人人爽人人躁 | 欧美日韩免费在线观看视频 | 98超碰在线 | 日韩高清在线观看 | 摸bbb搡bbb搡bbbb | 亚洲国产精品一区二区尤物区 | 97成人啪啪网 | 少妇bbbb搡bbbb桶 | 最近中文字幕在线中文高清版 | 久久99影院 | 国产成人av在线影院 | 久草视频在线免费播放 | 国产成人精品一区二区三区福利 | 欧美一级电影在线观看 | 国产精品视频地址 | 黄色视屏免费在线观看 | 五月婷婷综合激情网 | 玖玖精品视频 | 久久草在线精品 | 国产一区播放 | 欧美日韩高清在线一区 | 色婷婷88av视频一二三区 | 婷婷色在线资源 | 在线观看网站你懂的 | 中文字幕 第二区 | 日韩在线 一区二区 | 国产在线欧美日韩 | 香蕉视频久久久 | a视频在线| 亚洲精品成人免费 | 午夜12点| 国产伦精品一区二区三区四区视频 | 丝袜美腿在线 | 日韩 国产 | 草莓视频在线观看免费观看 | 极品久久久久 | 91九色蝌蚪视频网站 | 香蕉视频导航 | 射久久 | 91最新中文字幕 | 欧美性一级观看 | 精产嫩模国品一二三区 | 久草免费看 | 中文字幕高清在线 | 成人app在线免费观看 | 人人爽人人澡人人添人人人人 | 国产探花视频在线播放 | 国产五十路毛片 | 亚洲一区二区天堂 | 久久视 | 成人av片免费观看app下载 | 激情网在线视频 | 日韩视频一区二区三区在线播放免费观看 | 天天操天天色综合 | 首页av在线 | 2020天天干天天操 | 亚洲成人免费在线观看 | 激情视频一区 | 久久人人97超碰国产公开结果 | 97碰视频| 精品在线观看视频 | 在线观看免费视频你懂的 | 国产人成一区二区三区影院 | 国产午夜精品一区二区三区欧美 | 国产婷婷久久 | 久久久精品午夜 | 久久伊人八月婷婷综合激情 | 国产在线a | 天堂av最新网址 | 日韩在线视频观看 | 日韩av在线一区二区 | ww视频在线观看 | 成人国产精品久久久春色 | 999抗病毒口服液 | 天天操天天操一操 | 精品国产日本 | 亚洲经典视频在线观看 | 免费 在线 中文 日本 | 久草线| 国产精品久久久久一区 | 麻豆久久精品 | 亚洲欧美视屏 | 亚洲欧洲一区二区在线观看 | 天天操天天射天天插 | av免费电影在线 | 特黄一级毛片 | 中文字幕第一页在线 | 免费一区在线 | 日日夜夜精品免费观看 | 91精品国产自产在线观看永久 | 视频一区二区国产 | 99久久夜色精品国产亚洲96 | 在线观看涩涩 | 日本女人的性生活视频 | 成人h视频| 成人一级片在线观看 | 色姑娘综合天天 | 国内精品视频一区二区三区八戒 | 最新av在线网站 | 亚洲一区在线看 | 国产日韩视频在线播放 | 国产精品女人久久久 | 欧美久久久久久久久久 | 免费黄色小网站 | 五月av在线 | 亚洲精品国产成人av在线 | 精品a级片 | 成年人在线视频观看 | 九九热免费视频在线观看 | 岛国精品一区二区 | 国产一区二区高清 | 在线а√天堂中文官网 | 国产中文字幕一区二区 | 国产综合精品久久 | 99精品免费久久久久久久久日本 | 色停停五月天 | av黄色在线 | 在线看国产视频 | 日韩网页| 蜜臀91丨九色丨蝌蚪老版 | 国产午夜精品一区二区三区四区 | 国产一级二级三级在线观看 | 成年人免费在线 | 亚洲天堂网在线视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 成人97视频一区二区 | 久久99国产一区二区三区 | 色综合久久久久综合99 | 日一日操一操 | 97国产超碰在线 | 不卡的av中文字幕 | 最新av网址在线观看 | 国产高清av免费在线观看 | 精品国产乱码一区二区三区在线 | 国产资源精品在线观看 | 国产精品视频地址 | 国产精品6 | 一级性视频 | 91精品视频网站 | 国产精品亚 | 97av影院 | 天天色天天干天天色 | 97香蕉久久国产在线观看 | 欧美日韩xxxxx | 国产精品永久免费视频 | 午夜国产福利在线 | 91丨九色丨国产丨porny精品 | 97伊人网| 麻花天美星空视频 | 国产精品午夜久久 | 99久久精品久久久久久动态片 | 亚洲欧美日韩国产精品一区午夜 | 亚洲涩涩涩 | 欧美a影视 | 欧美一级日韩三级 | 久久精品99国产精品亚洲最刺激 | 国产成人黄色网址 | 亚洲视频一| 日韩欧美国产精品 | 久一久久 | 麻豆免费精品视频 | 午夜日b视频 | 99精品欧美一区二区蜜桃免费 | 麻豆国产网站 | 久久国产三级 | 天天色综合久久 | 亚洲va在线va天堂va偷拍 | 国产精品网红直播 | 免费精品视频 | 日韩精品高清不卡 | www.伊人色.com| 婷婷激情五月 | 久久女教师 | av色影院 | av在线播放免费 | 亚洲 成人 一区 | 久久超碰97 | 国产激情久久久 | 亚洲精品在线观 | 久久精品视频观看 | 国产一区二区三精品久久久无广告 | 色资源网在线观看 | 麻豆影视在线免费观看 | 久久视频在线看 | 国产视频亚洲精品 | 日韩中文字幕免费在线播放 | 五月天久久久 | 久要激情网 | 久久久久久久久久免费 | 国产伦理久久精品久久久久_ | 久久一精品 | 国产精彩视频一区 | 精品国产一区二区三区在线观看 | 精品国产乱码久久久久久天美 | 中文字幕在线影视资源 | 国产丝袜制服在线 | 97视频资源 | 91在线播放国产 | 婷婷国产v亚洲v欧美久久 | 女女av在线| 国产精品涩涩屋www在线观看 | 天天激情在线 | 色综合小说| 久久亚洲综合国产精品99麻豆的功能介绍 | 97热久久免费频精品99 | 精品国产伦一区二区三区观看方式 | 国产精品剧情在线亚洲 | 91精品在线免费 | 97精品国产手机 | 亚州av免费 | 激情 婷婷 | 欧美性黄网官网 | 亚洲午夜av | 欧美极品xxxx| 天天干天天干天天操 | 96久久欧美麻豆网站 | 丁香婷婷激情国产高清秒播 | 天天操天天射天天插 | 国产一区二区在线视频观看 | 91视频免费观看 | 中文字幕一区二区三区视频 | www.99热精品| 波多野结衣精品在线 | 久久视影 | 最新日韩视频 | 91色综合| a级黄色片视频 | 热精品 | 天天射夜夜爽 | 狂野欧美激情性xxxx | 97超碰人人澡人人爱学生 | 精品电影一区二区 | 日韩精品视频在线观看免费 | 中文字幕日韩av | 久久狠狠干| 麻豆系列在线观看 | 又黄又网站 | 97在线视频网站 | 国产精品美女999 | 亚洲精品国产综合99久久夜夜嗨 | 精品久久91| 国产视频在线观看一区 | 岛国一区在线 | 午夜av一区二区三区 | 久久成人国产精品 | 人人干在线 | 亚洲精品在线资源 | 日韩最新在线 | 色99在线 | 精品久久久久久久久久久久久久久久 | 99精品在线看 | 免费看污黄网站 | 色老板在线 | 久久国产手机看片 | 麻豆视频国产精品 | 国产无遮挡又黄又爽在线观看 | 狠狠色丁香婷婷综合橹88 | 美女网站黄免费 | 国产一区在线视频播放 | 在线成人中文字幕 | 亚洲精品成人av在线 | 97人人模人人爽人人喊中文字 | 日本性动态图 | 9免费视频 | 99色国产 | 成年人免费电影在线观看 | 亚洲www天堂com | 91精品国产综合久久婷婷香蕉 | 2019中文字幕网站 | 国产专区精品 | 91av精品| 免费福利片2019潦草影视午夜 | 精品麻豆 | 国产成人精品一区二区三区福利 | 在线激情av电影 | 亚洲美女久久 | 日韩av不卡在线观看 | 在线观看av网站 | 国产黄a三级三级三级三级三级 | 在线国产不卡 | 国产精品自在线拍国产 | 一级久久精品 | 日韩91在线 | 久久免费看a级毛毛片 | 国产精品免费观看网站 | 色婷婷激婷婷情综天天 | 日本黄色免费播放 | 蜜臀av一区二区 | www在线观看视频 | 色福利网站 | 99久久99久久精品国产片果冰 | 天天在线视频色 | 久久在线精品视频 | 国产精品久久久久三级 | 视频一区二区在线观看 | 一级黄色片毛片 | 国产高清视频在线观看 | 欧美午夜理伦三级在线观看 | 免费av片在线 | 一区二区精品在线 | 99re亚洲国产精品 | 激情视频在线观看网址 | 久久久九色精品国产一区二区三区 | 久久在线免费观看视频 | 日韩高清网站 | 国产原创在线观看 | 成人av在线影院 | www.888.av| 日韩美女一级片 | 国产一性一爱一乱一交 | 中文字幕在线看视频 | 免费在线精品视频 | 日韩免费网站 | 丁香电影小说免费视频观看 | 亚洲精品美女久久久久网站 | 国产色视频网站2 | 国产精品免费一区二区 | 国产精品资源在线 | 欧美极品xxx| 日韩在线免费看 | 国产精品一区二区果冻传媒 | 久久精品中文 | 97在线观 | 粉嫩av一区二区三区四区五区 | 国内精品久久久久久久久久久 | 99免费国产 | 天天操天天操一操 | 天天爽天天爽天天爽 | 精品主播网红福利资源观看 | 中文字幕在线观看不卡 | 97视频在线观看免费 | 天天综合网天天综合色 | 婷婷六月激情 | japanesexxx乱女另类 | 91网在线看| 国产一级一片免费播放放a 一区二区三区国产欧美 | 久久久午夜剧场 | 97福利视频 | a级片在线播放 | 婷婷 中文字幕 | 中文永久免费观看 | 天天拍天天色 | 日本精品视频网站 | 91精品久久久久久久91蜜桃 | 久久精品久久精品久久精品 | 色噜噜在线观看视频 | 国产黄a三级三级 | 日本中文在线 | 久久精品视频日本 | av免费在线看网站 | 免费看污污视频的网站 | 久久国产一二区 | 亚州精品视频 | 国产色婷婷精品综合在线手机播放 | 亚洲精品视频在线播放 | 日韩精品免费在线观看视频 | 成人午夜毛片 | 韩国精品一区二区三区六区色诱 | 男女拍拍免费视频 | 少妇视频在线播放 | 91av在线免费 | 91在线影视 | 操高跟美女 | 亚洲涩涩色 | 国产精品女同一区二区三区久久夜 | 久久精品中文视频 | 精品1区2区| 精品欧美小视频在线观看 | 久久综合中文字幕 | 日本精品在线 | 麻豆精品91 | 在线欧美小视频 | 97人人人| 久草精品电影 | 狠狠干网址 | 韩国精品福利一区二区三区 | 久久综合久久综合这里只有精品 | 免费看黄色小说的网站 | 亚洲精品在线资源 | 色网址99 | 日韩电影在线观看中文字幕 | 久久久久久久久毛片精品 | 中文字幕久久亚洲 | 久久精品黄色 | 中文av在线播放 | 91视频在线免费下载 | 国产精品久久久久久久免费大片 | 国产成人精品一区在线 | 欧美久草在线 | 国产99久久九九精品免费 | 精品专区一区二区 | 中文字幕在线观看免费 | 日韩激情视频在线观看 | 免费在线观看日韩视频 | 中文在线免费一区三区 | 久久久福利视频 | 亚洲精品网站 | 婷色在线 | 嫩草91影院 | 91免费网站在线观看 | 天天操网址 | 在线成人免费电影 | 夜夜操天天摸 | 国产玖玖在线 | 亚洲免费在线观看视频 | 日韩电影精品 | 免费av黄色 | 国产只有精品 | av成年人电影 | 91成人精品国产刺激国语对白 | 日韩av不卡在线观看 | 天天操比| 亚洲不卡123 | 久久国产精品一区二区三区四区 | 激情网色| 色噜噜日韩精品一区二区三区视频 | 波多野结衣在线视频免费观看 | 国产精品自拍av | 五月天丁香视频 | 久久五月天色综合 | 五月婷婷丁香在线观看 | 在线观看午夜av | 国产日韩视频在线观看 | 久久久国产成人 | 亚洲最新av网址 | 天天操天操 | 精品国产精品久久一区免费式 | 偷拍区另类综合在线 | 色噜噜在线观看视频 | 久久亚洲免费 | 国产码电影 | 日韩三级在线 | 97超碰精品 | 97香蕉久久国产在线观看 | 天天色棕合合合合合合 | 九九久久久久久久久激情 | 国产手机在线观看 | 日韩国产精品久久 | 国产黄色精品在线 | 麻豆一精品传二传媒短视频 | 国产日产精品一区二区三区四区的观看方式 | 丁香 婷婷 激情 | 日韩在线观看一区二区三区 | www一起操 | 国产国语在线 | 日韩夜夜爽| 91日韩在线专区 | 欧美一级免费 | 成人在线观看影院 | 黄网av在线 | 香蕉影视app | 又黄又刺激又爽的视频 | 国产偷v国产偷∨精品视频 在线草 | 色国产精品 | 国产区精品在线 | 久久久精品在线观看 | 久久国产精品一国产精品 | 国产专区视频在线观看 | 国产精品 日韩精品 | 天天综合导航 | av中文字幕第一页 | 国产在线观看你懂得 | 国产精品亚洲a | 日韩免费看片 | 国产裸体视频bbbbb | 欧美一区二区在线 | 国产精品久久9 | 国产自制av | 免费aa大片| 日韩中文字幕视频在线观看 | av在线影视 | 欧美一区日韩精品 | 亚洲毛片在线观看. | 国产精品69久久久久 | 在线免费观看黄色大片 | 超碰精品在线 | 国产成人精品亚洲 | 欧美日韩在线第一页 | 在线国产专区 | 久草在线观看视频免费 | 亚洲国产影院 | 伊人天堂网 | 成年人免费在线播放 | 日本高清中文字幕有码在线 | av中文字幕电影 | 日韩免费一二三区 | 日韩av成人| 亚洲精品美女在线观看播放 | 91亚·色 | 国产综合小视频 | 亚洲欧美国产精品久久久久 | av爱干| 国产精品成人自产拍在线观看 | 欧美日韩久久不卡 | 在线日韩亚洲 | 超碰在线亚洲 | 亚洲高清视频一区二区三区 | 午夜性生活 | 欧美日韩高清一区二区三区 | 久久精品xxx | 欧美久久久久久久久久久 | 日韩视频欧美视频 | 久久这里只有精品视频99 | 99久久婷婷国产综合精品 | 久久精品这里都是精品 | 日韩精品一区二区三区丰满 | 菠萝菠萝在线精品视频 | 日韩免费视频线观看 | 午夜视频在线观看网站 | 99麻豆视频 | 日韩免费一级电影 | 九九电影在线 | 天天射综合 | 日韩一级电影在线观看 | 日韩精品一区二区三区丰满 | 天天曰天天干 | 国产欧美高清 | 操少妇视频 | 国产群p| 国产精品自产拍 | 日产乱码一二三区别免费 | 午夜精品久久久久久 | 日韩精品中字 | 四虎国产视频 | 免费在线观看的av网站 | 91九色精品国产 | 久久超碰免费 | 国内精品久久久久影院日本资源 | 波多野结衣日韩 | 黄色免费av | 一区二区三区在线观看中文字幕 | 日韩视频图片 | 久久人人97超碰精品888 | 最新av在线播放 | 国产在线观看 | 高潮毛片无遮挡高清免费 | 国产一级在线免费观看 | 摸bbb搡bbb搡bbbb | 成年人app网址 | 在线播放亚洲 | 亚州av成人 | 综合成人在线 | wwxxx日本| 欧美永久视频 | 婷婷丁香狠狠爱 | 国产a网站 | 婷婷丁香花五月天 | 91精品91| 久久久久区 | 中文字幕你懂的 | 久久久久久久99 | 欧美精品v国产精品 | 免费a视频 | 九九视频这里只有精品 | 亚洲精品久久久久久中文传媒 | 国产一级小视频 | 91精品伦理| 久草视频在线看 | 麻豆va一区二区三区久久浪 | 久久亚洲私人国产精品va | 国内精品久久久久久久影视简单 | 欧美一二三区在线播放 | 国产视频一区二区在线播放 | 日韩专区视频 | 久久电影国产免费久久电影 | 美女黄频视频大全 | 中文字幕在线中文 | 六月婷婷久香在线视频 | 国产精品原创av片国产免费 | 欧美精品免费视频 | 亚洲国产成人av网 | 在线视频 你懂得 | 黄色毛片在线 | 日本天天操 | 国产精品成人久久久久 | 久久婷婷国产色一区二区三区 | 久久天| 亚洲黄色av网址 | 午夜三级大片 | 亚洲视频专区在线 | 久久精品国产免费看久久精品 | av免费看电影 | 麻豆网站免费观看 | 亚洲精品在线视频网站 | 国产中的精品av小宝探花 | 欧美一级性| 国产精品久久久久久久久久久免费 | 日韩特级片| 亚洲成av人影院 | 91精品国产综合久久婷婷香蕉 | 在线观看视频免费播放 | 狠狠色丁香婷婷综合欧美 | 久久久精品 一区二区三区 国产99视频在线观看 | 99久久精品久久久久久动态片 | 久久久伦理 | 草久视频在线观看 | 久久久久久久久久久久影院 | 日本最新高清不卡中文字幕 | 欧美一二三专区 | 亚洲作爱 | 四虎国产精品免费观看视频优播 | 精品产品国产在线不卡 | 国产亚洲午夜高清国产拍精品 | 亚洲视频网站在线观看 | 亚洲婷婷伊人 | 久久不卡av | 久久伊人精品天天 | 婷婷免费视频 | 在线精品播放 | 午夜视频在线观看一区 | 一级做a爱片性色毛片www | 国内精品久久久久影院一蜜桃 | 国产中文字幕一区 | 啪啪动态视频 | 国产成人av网 | 九九热在线免费观看 | 91日韩精品一区 | 五月婷婷六月丁香激情 | 日本中文字幕观看 | 久久99视频精品 | 久久伦理网 | 日韩午夜在线观看 | 国产福利精品视频 | 午夜av一区 | 国内视频一区二区 | 国产精品高清免费在线观看 | 日韩精品一区二区三区在线播放 | 91精品视频在线看 | 91麻豆精品国产91 | 欧美福利片在线观看 | 99中文字幕视频 | 国产成人av一区二区三区在线观看 | 成人在线视频一区 | 欧美aa在线 | 久久成人午夜 | 香蕉免费 | 丁香婷婷射 | 深爱五月网 | 亚洲精品合集 | 色综合天天色 | 在线免费av网站 | 欧美一级视频免费看 | 99久久99久久精品国产片果冰 | 亚洲国产精品久久久久 | 在线播放视频一区 | 久久爽久久爽久久av东京爽 | 亚洲国产美女精品久久久久∴ | 一区二区三区在线视频观看58 | 国产亚洲在线观看 | 欧美精品在线免费 | 亚洲国产高清在线观看视频 | 这里只有精品视频在线 | 日韩精品免费在线观看视频 | 色综合久久中文综合久久牛 | 九月婷婷色 | 国产精品mm | 亚洲天天综合网 | 日韩电影在线视频 | 91成人精品国产刺激国语对白 | 欧美怡红院| 福利电影一区二区 | 日韩中文字幕在线观看 | av不卡中文字幕 | 九九久久国产精品 | 亚洲国产网站 | 国产精品网红直播 | 香蕉视频18| 在线观看色网站 | 日韩电影在线观看一区 | 久久中文网| 久久久午夜电影 | 亚洲精品乱码久久久久久9色 | 狠狠的操| 亚洲天天摸日日摸天天欢 | 欧美一级黄色片 | 欧美视频在线二区 | 国内久久精品 | 特级西西www44高清大胆图片 | 丁香六月婷 | 久久好看免费视频 | 国产麻豆精品传媒av国产下载 | 在线观看成人毛片 | 亚洲国产三级在线观看 | 国产又粗又长的视频 | 日本 在线 视频 中文 有码 | 国产亚洲精品av | 激情网五月婷婷 | 久久男人中文字幕资源站 | 欧美色综合天天久久综合精品 | 国产人免费人成免费视频 | 日本中文在线播放 | 狠狠干美女 | 国产精品美女久久久免费 | 在线观看深夜视频 | 97免费视频在线播放 | 国产精品色婷婷 | 三级免费黄色 | 久久久久免费精品国产小说色大师 | 国产日韩中文字幕在线 | 少妇视频在线播放 | 国产在线探花 | 国产精品毛片一区二区在线 | 又紧又大又爽精品一区二区 | 99国产精品免费网站 | 激情伊人五月天久久综合 | 视频一区在线免费观看 | 日韩中文免费视频 | 亚洲第一色 | 在线免费观看视频一区 | 成人av高清在线 | 91精品办公室少妇高潮对白 | 91网站在线视频 | 操少妇视频| 国产成人精品久 | 爱av在线网 | 久久999精品 | 伊人久久国产 | 亚洲美女在线国产 | 欧美成人69av | 亚洲国产精品久久久 | 国产黄色精品在线观看 | 蜜臀av免费一区二区三区 | 久久免费精品视频 | 91九色视频在线播放 | 国产不卡免费视频 | 99视频+国产日韩欧美 | 中文字幕在线观看第一页 | 久久天堂网站 | 久久久久久视频 | 香蕉久久久久 | 亚洲精品美女久久17c | 中文字幕有码在线观看 | 99久久精品免费一区 | 久久久久免费网 | 三级黄色欧美 | 黄色精品一区 | 午夜国产成人 | 在线观看国产一区 | 国产在线视频一区二区 | 亚洲91中文字幕无线码三区 | 手机在线中文字幕 | 国产一区自拍视频 | 免费看黄色小说的网站 | 久久久久国产精品免费免费搜索 | 美女网站色 | 日本一区二区免费在线观看 | 在线观看中文字幕一区二区 | 日韩一级片网址 | 国产精品国内免费一区二区三区 | 人人爱在线视频 | 日本精品在线 | 亚洲高清av在线 | 国产中文字幕视频 | 国产亚洲精品美女 | 午夜精品视频一区二区三区在线看 | 国产精品字幕 | 最近中文字幕在线中文高清版 | 一区二区三区韩国免费中文网站 | 成人免费毛片aaaaaa片 | 中文字幕在线免费播放 | 超碰在线1| 综合色狠狠 | 国产一区二区久久久 | 久久伊人色综合 | 国产天天爽 | 99精品视频网站 | 黄污网站在线 | 国产高清 不卡 | 国产亚洲一区二区在线观看 | 在线视频免费观看 | 免费在线观看成年人视频 | 日韩和的一区二在线 | 久艹视频免费观看 | 丁香六月五月婷婷 | 欧美在线a视频 | 一区二区三区免费网站 | 在线看日韩av | 欧美日韩在线观看一区二区三区 | 亚洲国产成人精品在线观看 | 黄色免费大片 | 99国产在线视频 | 久久久久国产精品厨房 | 久久理论视频 | 精品国产一区在线观看 | 天天艹 | 欧美成人精品欧美一级乱 | 中文字幕在线观看网 | 久久超碰网 | 国产色婷婷 | 日韩欧美综合精品 | 亚州国产精品视频 | 精品免费 | 日韩视频在线观看免费 | a在线观看视频 | 精品一区 精品二区 | 国产五月天婷婷 | 日韩精品视频免费看 | 欧美极品xxx | 国产网站色 | 欧美日本一二三 | 久久免费视频在线观看30 | 免费av网站观看 | 欧美午夜一区二区福利视频 | 国产日韩在线一区 | 日本中文在线 | 射久久| 一区二区三区免费在线播放 | 色综合综合 | 日本免费一二三区 | 精品一区欧美 | 亚洲成人黄色在线观看 | 麻豆91精品视频 | 欧美日韩一区二区三区在线免费观看 | 91精品国产麻豆国产自产影视 | 97在线影院 | 91亚色视频在线观看 | 亚洲精品综合一二三区在线观看 | 黄av资源| 欧美日韩精品二区第二页 | 99精品国产在热久久 | 精品国产欧美一区二区三区不卡 | 四虎www com| 看黄色91| 综合色狠狠 | 国产日本三级 | 欧美一区,二区 | 亚洲男男gaygay无套同网址 | 97综合网| 一区二区视频在线观看免费 | 亚洲精品资源 | 国产高清久久久 | 99免费视频 | 可以免费观看的av片 | 亚洲成av人电影 | 欧美日韩有码 | 中文字幕中文字幕在线中文字幕三区 | 亚洲在线高清 | 天天操夜夜操夜夜操 | 国产视频精品免费 | 国产精品男女 | 五月婷婷一级片 | 91精品网站 | av在线播放国产 | 亚洲一区二区三区在线看 | 日本精油按摩3 | 91久久精品日日躁夜夜躁国产 | 午夜三级大片 | 国产不卡视频 | 乱子伦av | 久久精品久久精品久久精品 | 欧美一区日韩精品 | 国产成人在线免费观看 | 国内视频在线观看 | 亚洲欧美日韩精品久久奇米一区 | 99在线热播精品免费99热 | 免费在线成人 | 婷婷丁香色综合狠狠色 | 色婷婷综合激情 | 欧美日韩一级视频 | 色诱亚洲精品久久久久久 | av电影免费在线播放 | 亚洲精品视频在线免费播放 | av电影在线免费观看 | 精品高清视频 | 手机在线观看国产精品 | 久久综合五月天 | 国产精品久久久久影视 | 日韩视频一区二区在线观看 | 久久综合久久综合这里只有精品 | 亚洲激情婷婷 | 国产91精品看黄网站 | 亚洲成人av片在线观看 | 中文字幕中文字幕在线一区 | 欧美伦理一区二区三区 | 国产精品久久久久久爽爽爽 | 福利一区在线视频 | av一本久道久久波多野结衣 | 亚洲精品88欧美一区二区 | 国产区精品区 | 国产91影视| 91av在线免费视频 | 在线日韩视频 | 久久xx视频 | 久久精品国产一区 | 日韩av偷拍 | 伊人伊成久久人综合网小说 | 国产精品成久久久久三级 | 国产黄色片免费观看 | 五月天婷婷丁香花 | 久久久久国产成人精品亚洲午夜 | 欧美激情h | 亚洲综合在线五月天 | 成人免费在线视频 | 亚洲国产成人高清精品 | 国产精在线| 日韩1页 | 日韩成人av在线 | www.久久色 | 欧美久久电影 | 亚洲婷婷网 | 国产在线p| 久久a v视频| 免费在线国产 | 国产精品99久久久久久久久久久久 | 国产一区 在线播放 | 99久热在线精品视频成人一区 | 小草av在线播放 | 一区二区三区不卡在线 | 麻豆极品| 免费观看av网站 | 97国产大学生情侣酒店的特点 | 干综合网| 国产精品福利av | 97在线观看视频国产 | 香蕉成人在线视频 | 久久成人国产精品一区二区 | 视频精品一区二区三区 | 国产最新精品视频 | 91成人破解版 | 激情久久久久 | 国产亚洲成人网 | 久久久精品网站 | av最新资源 | 超碰人人草 | 色偷偷88888欧美精品久久久 | 少妇bbbb | 中文字幕网站视频在线 | 狠狠色狠狠色综合日日小说 | 日韩av电影中文字幕 | 日韩亚洲在线视频 | 日韩色中色| 亚洲精品福利在线观看 | 免费一级片观看 | 免费看三片| 精品一区二区久久久久久久网站 | 最近中文字幕免费大全 | 91你懂的| 亚洲综合在线一区二区三区 | 亚洲欧美国产精品久久久久 | 亚洲国产资源 | 在线观看av小说 | 欧美国产精品一区二区 | 悠悠av资源片 | 日韩精品短视频 | 很黄很污的视频网站 | 日韩羞羞| 久久国语| av三级在线播放 | 日本69hd | 亚洲精品理论 | 免费黄色a级毛片 | 国产精品嫩草55av | 国产精品黄色av | 欧美精品久久久久久久久久 | 日韩av成人在线 | 午夜视频播放 | 97理论片| 青青河边草免费视频 | 日韩精品中文字幕av |