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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux 信号量 源码,一文读懂go中semaphore(信号量)源码

發(fā)布時(shí)間:2024/4/11 linux 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 信号量 源码,一文读懂go中semaphore(信号量)源码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

運(yùn)行時(shí)信號(hào)量機(jī)制 semaphore

前言

最近在看源碼,發(fā)現(xiàn)好多地方用到了這個(gè)semaphore。

本文是在go version go1.13.15 darwin/amd64上進(jìn)行的

作用是什么

下面是官方的描述

// Semaphore implementation exposed to Go.

// Intended use is provide a sleep and wakeup

// primitive that can be used in the contended case

// of other synchronization primitives.

// Thus it targets the same goal as Linux's futex,

// but it has much simpler semantics.

//

// That is, don't think of these as semaphores.

// Think of them as a way to implement sleep and wakeup

// such that every sleep is paired with a single wakeup,

// even if, due to races, the wakeup happens before the sleep.

// 具體的用法是提供 sleep 和 wakeup 原語(yǔ)

// 以使其能夠在其它同步原語(yǔ)中的競(jìng)爭(zhēng)情況下使用

// 因此這里的 semaphore 和 Linux 中的 futex 目標(biāo)是一致的

// 只不過(guò)語(yǔ)義上更簡(jiǎn)單一些

//

// 也就是說(shuō),不要認(rèn)為這些是信號(hào)量

// 把這里的東西看作 sleep 和 wakeup 實(shí)現(xiàn)的一種方式

// 每一個(gè) sleep 都會(huì)和一個(gè) wakeup 配對(duì)

// 即使在發(fā)生 race 時(shí),wakeup 在 sleep 之前時(shí)也是如此

上面提到了和futex作用一樣,關(guān)于futex

futex(快速用戶區(qū)互斥的簡(jiǎn)稱)是一個(gè)在Linux上實(shí)現(xiàn)鎖定和構(gòu)建高級(jí)抽象鎖如信號(hào)量和POSIX互斥的基本工具

Futex 由一塊能夠被多個(gè)進(jìn)程共享的內(nèi)存空間(一個(gè)對(duì)齊后的整型變量)組成;這個(gè)整型變量的值能夠通過(guò)匯編語(yǔ)言調(diào)用CPU提供的原子操作指令來(lái)增加或減少,并且一個(gè)進(jìn)程可以等待直到那個(gè)值變成正數(shù)。Futex 的操作幾乎全部在用戶空間完成;只有當(dāng)操作結(jié)果不一致從而需要仲裁時(shí),才需要進(jìn)入操作系統(tǒng)內(nèi)核空間執(zhí)行。這種機(jī)制允許使用 futex 的鎖定原語(yǔ)有非常高的執(zhí)行效率:由于絕大多數(shù)的操作并不需要在多個(gè)進(jìn)程之間進(jìn)行仲裁,所以絕大多數(shù)操作都可以在應(yīng)用程序空間執(zhí)行,而不需要使用(相對(duì)高代價(jià)的)內(nèi)核系統(tǒng)調(diào)用。

go中的semaphore作用和futex目標(biāo)一樣,提供sleep和wakeup原語(yǔ),使其能夠在其它同步原語(yǔ)中的競(jìng)爭(zhēng)情況下使用。當(dāng)一個(gè)goroutine需要休眠時(shí),將其進(jìn)行集中存放,當(dāng)需要wakeup時(shí),再將其取出,重新放入調(diào)度器中。

例如在讀寫鎖的實(shí)現(xiàn)中,讀鎖和寫鎖之前的相互阻塞喚醒,就是通過(guò)sleep和wakeup實(shí)現(xiàn),當(dāng)有讀鎖存在的時(shí)候,新加入的寫鎖通過(guò)semaphore阻塞自己,當(dāng)前面的讀鎖完成,在通過(guò)semaphore喚醒被阻塞的寫鎖。

寫鎖

// 獲取互斥鎖

// 阻塞等待所有讀操作結(jié)束(如果有的話)

func (rw *RWMutex) Lock() {

...

// 原子的修改readerCount的值,直接將readerCount減去rwmutexMaxReaders

// 說(shuō)明,有寫鎖進(jìn)來(lái)了,這在上面的讀鎖中也有體現(xiàn)

r := atomic.AddInt32(&rw.readerCount, -rwmutexMaxReaders) + rwmutexMaxReaders

// 當(dāng)r不為0說(shuō)明,當(dāng)前寫鎖之前有讀鎖的存在

// 修改下readerWait,也就是當(dāng)前寫鎖需要等待的讀鎖的個(gè)數(shù)

if r != 0 && atomic.AddInt32(&rw.readerWait, r) != 0 {

// 阻塞當(dāng)前寫鎖

runtime_SemacquireMutex(&rw.writerSem, false, 0)

}

...

}

通過(guò)runtime_SemacquireMutex對(duì)當(dāng)前寫鎖進(jìn)行sleep

讀鎖釋放

// 減少讀操作計(jì)數(shù),即readerCount--

// 喚醒等待寫操作的協(xié)程(如果有的話)

func (rw *RWMutex) RUnlock() {

...

// 首先通過(guò)atomic的原子性使readerCount-1

// 1.若readerCount大于0, 證明當(dāng)前還有讀鎖, 直接結(jié)束本次操作

// 2.若readerCount小于0, 證明已經(jīng)沒(méi)有讀鎖, 但是還有因?yàn)樽x鎖被阻塞的寫鎖存在

if r := atomic.AddInt32(&rw.readerCount, -1); r < 0 {

// 嘗試喚醒被阻塞的寫鎖

rw.rUnlockSlow(r)

}

...

}

func (rw *RWMutex) rUnlockSlow(r int32) {

...

// readerWait--操作,如果readerWait--操作之后的值為0,說(shuō)明,寫鎖之前,已經(jīng)沒(méi)有讀鎖了

// 通過(guò)writerSem信號(hào)量,喚醒隊(duì)列中第一個(gè)阻塞的寫鎖

if atomic.AddInt32(&rw.readerWait, -1) == 0 {

// 喚醒一個(gè)寫鎖

runtime_Semrelease(&rw.writerSem, false, 1)

}

}

寫鎖處理完之后,調(diào)用runtime_Semrelease來(lái)喚醒sleep的寫鎖

幾個(gè)主要的方法

在go/src/sync/runtime.go中,定義了這幾個(gè)方法

// Semacquire等待*s > 0,然后原子遞減它。

// 它是一個(gè)簡(jiǎn)單的睡眠原語(yǔ),用于同步

// library and不應(yīng)該直接使用。

func runtime_Semacquire(s *uint32)

// SemacquireMutex類似于Semacquire,用來(lái)阻塞互斥的對(duì)象

// 如果lifo為true,waiter將會(huì)被插入到隊(duì)列的頭部

// skipframes是跟蹤過(guò)程中要省略的幀數(shù),從這里開(kāi)始計(jì)算

// runtime_SemacquireMutex's caller.

func runtime_SemacquireMutex(s *uint32, lifo bool, skipframes int)

// Semrelease會(huì)自動(dòng)增加*s并通知一個(gè)被Semacquire阻塞的等待的goroutine

// 它是一個(gè)簡(jiǎn)單的喚醒原語(yǔ),用于同步

// library and不應(yīng)該直接使用。

// 如果handoff為true, 傳遞信號(hào)到隊(duì)列頭部的waiter

// skipframes是跟蹤過(guò)程中要省略的幀數(shù),從這里開(kāi)始計(jì)算

// runtime_Semrelease's caller.

func runtime_Semrelease(s *uint32, handoff bool, skipframes int)

具體的實(shí)現(xiàn)是在go/src/runtime/sema.go中

//go:linkname sync_runtime_Semacquire sync.runtime_Semacquire

func sync_runtime_Semacquire(addr *uint32) {

semacquire1(addr, false, semaBlockProfile, 0)

}

//go:linkname sync_runtime_Semrelease sync.runtime_Semrelease

func sync_runtime_Semrelease(addr *uint32, handoff bool, skipframes int) {

semrelease1(addr, handoff, skipframes)

}

//go:linkname sync_runtime_SemacquireMutex sync.runtime_SemacquireMutex

func sync_runtime_SemacquireMutex(addr *uint32, lifo bool, skipframes int) {

semacquire1(addr, lifo, semaBlockProfile|semaMutexProfile, skipframes)

}

如何實(shí)現(xiàn)

sudog 緩存

semaphore的實(shí)現(xiàn)使用到了sudog,我們先來(lái)看下

sudog 是運(yùn)行時(shí)用來(lái)存放處于阻塞狀態(tài)的goroutine的一個(gè)上層抽象,是用來(lái)實(shí)現(xiàn)用戶態(tài)信號(hào)量的主要機(jī)制之一。 例如當(dāng)一個(gè)goroutine因?yàn)榈却齝hannel的數(shù)據(jù)需要進(jìn)行阻塞時(shí),sudog會(huì)將goroutine及其用于等待數(shù)據(jù)的位置進(jìn)行記錄, 并進(jìn)而串聯(lián)成一個(gè)等待隊(duì)列,或二叉平衡樹(shù)。

// sudogs are allocated from a special pool. Use acquireSudog and

// releaseSudog to allocate and free them.

type sudog struct {

// 以下字段受hchan保護(hù)

g *g

// isSelect 表示 g 正在參與一個(gè) select, so

// 因此 g.selectDone 必須以 CAS 的方式來(lái)獲取wake-up race.

isSelect bool

next *sudog

prev *sudog

elem unsafe.Pointer // 數(shù)據(jù)元素(可能指向棧)

// 以下字段不會(huì)并發(fā)訪問(wèn)。

// 對(duì)于通道,waitlink只被g訪問(wèn)。

// 對(duì)于信號(hào)量,所有字段(包括上面的字段)

// 只有當(dāng)持有一個(gè)semroot鎖時(shí)才被訪問(wèn)。

acquiretime int64

releasetime int64

ticket uint32

parent *sudog //semaRoot 二叉樹(shù)

waitlink *sudog // g.waiting 列表或 semaRoot

waittail *sudog // semaRoot

c *hchan // channel

}

sudog的獲取和歸還,遵循以下策略:

1、獲取,首先從per-P緩存獲取,對(duì)于per-P緩存,如果per-P緩存為空,則從全局池抓取一半,然后取出per-P緩存中的最后一個(gè);

2、歸還,歸還到per-P緩存,如果per-P緩存滿了,就把per-P緩存的一半歸還到全局緩存中,然后歸還sudog到per-P緩存中。

acquireSudog

1、如果per-P緩存的內(nèi)容沒(méi)達(dá)到長(zhǎng)度的一般,則會(huì)從全局額緩存中抓取一半;

2、然后返回把per-P緩存中最后一個(gè)sudog返回,并且置空;

// go/src/runtime/proc.go

//go:nosplit

func acquireSudog() *sudog {

// Delicate dance: 信號(hào)量的實(shí)現(xiàn)調(diào)用acquireSudog,然后acquireSudog調(diào)用new(sudog)

// new調(diào)用malloc, malloc調(diào)用垃圾收集器,垃圾收集器在stopTheWorld調(diào)用信號(hào)量

// 通過(guò)在new(sudog)周圍執(zhí)行acquirem/releasem來(lái)打破循環(huán)

// acquirem/releasem在new(sudog)期間增加m.locks,防止垃圾收集器被調(diào)用。

// 獲取當(dāng)前 g 所在的 m

mp := acquirem()

// 獲取p的指針

pp := mp.p.ptr()

if len(pp.sudogcache) == 0 {

lock(&sched.sudoglock)

// 首先,嘗試從中央緩存獲取一批數(shù)據(jù)。

for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {

s := sched.sudogcache

sched.sudogcache = s.next

s.next = nil

pp.sudogcache = append(pp.sudogcache, s)

}

unlock(&sched.sudoglock)

// 如果中央緩存中沒(méi)有,新分配

if len(pp.sudogcache) == 0 {

pp.sudogcache = append(pp.sudogcache, new(sudog))

}

}

// 取緩存中最后一個(gè)

n := len(pp.sudogcache)

s := pp.sudogcache[n-1]

pp.sudogcache[n-1] = nil

// 將剛?cè)〕龅脑诰彺嬷幸瞥?/p>

pp.sudogcache = pp.sudogcache[:n-1]

if s.elem != nil {

throw("acquireSudog: found s.elem != nil in cache")

}

releasem(mp)

return s

}

releaseSudog

1、如果per-P緩存滿了,就歸還per-P緩存一般的內(nèi)容到全局緩存;

2、然后將回收的sudog放到per-P緩存中。

// go/src/runtime/proc.go

//go:nosplit

func releaseSudog(s *sudog) {

if s.elem != nil {

throw("runtime: sudog with non-nil elem")

}

if s.isSelect {

throw("runtime: sudog with non-false isSelect")

}

if s.next != nil {

throw("runtime: sudog with non-nil next")

}

if s.prev != nil {

throw("runtime: sudog with non-nil prev")

}

if s.waitlink != nil {

throw("runtime: sudog with non-nil waitlink")

}

if s.c != nil {

throw("runtime: sudog with non-nil c")

}

gp := getg()

if gp.param != nil {

throw("runtime: releaseSudog with non-nil gp.param")

}

// 避免重新安排到另一個(gè)P

mp := acquirem() // avoid rescheduling to another P

pp := mp.p.ptr()

// 如果緩存滿了

if len(pp.sudogcache) == cap(pp.sudogcache) {

// 將本地高速緩存的一半傳輸?shù)街醒敫咚倬彺?/p>

var first, last *sudog

for len(pp.sudogcache) > cap(pp.sudogcache)/2 {

n := len(pp.sudogcache)

p := pp.sudogcache[n-1]

pp.sudogcache[n-1] = nil

pp.sudogcache = pp.sudogcache[:n-1]

if first == nil {

first = p

} else {

last.next = p

}

last = p

}

lock(&sched.sudoglock)

last.next = sched.sudogcache

sched.sudogcache = first

unlock(&sched.sudoglock)

}

// 歸還sudog到`per-P`緩存中

pp.sudogcache = append(pp.sudogcache, s)

releasem(mp)

}

semaphore

// go/src/runtime/sema.go

// 用于sync.Mutex的異步信號(hào)量。

// semaRoot擁有一個(gè)具有不同地址(s.elem)的sudog平衡樹(shù)。

// 每個(gè)sudog都可以依次(通過(guò)s.waitlink)指向一個(gè)列表,在相同地址上等待的其他sudog。

// 對(duì)具有相同地址的sudog內(nèi)部列表進(jìn)行的操作全部為O(1)。頂層semaRoot列表的掃描為O(log n),

// 其中,n是阻止goroutines的不同地址的數(shù)量,通過(guò)他們散列到給定的semaRoot。

type semaRoot struct {

lock mutex

// waiters的平衡樹(shù)的根節(jié)點(diǎn)

treap *sudog

// waiters的數(shù)量,讀取的時(shí)候無(wú)所

nwait uint32

}

// Prime to not correlate with any user patterns.

const semTabSize = 251

var semtable [semTabSize]struct {

root semaRoot

pad [cpu.CacheLinePadSize - unsafe.Sizeof(semaRoot{})]byte

}

poll_runtime_Semacquire/sync_runtime_SemacquireMutex

// go/src/runtime/sema.go

//go:linkname poll_runtime_Semacquire internal/poll.runtime_Semacquire

func poll_runtime_Semacquire(addr *uint32) {

semacquire1(addr, false, semaBlockProfile, 0)

}

//go:linkname sync_runtime_SemacquireMutex sync.runtime_SemacquireMutex

func sync_runtime_SemacquireMutex(addr *uint32, lifo bool, skipframes int) {

semacquire1(addr, lifo, semaBlockProfile|semaMutexProfile, skipframes)

}

func semacquire1(addr *uint32, lifo bool, profile semaProfileFlags, skipframes int) {

// 判斷這個(gè)goroutine,是否是m上正在運(yùn)行的那個(gè)

gp := getg()

if gp != gp.m.curg {

throw("semacquire not on the G stack")

}

// *addr -= 1

if cansemacquire(addr) {

return

}

// 增加等待計(jì)數(shù)

// 再試一次 cansemacquire 如果成功則直接返回

// 將自己作為等待者入隊(duì)

// 休眠

// (等待器描述符由出隊(duì)信號(hào)產(chǎn)生出隊(duì)行為)

// 獲取一個(gè)sudog

s := acquireSudog()

root := semroot(addr)

t0 := int64(0)

s.releasetime = 0

s.acquiretime = 0

s.ticket = 0

if profile&semaBlockProfile != 0 && blockprofilerate > 0 {

t0 = cputicks()

s.releasetime = -1

}

if profile&semaMutexProfile != 0 && mutexprofilerate > 0 {

if t0 == 0 {

t0 = cputicks()

}

s.acquiretime = t0

}

for {

lock(&root.lock)

// 添加我們自己到nwait來(lái)禁用semrelease中的"easy case"

atomic.Xadd(&root.nwait, 1)

// 檢查cansemacquire避免錯(cuò)過(guò)喚醒

if cansemacquire(addr) {

atomic.Xadd(&root.nwait, -1)

unlock(&root.lock)

break

}

// 任何在 cansemacquire 之后的 semrelease 都知道我們?cè)诘却?因?yàn)樵O(shè)置了 nwait),因此休眠

// 隊(duì)列將s添加到semaRoot中被阻止的goroutine中

root.queue(addr, s, lifo)

// 將當(dāng)前goroutine置于等待狀態(tài)并解鎖鎖。

// 通過(guò)調(diào)用goready(gp),可以使goroutine再次可運(yùn)行。

goparkunlock(&root.lock, waitReasonSemacquire, traceEvGoBlockSync, 4+skipframes)

if s.ticket != 0 || cansemacquire(addr) {

break

}

}

if s.releasetime > 0 {

blockevent(s.releasetime-t0, 3+skipframes)

}

// 歸還sudog

releaseSudog(s)

}

func cansemacquire(addr *uint32) bool {

for {

v := atomic.Load(addr)

if v == 0 {

return false

}

if atomic.Cas(addr, v, v-1) {

return true

}

}

}

sync_runtime_Semrelease

// go/src/runtime/sema.go

//go:linkname sync_runtime_Semrelease sync.runtime_Semrelease

func sync_runtime_Semrelease(addr *uint32, handoff bool, skipframes int) {

semrelease1(addr, handoff, skipframes)

}

func semrelease1(addr *uint32, handoff bool, skipframes int) {

root := semroot(addr)

atomic.Xadd(addr, 1)

// Easy case:沒(méi)有等待者

// 這個(gè)檢查必須發(fā)生在xadd之后,以避免錯(cuò)過(guò)喚醒

if atomic.Load(&root.nwait) == 0 {

return

}

// Harder case: 找到等待者,并且喚醒

lock(&root.lock)

if atomic.Load(&root.nwait) == 0 {

// 該計(jì)數(shù)已被另一個(gè)goroutine占用,

// 因此無(wú)需喚醒其他goroutine。

unlock(&root.lock)

return

}

// 搜索一個(gè)等待著然后將其喚醒

s, t0 := root.dequeue(addr)

if s != nil {

atomic.Xadd(&root.nwait, -1)

}

unlock(&root.lock)

if s != nil { // 可能會(huì)很慢,因此先解鎖

acquiretime := s.acquiretime

if acquiretime != 0 {

mutexevent(t0-acquiretime, 3+skipframes)

}

if s.ticket != 0 {

throw("corrupted semaphore ticket")

}

if handoff && cansemacquire(addr) {

s.ticket = 1

}

// goready(s.g, 5)

// 標(biāo)記 runnable,等待被重新調(diào)度

readyWithTime(s, 5+skipframes)

}

}

摘自"同步原語(yǔ)"的一段總結(jié)

這一對(duì) semacquire 和 semrelease 理解上可能不太直觀。 首先,我們必須意識(shí)到這兩個(gè)函數(shù)一定是在兩個(gè)不同的 M(線程)上得到執(zhí)行,否則不會(huì)出現(xiàn)并發(fā),我們不妨設(shè)為 M1 和 M2。 當(dāng) M1 上的 G1 執(zhí)行到 semacquire1 時(shí),如果快速路徑成功,則說(shuō)明 G1 搶到鎖,能夠繼續(xù)執(zhí)行。但一旦失敗且在慢速路徑下 依然搶不到鎖,則會(huì)進(jìn)入 goparkunlock,將當(dāng)前的 G1 放到等待隊(duì)列中,進(jìn)而讓 M1 切換并執(zhí)行其他 G。 當(dāng) M2 上的 G2 開(kāi)始調(diào)用 semrelease1 時(shí),只是單純的將等待隊(duì)列的 G1 重新放到調(diào)度隊(duì)列中,而當(dāng) G1 重新被調(diào)度時(shí)(假設(shè)運(yùn)氣好又在 M1 上被調(diào)度),代碼仍然會(huì)從 goparkunlock 之后開(kāi)始執(zhí)行,并再次嘗試競(jìng)爭(zhēng)信號(hào)量,如果成功,則會(huì)歸還 sudog。

參考

到此這篇關(guān)于go中semaphore(信號(hào)量)源碼解讀的文章就介紹到這了,更多相關(guān)go中semaphore源碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的Linux 信号量 源码,一文读懂go中semaphore(信号量)源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

成人午夜电影久久影院 | 午夜av一区 | 日日爱网站| 久久精品国产一区二区 | 国产精品中文字幕在线观看 | 日韩视频精品在线 | 精品久久久久久久久久久久久久久久 | 天天激情站 | 成人毛片一区 | 在线播放亚洲 | 91av网站在线观看 | 日韩成人免费观看 | 亚洲黑丝少妇 | 久久久18| 99久免费精品视频在线观看 | 精品国产一区二区三区男人吃奶 | www.五月天激情 | 亚洲高清视频在线 | 超碰在线天天 | 99在线视频观看 | 成年人视频在线免费观看 | 中文字幕 国产 一区 | 99热只有精品在线观看 | 久久xx视频 | 伊人电影在线观看 | 色中色综合 | 国产精品久久久久久久久久久不卡 | 国产麻豆果冻传媒在线观看 | 欧美日韩免费在线观看视频 | 不卡中文字幕av | 丁香五香天综合情 | 激情五月婷婷丁香 | 欧美日韩不卡在线观看 | 国产精品中文字幕在线播放 | 91精品视频在线看 | 91麻豆免费版 | 午夜精品久久久久久久爽 | 粉嫩av一区二区三区四区 | 97视频入口免费观看 | 91精品国产麻豆 | 亚洲综合欧美激情 | 99精品国产99久久久久久97 | 狠狠色狠狠色合久久伊人 | 国产一级a毛片视频爆浆 | 免费观看国产精品 | 天天夜操 | 国产一区不卡在线 | 美女av电影 | 国产亚洲情侣一区二区无 | 91激情视频在线 | 精品在线观看免费 | 夜夜操网站 | 国产精品中文 | 国产精品免费观看国产网曝瓜 | 精品国偷自产国产一区 | japanesexxx乱女另类 | 国产成本人视频在线观看 | www中文在线 | 521色香蕉网站在线观看 | 亚洲午夜精品一区 | 中文字幕首页 | 麻豆91小视频 | av一区在线| 十八岁以下禁止观看的1000个网站 | 色综合天天在线 | 欧美色噜噜 | 免费视频三区 | 欧美美女激情18p | 久久久久亚洲精品男人的天堂 | 婷婷av色综合 | 涩涩网站在线播放 | 在线观看黄污 | 超碰在线中文字幕 | 久久99精品国产91久久来源 | 视频在线91 | 99精品视频在线播放免费 | 啪啪小视频网站 | 日韩精品视 | 午夜丁香网 | 91视频久久久 | 99久久久精品| 欧美一区免费在线观看 | 五月激情久久久 | 国产一区二区视频在线播放 | 日韩xxxxxxxxx | 五月亚洲综合 | 97成人超碰 | 国产精品一区二区三区观看 | 黄色小网站在线观看 | 青春草视频在线播放 | 97在线播放| 久草亚洲视频 | 欧美日韩国产在线 | 亚洲激情影院 | 91人人澡人人爽 | 久久久久二区 | 久久一区二区三区日韩 | 91麻豆精品国产91久久久久久久久 | 99国产免费网址 | 美女福利视频网 | 中文字幕亚洲五码 | 日韩在线网址 | 人人草人 | 免费午夜网站 | 99视频在线精品 | 久久久人人人 | 国产一级久久 | 国产二区精品 | 中文字幕大全 | 色婷婷色| 亚洲闷骚少妇在线观看网站 | 96av在线| .国产精品成人自产拍在线观看6 | 国产在线不卡精品 | 99久国产| 久久露脸国产精品 | 成人av免费网站 | 亚洲精品女人久久久 | 91精品电影 | 日韩在线电影一区二区 | 一区二区三区高清不卡 | 91麻豆传媒 | 特级毛片在线 | 夜夜骑日日 | 91精品区| 视频一区亚洲 | 国产精品毛片久久 | av日韩不卡 | 成年人视频在线免费播放 | 亚洲一区视频在线播放 | 丝袜av一区| 精品一区二区三区香蕉蜜桃 | 亚洲国产三级在线 | 国产精品久久久久一区二区三区共 | 日韩在线视频免费看 | 超碰免费公开 | 在线观看视频中文字幕 | 欧美激精品 | 国产99久久久久久免费看 | 中午字幕在线 | 日批视频在线观看免费 | 日韩欧美综合精品 | 婷婷综合电影 | 99热国内精品 | 国产午夜小视频 | 亚洲高清在线观看视频 | 免费午夜网站 | av天天澡天天爽天天av | 97精品超碰一区二区三区 | 亚洲激情在线观看 | 中文字幕中文字幕在线一区 | 久久综合免费 | 伊人中文在线 | 热久久免费国产视频 | 久久久久久欧美二区电影网 | 国产成人免费观看久久久 | 国产精品成人久久久久 | 国产日产欧美在线观看 | 国产精成人品免费观看 | 日日天天干 | 97自拍超碰 | 亚洲国产人午在线一二区 | 国产黄色av影视 | 视频国产 | 中文av在线播放 | 国产小视频在线播放 | 伊人久久五月天 | 国产免费国产 | 中文字幕资源在线观看 | 99在线观看精品 | 久草观看视频 | 天堂v中文 | 色悠悠久久综合 | 色婷婷狠狠干 | 亚洲精品欧美专区 | 91成人在线观看喷潮 | 一区二区精品在线视频 | 99中文字幕在线观看 | 久久一线 | 在线观看免费一区 | 中文字幕一区二区三区乱码在线 | 精品福利在线 | 国产精品视频在线观看 | 成人性生交大片免费看中文网站 | 伊人va| 网站免费黄 | 手机在线看永久av片免费 | 久久人人精品 | 最近中文字幕mv | 天天色天天综合 | 91完整版 | av成人黄色| 久久精品伊人 | 国产成人在线网站 | 视频一区二区三区视频 | 国产丝袜在线 | 青草视频在线播放 | 亚洲色图27p | 丁香久久五月 | 伊人五月天综合 | www.久久婷婷 | 欧美精品视 | 欧美日本国产在线观看 | 精品国产视频一区 | 亚洲第二色 | 色婷婷av一区| 成人免费在线观看电影 | 天天做天天干 | 在线精品视频免费观看 | 日韩在线免费视频观看 | 黄色软件大全网站 | 国产精品一区二区三区观看 | 久久国产亚洲视频 | 欧美色综合 | 中文字幕的 | 免费日韩av电影 | 五月天亚洲综合 | 欧美日本中文字幕 | 丝袜一区在线 | 天天综合网 天天 | 久久免费a | 一本一本久久a久久精品综合 | 成人av教育| 97免费在线视频 | 久久视频免费在线 | 五月婷婷毛片 | 日韩在线三区 | 在线成人欧美 | 国产成人亚洲在线观看 | 中文字幕麻豆 | 欧洲精品二区 | 亚洲综合在线五月天 | 99热9 | 亚洲精品字幕在线 | 欧美另类美少妇69xxxx | 99精品国产在热久久下载 | 免费看黄色大全 | 色五月激情五月 | 国产一区二区三区网站 | 国产手机精品视频 | 狠狠综合网 | 999ZYZ玖玖资源站永久 | 国产黄免费 | 五月婷婷六月丁香 | 日免费视频 | 国产在线欧美日韩 | 欧美日韩一区二区三区视频 | 欧美日韩免费观看一区=区三区 | 国产免费二区 | 久久99精品久久久久久久久久久久 | 日b视频国产 | 欧美日韩一级视频 | 国产又粗又硬又爽的视频 | 最近免费中文字幕大全高清10 | 亚洲激色 | 亚洲激情在线视频 | 在线成人一区二区 | 在线a视频免费观看 | 久久一视频 | 亚洲精品午夜久久久久久久久久久 | 粉嫩av一区二区三区四区在线观看 | 亚洲日本va在线观看 | 欧美另类美少妇69xxxx | 在线v片免费观看视频 | 亚洲综合色视频在线观看 | 在线三级播放 | 五月天最新网址 | 伊人国产在线观看 | 国产美女视频 | 99夜色| 日韩在线视频免费看 | 久久精品99国产精品亚洲最刺激 | 在线看片91 | 亚洲成人一二三 | 在线精品观看国产 | 久久av一区二区三区亚洲 | www..com毛片 | 天天干,狠狠干 | 又黄又色又爽 | 九九九九九九精品任你躁 | 久久国产午夜精品理论片最新版本 | 中文字幕免费观看 | 国产少妇在线观看 | 国产精品久久久久久久av大片 | 日日日日干 | 丁香网婷婷 | 91免费高清在线观看 | 免费在线日韩 | 国产日韩精品一区二区 | 中文字幕亚洲情99在线 | 免费国产一区二区视频 | 久久久高清 | 美女黄频在线观看 | 波多野结衣精品视频 | av国产在线观看 | 国产欧美最新羞羞视频在线观看 | 四虎www com | 精品国产乱码久久久久久久 | av最新资源 | 久久撸在线视频 | 国产精品久久久久影院 | 免费高清看电视网站 | 亚洲综合精品视频 | 国产视频1| 免费视频一二三区 | 91中文字幕在线视频 | 99爱视频 | 亚洲精品一区二区三区新线路 | 欧美日韩在线精品 | 国产精品精品国产色婷婷 | 欧美精品久久久久久久免费 | 亚洲一级片在线观看 | 91av免费看| 精品国产综合区久久久久久 | 亚洲少妇自拍 | 一区二区三区在线观看免费 | 91精品国产成人www | 国产又粗又猛又色又黄视频 | 亚洲精品久久久久中文字幕m男 | 综合激情 | 免费三级黄 | 久久国产视频网站 | 国产一区欧美在线 | 日韩欧美在线第一页 | 天天操天天干天天综合网 | 在线观看岛国 | 激情伊人五月天久久综合 | 色噜噜在线观看视频 | 在线观看一区二区视频 | 婷婷丁香色 | 中文在线字幕免费观 | 亚洲综合色网站 | 欧美日韩一区二区在线观看 | 三级av免费看 | 亚洲精欧美一区二区精品 | 亚洲日本国产精品 | 日韩av区| 婷婷视频在线播放 | 国产一区二区三区午夜 | 色综合天天做天天爱 | 超碰电影在线观看 | 日韩在线大片 | 久久久久久网址 | 国产黑丝袜在线 | 国产在线免费 | av在线播放国产 | 操综合| 亚洲涩涩色 | 992tv在线| 亚洲国产福利视频 | 日韩av网站在线播放 | 色综合久久综合中文综合网 | 国产夫妻自拍av | 日韩美女免费线视频 | 欧美性色黄大片在线观看 | 色播五月激情综合网 | 色亚洲网| 99久久99久久精品国产片果冰 | 国产免费观看久久 | 欧美二区视频 | 夜色资源站wwwcom | 欧美日韩视频一区二区 | 中文字幕精品三区 | 天堂网一区二区三区 | 国内精品久久久久久中文字幕 | 亚洲精品国产第一综合99久久 | 国产热re99久久6国产精品 | 亚洲精品国产精品久久99热 | 青春草视频 | 六月激情网| 福利视频精品 | 91免费在线播放 | 免费视频国产 | 久久99国产精品视频 | 欧美日韩视频免费看 | 国产香蕉视频在线观看 | 人人澡人摸人人添学生av | 美女免费视频一区二区 | 久草热视频 | 国产在线观看中文字幕 | 日韩a在线| 精品美女在线视频 | 欧美国产精品一区二区 | 欧美精品免费视频 | 亚洲精品乱码久久 | 国产一区欧美一区 | 久久中文字幕视频 | 国产一二三精品 | 中文字幕一区二区三区在线播放 | 中文字幕亚洲精品日韩 | 永久免费精品视频网站 | 天天操天天射天天舔 | 亚洲毛片一区二区三区 | 国产破处在线播放 | 国产中文字幕视频在线 | 日韩免费成人av | 久久成人国产精品免费软件 | 日韩| 一区二区中文字幕在线观看 | 91成人精品一区在线播放69 | 欧美一级片免费观看 | 日韩av网页 | 中文字幕二区三区 | 日韩精品一区二区三区免费观看视频 | 手机av在线免费观看 | 欧美一级性 | 黄色a一级视频 | 深爱五月网 | 欧美成人猛片 | 91精品啪在线观看国产81旧版 | 久久久久国产精品免费 | 经典三级一区 | 国产91勾搭技师精品 | 久久视频免费在线 | 天天干,狠狠干 | 久久影院一区 | 六月丁香激情综合 | 在线看片一区 | 午夜私人影院久久久久 | 在线中文字幕网站 | 西西www4444大胆在线 | 亚洲国产成人精品在线 | 97品白浆高清久久久久久 | 久久香蕉国产精品麻豆粉嫩av | 深夜免费福利视频 | 99色视频 | 久久99影院 | 99精品视频免费全部在线 | 色在线中文字幕 | 日韩av电影手机在线观看 | 天天干干| 性色va| 久久国产乱 | 国产精品美女在线观看 | 综合激情网... | 国产成人精品一区二区三区 | 亚洲国产精品电影在线观看 | 久草在线视频网站 | 亚洲精品456在线播放第一页 | 久草com| 色视频在线免费 | 人人爽人人澡人人添人人人人 | 国产婷婷色 | 91精品国产综合久久婷婷香蕉 | 在线午夜 | 成人综合免费 | 国产高清视频在线播放 | 久久免费视频一区 | 麻豆精品视频在线 | 又黄又网站 | 亚洲一级黄色 | 免费观看午夜视频 | 免费国产在线精品 | 日日夜日日干 | av成人免费在线观看 | 国产精品资源在线观看 | 日本性高潮视频 | 五月天中文字幕mv在线 | 国产伦精品一区二区三区高清 | 黄色av电影免费观看 | a黄在线观看 | 天堂va在线观看 | 国产精品美女在线 | 久久成人国产 | 久久成人人人人精品欧 | 成人电影毛片 | 人人玩人人添人人澡97 | 成人av在线网址 | 粉嫩aⅴ一区二区三区 | 午夜精品一区二区三区可下载 | 激情五月伊人 | 在线观看中文字幕2021 | 97超在线视频 | 中日韩欧美精彩视频 | 免费看黄在线看 | 国产免费叼嘿网站免费 | 国产高清不卡在线 | 99久久久久免费精品国产 | av在线网站观看 | 久久a视频| 丁香激情五月 | 四虎最新入口 | 操操操干干干 | 亚洲精品久久久久久久不卡四虎 | 午夜少妇一区二区三区 | 日日干天天爽 | 青青网视频| 成人手机在线视频 | 婷婷亚洲最大 | 97精品国自产拍在线观看 | 久99久在线 | 美女免费黄视频网站 | 在线一区观看 | 久久免费视频播放 | 狠狠狠狠狠狠操 | 国产成人久久av | 久久电影国产免费久久电影 | 日韩欧美国产免费播放 | 五月的婷婷| 天天做夜夜做 | 免费国产黄线在线观看视频 | 久久综合久久八八 | 成年人在线视频观看 | 四虎影视精品永久在线观看 | 国产午夜精品一区二区三区四区 | 91av电影在线| 久久神马影院 | 国产精品一区久久久久 | 色橹橹欧美在线观看视频高清 | 日本高清中文字幕有码在线 | 亚洲精品456在线播放第一页 | 国产又粗又猛又黄又爽 | 成人精品一区二区三区电影免费 | 中文av在线免费观看 | 日本久久片 | 波多野结衣动态图 | av在线8| 国产黄免费 | 久草在在线视频 | 久久另类小说 | 天堂av观看 | 久草在线视频资源 | 国产精品免费观看网站 | 色婷婷激情综合 | 一区二区三区电影大全 | 人人干人人艹 | 久久99久久99精品免视看婷婷 | 久久不卡视频 | 国产人成精品一区二区三 | 久久久久免费网 | 伊人夜夜 | 99r在线播放 | 精品日韩中文字幕 | 中文字幕免费观看 | 久久99精品久久久久久久久久久久 | 日韩免费网址 | 免费a网站| 91精品免费视频 | 国产精品久久久久久久久免费 | 日韩av电影网站在线观看 | 成人片在线播放 | 久久久久久久久久久免费av | 69av免费视频 | 成人黄色大片在线免费观看 | 女人高潮特级毛片 | 久久免费视频播放 | 成人在线观看你懂的 | 午夜在线观看影院 | 亚洲国产人午在线一二区 | www.婷婷色 | 婷婷久久综合网 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 97超碰在线久草超碰在线观看 | 亚洲欧洲国产精品 | 国产视频久久久 | 亚洲成av人片在线观看无 | 日韩精品国产一区 | 综合色中文 | 中文字幕免费一区 | 91在线免费视频 | 人人爱夜夜操 | 久久久久久久久久久久久国产精品 | 中文字幕免费看 | 手机看片福利 | 久久dvd| 国产精品免费av | 中文字幕的 | 国产精品理论在线观看 | 婷婷在线播放 | 三上悠亚在线免费 | 国产精品手机在线观看 | 天天干,天天操 | 中文免费观看 | 婷婷色 亚洲 | 色偷偷网站视频 | 国产午夜精品一区二区三区四区 | 女人18精品一区二区三区 | 婷婷在线色| 99午夜 | 黄网站色视频 | 天天射天天爱天天干 | 天天射射天天 | 99久精品| 国产亚洲精品久久久久久网站 | 久久综合五月天 | 亚洲国产一区在线观看 | 精品一区精品二区高清 | 天干啦夜天干天干在线线 | 成人免费xyz网站 | 久久精品国产一区 | 亚洲理论片 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | av字幕在线| 天堂入口网站 | 91成人精品在线 | 中文视频一区二区 | 久久精品久久99精品久久 | 国产午夜精品在线 | 天堂久色 | 国产毛片在线 | 欧美aaa一级| 午夜精品久久久久久久久久久久 | 国产精品久久久久婷婷 | 日韩欧美不卡 | jizz999| 丁香五月网久久综合 | 国产一区网 | 亚洲精品中文字幕在线 | 婷婷www | 五月婷婷精品 | 免费国产黄线在线观看视频 | 波多野结衣一区二区三区中文字幕 | 91在线免费视频观看 | 欧美激情操 | 日韩黄色免费电影 | 亚洲专区 国产精品 | 麻豆一区二区三区视频 | 精品国产1区 | 国产美腿白丝袜足在线av | 日本天天操 | 国产精品黑丝在线观看 | 香蕉视频91 | 国产在线观看你懂得 | 日日天天干 | 久久香蕉国产精品麻豆粉嫩av | 狠狠狠狠狠狠狠狠 | 欧美日高清视频 | 亚洲永久精品视频 | 深夜国产在线 | 黄色在线看网站 | 99热99热| 808电影| 天天夜夜操| 91久久丝袜国产露脸动漫 | 天天射综合网站 | 在线免费看黄色 | 日韩免费一区二区 | 久久成人一区 | 国产精品99久久久久久大便 | 丁香六月网 | 91免费观看网站 | 日韩在线视频网址 | 在线免费av播放 | av爱干 | 亚洲美女免费精品视频在线观看 | 国产一区二区在线影院 | 精品色999| 欧美日韩精品在线免费观看 | 亚洲va在线va天堂 | 探花视频在线观看+在线播放 | 992tv人人草| 国产最新精品视频 | 97色在线视频 | 91麻豆福利 | 亚洲精品乱码白浆高清久久久久久 | 免费在线91 | 99在线精品观看 | 日本精品视频在线 | 久久久噜噜噜久久久 | 五月色综合 | 天堂在线免费视频 | 欧美吞精| 一区二区视频在线免费观看 | 日韩精品一区二区三区三炮视频 | 精品人人人人 | 国产高清av在线播放 | 九九视频一区 | 精品国产一区二区久久 | 精品视频久久久 | 成年人免费看av | 91免费观看网站 | 日韩99热| 欧美精品成人在线 | 免费av在线网站 | 久久狠狠一本精品综合网 | 久久久久一区二区三区四区 | 久久久久久久久电影 | 国产热re99久久6国产精品 | 久久五月婷婷丁香社区 | 麻豆视频入口 | 国产精品专区在线观看 | 精品毛片在线 | 国产三级午夜理伦三级 | 国产欧美最新羞羞视频在线观看 | 国产一区播放 | 国内精品视频免费 | 久久精品专区 | 国产一级电影免费观看 | 亚洲精品视频免费在线观看 | 久操中文字幕在线观看 | 欧美在线观看视频一区二区 | 亚洲国产成人在线 | 91私密视频 | 国产精品久久久久久久久久久久冷 | 久久精品99国产精品亚洲最刺激 | 天天躁天天狠天天透 | av成人在线网站 | 日韩在线观看视频中文字幕 | 在线观看av不卡 | 中文在线字幕免 | 久久久免费视频播放 | 黄色国产高清 | 国产在线a免费观看 | 美女中文字幕 | 三级小视频在线观看 | 久久草在线精品 | 日韩欧美电影在线 | 99热在线观看 | 欧美极品xxxx| 丝袜精品视频 | 99re视频在线观看 | 日韩区视频 | 免费日韩一区二区三区 | 91九色成人蝌蚪首页 | 91成人精品国产刺激国语对白 | 99亚洲精品在线 | 91日韩精品| 久久久免费视频播放 | 在线看的毛片 | 成人 亚洲 欧美 | 日韩精品在线看 | 亚洲自拍av在线 | 久久精品高清 | 国产精品一区二区果冻传媒 | 伊人色**天天综合婷婷 | 韩国av三级 | www.久久爱.cn | 精品国产精品一区二区夜夜嗨 | 天天射,天天干 | 18网站在线观看 | 国产区高清在线 | 人人玩人人添人人澡超碰 | 97在线免费| 国产精品白浆视频 | 色狠狠综合天天综合综合 | 亚洲一级黄色大片 | 国产精品久久久久久久久久不蜜月 | 久久免费观看视频 | 精品国产aⅴ一区二区三区 在线直播av | 黄色在线观看网站 | 亚洲美女精品视频 | 午夜91在线| 91视频高清免费 | av看片网址 | 久久久国产精品亚洲一区 | 岛国精品一区二区 | 在线视频久 | 国产高清在线免费 | 91精品视频免费看 | 国产麻豆剧传媒免费观看 | 亚洲黄色小说网址 | 亚洲va在线va天堂va偷拍 | 精品久久久久一区二区国产 | 国产精品第三页 | 欧美在线a视频 | 久久久久久国产精品免费 | 日本久久影视 | 国产精品久久久久久久久久东京 | 97av超碰| 久久综合九九 | 欧美激情va永久在线播放 | 美女视频免费精品 | 成人欧美一区二区三区黑人麻豆 | 久久久久国产精品一区 | 最新av网址在线观看 | 国产99久久久国产精品免费二区 | 女人高潮特级毛片 | 亚洲视频久久久久 | 国产91大片 | 中文字幕在线播放一区 | 久久av中文字幕片 | 国产乱对白刺激视频在线观看女王 | 天天干夜夜夜操天 | 成人午夜剧场在线观看 | 精品中文字幕在线 | 美女久久久久久久久久 | 五月天激情开心 | 亚洲激情免费 | 午夜久久影院 | 精品国产美女在线 | 91麻豆精品久久久久久 | 国产精品久99 | 一区二区精品久久 | 精品免费观看视频 | www色网站| 久久高清国产视频 | 国产成人一区二区三区电影 | 国产精品色 | 免费观看的黄色 | 99久久99热这里只有精品 | 亚洲国产wwwccc36天堂 | 久久在线视频在线 | 精品免费视频 | 夜色资源站国产www在线视频 | 亚洲高清在线视频 | 五月婷婷视频在线观看 | 国产精品免费视频久久久 | www色综合 | 最近中文字幕第一页 | 毛片网免费 | 夜夜躁狠狠躁日日躁视频黑人 | 人人爽人人舔 | 亚洲午夜久久久久久久久久久 | 狠狠地日 | 国产精品久久久久久久久久不蜜月 | 天天爱av导航 | 久久久国产日韩 | 99精品在线观看 | 欧美伦理一区二区三区 | 91视频免费国产 | 精品理论片 | 中文字幕视频播放 | 日韩免费视频在线观看 | 国产精品成人久久久久久久 | 中文字幕精品一区 | 国产亚洲精品久久久网站好莱 | 黄色天堂在线观看 | av黄色成人 | 欧美精品一区二区蜜臀亚洲 | 国产精品美女视频网站 | av成人在线播放 | 天堂在线视频中文网 | 亚洲在线精品 | 久久免费视频8 | 2019av在线视频 | 福利网址在线观看 | 中文字幕在线日本 | 蜜桃av观看 | 亚洲精品久久久蜜桃 | 国产91大片| 国外成人在线视频网站 | 日韩电影在线观看一区 | 激情久久伊人 | 97免费在线观看 | 欧美日韩精品免费观看视频 | av青草| 国产人成免费视频 | 五月天网站在线 | 精品久久久网 | 亚洲jizzjizz日本少妇 | 五月激情亚洲 | 91福利区一区二区三区 | 少妇自拍av | 国产精品美女久久久 | 人人澡超碰碰97碰碰碰软件 | 婷婷在线资源 | 中文字幕人成乱码在线观看 | 日韩免费不卡视频 | 亚洲激情视频在线 | 麻豆国产网站入口 | 在线免费观看视频一区二区三区 | 一区二区激情视频 | 国产不卡片| 成人精品影视 | 亚洲欧美婷婷六月色综合 | 日韩av电影免费观看 | 国产视频网站在线观看 | 国产一区在线视频 | 色婷婷啪啪免费在线电影观看 | 久久激情小说 | 亚洲精品久久久久久久不卡四虎 | 色视频网页 | 国产精品原创 | 欧美日韩精品在线一区二区 | 欧美性生活久久 | 国产三级午夜理伦三级 | 亚洲高清视频在线播放 | 国产亚洲精品女人久久久久久 | 亚洲视屏一区 | 亚洲天堂在线观看完整版 | 亚洲 综合 专区 | 亚洲国产人午在线一二区 | 1024在线看片 | 日韩欧美国产免费播放 | 四虎在线免费观看 | 午夜精品久久久久久 | 97视频总站 | 国产精品va最新国产精品视频 | 一区二区视频电影在线观看 | 97精品伊人| 中文字幕亚洲五码 | 永久中文字幕 | 808电影| 国产精品久久久久久久久久久久午夜片 | 天天干人人插 | 97视频一区| 少妇视频一区 | 久久视频二区 | www久久精品 | 最近高清中文字幕在线国语5 | 亚洲国产视频在线 | 69绿帽绿奴3pvideos | 91精品久久久久久久久久久久久 | 国产精久久久 | 久草视频在线看 | 国产精品一区二区久久精品爱涩 | 在线观看视频免费播放 | 黄色av免费看 | 久久丁香 | 中文字幕在线播放视频 | 国产区欧美 | 久久久久久久久久久免费视频 | 亚洲六月丁香色婷婷综合久久 | 黄色片网站大全 | 国产九九热视频 | 日韩成年视频 | 成年人黄色免费看 | 中文字幕乱偷在线 | 色爽网站 | 少妇bbbb| 人人爽人人澡人人添人人人人 | www.午夜色.com| 涩涩网站在线播放 | 色中射| 亚洲精品国产精品久久99 | 五月婷婷香蕉 | 91麻豆国产福利在线观看 | 成人天堂网 | 亚洲激情六月 | 久久久久久激情 | 国产黄色片一级三级 | 最近免费中文视频 | 久99久视频 | 色天天天| 亚洲电影久久久 | 亚洲成免费 | 欧美视频国产视频 | 久久这里只有精品久久 | 久久久国产网站 | 欧美analxxxx | 免费日韩av片 | 国产原创在线 | 五月开心激情网 | 日韩高清一区在线 | 免费三级黄色片 | 精品国产一二三四区 | 免费看一及片 | av电影亚洲| 国产视频手机在线 | 中文字幕国语官网在线视频 | 久久社区视频 | 久久99操 | 国产亚洲片 | 中文字幕在线免费观看 | 狂野欧美激情性xxxx欧美 | 日本电影久久 | 91精品在线观看视频 | 久久99日韩| 探花视频免费观看高清视频 | 一区二区精品视频 | 久久美女免费视频 | 国产精品白丝jk白祙 | 国产福利免费在线观看 | 日本一区二区三区免费看 | 色婷婷丁香 | 精品专区一区二区 | 久久综合加勒比 | 香蕉影视在线观看 | 日韩高清在线观看 | 在线观看日韩中文字幕 | 婷婷婷国产在线视频 | 免费无遮挡动漫网站 | 中文字幕精品视频 | 一区二区三区韩国免费中文网站 | 美女国产| 免费麻豆视频 | 久久久久久久久久久黄色 | 人人爱夜夜操 | 日本精品一区二区三区在线观看 | 久久久国产一区二区 | bbbb操bbbb| 在线视频欧美精品 | 又爽又黄又无遮挡网站动态图 | 久久久久夜色 | 中文字幕在线第一页 | 91精品1区| 亚洲丝袜中文 | 久久精品国产成人 | 国产中文视频 | 久久人人插 | 国产色就色 | 激情视频二区 | 四虎影院在线观看av | 色诱亚洲精品久久久久久 | 久久少妇免费视频 | 午夜精品久久久久久久久久久久 | 久久99电影 | 精品产品国产在线不卡 | 亚洲免费在线视频 | 在线观看亚洲视频 | 伊香蕉大综综综合久久啪 | 欧美日韩啪啪 | 亚洲精品在线观看不卡 | 日韩欧美高清在线观看 | 国产在线观看黄 | 一区二区在线电影 | 欧美少妇xxx| 久久综合九色综合欧美狠狠 |