99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

std::ranges并行化:自建線程池與工作隊列的實踐

std::ranges并行化:自建線程池與工作隊列的實踐 最近我在重構一個內部數(shù)據(jù)處理模塊核心管道寫得非常漂亮一段std::ranges視圖經過filter、transform把非結構化字段規(guī)整成干凈的結構體最后落到ranges::sort做時序排列。可性能測試一出來就有點尷尬這些 ranges 算法全在單線程上跑機器上的多核基本在看熱鬧。想把并行執(zhí)行做進去讓 ranges 算法配合自己的線程池與工作隊列結果發(fā)現(xiàn)標準庫給出的支持比想象中少得多。這篇文章就是我在反復折騰后整理出來的一套落地思路如何拆范圍、建隊列、控線程數(shù)讓 range 管道真正吃滿多核順便把踩過的坑都交代清楚。1. std::ranges 并行這件事標準到底給了什么1.1 ranges 算法很香但為什么等不到并行重載std::ranges算法是 C20 帶來的最大語法糖之一。以往我們寫排序、變換、查找都要小心翼翼地傳迭代器對代碼一長就變成“迭代器地獄”。有了 ranges 之后std::ranges::sort(data)、std::ranges::for_each(v, fn)這種寫法不僅簡短而且能配合 view 做惰性求值和管道拼接表達力直接上一個臺階。但有一個非?,F(xiàn)實的坑標準庫的 ranges 算法并不帶并行執(zhí)行策略重載。至少到 C23 標準std::ranges::sort、std::ranges::transform這些算法都沒有接受std::execution::par的版本。你可能會寫出下面這種代碼然后發(fā)現(xiàn)編譯期直接報錯// 這只是理想寫法目前標準庫中并不存在這樣的重載 std::ranges::sort(std::execution::par, data); // 編譯不過 std::ranges::transform(std::execution::par, input, output, fn); // 編譯不過也就是說標題里那個“ranges 算法并行執(zhí)行”并不能靠標準庫一個參數(shù)白拿。想并行要么退回傳統(tǒng)迭代器算法加std::execution::par要么自己包一層調度把 range 按塊拆開派發(fā)給工作線程。委員會沒有把兩者接通原因比較復雜核心是 ranges 和后來的 executors 方向還沒有合并成穩(wěn)定的統(tǒng)一模型std::execution::par只是早期執(zhí)行策略形態(tài)真正的調度器體系直到后來的提案才逐漸成型。作為使用者我們不能干等標準最好的路線是自己把調度層補出來。1.2 標準并行執(zhí)行策略的真實工作方式C17 提供了四個執(zhí)行策略標簽seq串行、unseq向量化、par多線程、par_unseq線程加向量化。它的用法集中在傳統(tǒng)算法上std::sort(std::execution::par, data.begin(), data.end()); std::for_each(std::execution::par, data.begin(), data.end(), fn);它會“盡可能”并行但標準對并行粒度、線程數(shù)量、任務隊列完全不規(guī)定。也就是說并行行為完全取決于實現(xiàn)內部的后端有的實現(xiàn)會用自己的一套任務調度器有的實現(xiàn)會綁硬件線程數(shù)做并行分塊有的是在第一次調用時初始化一個全局線程池。問題也藏在這里。這套后端對你是不可見的你沒法告訴它“我這個項目已經有線程池了請復用”也沒法控制“我今天只想用 4 個線程不要跑滿 16 個邏輯核”更沒法在業(yè)務高峰期控制隊列深度。當一個模塊里同時出現(xiàn)多個并行算法調用時它們各自獨立調度線程數(shù)翻倍、CPU 超訂是常有的事。所以我一直認為std::execution::par適合“粗粒度地加速單次算法調用”的場景但如果你的項目里本身就有線程池或者希望精準控制任務隊列那必須自己接管調度層。這正好是本文標題里“線程池管理與工作隊列優(yōu)化”存在的價值。1.3 不讓標準庫替你調度那你需要解決什么問題當你不使用std::execution::par而是想自己控制并行時核心要解決四個問題并行度控制用多少線程線程數(shù)是否動態(tài)可變。任務切分range 那么大按什么粒度切成塊塊數(shù)多少合適。任務派發(fā)與回收塊切好了怎么把每個塊作為任務丟進隊列線程執(zhí)行完怎么通知主線程。結果合并每個線程處理完得到的是局部結果如何高效合成為全局結果。這四個問題聽起來多其實拆開就是一套線程池加一套分塊策略。下面我先把線程池骨架寫出來再補分塊和合并的完整玩法。2. 自建線程池隊列、線程數(shù)和提交接口的設計2.1 一個能直接跑起來的最小線程池先給一個最小但完整的線程池實現(xiàn)。它不算最優(yōu)但足夠作為后續(xù)優(yōu)化的起點#include condition_variable #include deque #include future #include mutex #include thread #include vector class ThreadPool { public: explicit ThreadPool(size_t threadCount) : stop_(false) { for (size_t i 0; i threadCount; i) { workers_.emplace_back([this] { for (;;) { std::packaged_taskvoid() job; { std::unique_lockstd::mutex lock(mutex_); cv_.wait(lock, [this] { return stop_ || !queue_.empty(); }); if (stop_ queue_.empty()) return; job std::move(queue_.front()); queue_.pop_front(); } job(); } }); } } template typename F auto submit(F func) - std::futurevoid { std::packaged_taskvoid() task(std::forwardF(func)); auto future task.get_future(); { std::lock_guardstd::mutex lock(mutex_); queue_.push_back(std::move(task)); } cv_.notify_one(); return future; } ~ThreadPool() { { std::lock_guardstd::mutex lock(mutex_); stop_ true; } cv_.notify_all(); for (auto worker : workers_) { worker.join(); } } private: std::atomicbool stop_; std::dequestd::packaged_taskvoid() queue_; std::mutex mutex_; std::condition_variable cv_; std::vectorstd::thread workers_; };這個類值得注意的細節(jié)有三個為什么用std::packaged_taskvoid()而不是std::functionvoid()packaged_task自帶future提交時就能拿到結果句柄省去再包一層shared_ptr的麻煩。worker 執(zhí)行job()時future狀態(tài)會被置為 ready調用方通過future.wait()或者future.get()回收結果。為什么析構時先加鎖再notify_all因為 worker 循環(huán)里對停止狀態(tài)和隊列空判斷同時發(fā)生在鎖內。如果不加鎖直接設置stop_可能出現(xiàn) worker 剛判完queue_.empty()主線程就設置停止并通知worker 醒來后看到隊列已空才退出邏輯上沒問題但 stop 標志寫入和讀取最好由同一把鎖保護避免晦澀的競態(tài)。為什么隊列用std::deque而不是std::vectordeque支持兩端高效操作。雖然我們目前只從尾部入隊、頭部出隊但后續(xù)如果要做 LIFO 策略新任務優(yōu)先執(zhí)行只需把push_back改成push_front不用換容器。這個實現(xiàn)里submit返回std::futurevoid對大多數(shù)“數(shù)據(jù)分塊處理、最終各塊互不相干”的任務完全夠用。如果后面需要每個塊返回一個具體值改成std::futureT版本即可下面會講到。2.2 線程數(shù)量不是越多越好線程池最容易被忽略的參數(shù)是線程數(shù)。很多人直接寫std::thread::hardware_concurrency()然后期望性能拉滿。實測下來這條規(guī)則對純 CPU 密集任務是“半個坑”。hardware_concurrency返回的是邏輯處理器數(shù)量包含超線程。在 8 核 16 線程的機器上它會返回 16但如果你跑的是純浮點計算16 個“邏輯處理器”共享物理核心的執(zhí)行單元線程開滿反而帶來上下文切換和調度開銷。我對純 CPU 密集任務的經驗是先從物理核數(shù)或邏輯核數(shù)的一半起步跑一輪實測再向上調。遇到任務里有 IO 等待、鎖等待、系統(tǒng)調用時可以適當加線程數(shù)讓部分線程在等待間隙不阻塞整體進度。還有一個隱藏因素任務塊的數(shù)量和線程數(shù)的比值。這個比值直接決定調度開銷的占比。比如一塊數(shù)據(jù) 1.2 億個元素開 8 個線程每個線程處理 1500 萬個元素單塊執(zhí)行時間可能幾十毫秒調度開銷可忽略。但如果數(shù)據(jù)只有 10 萬元素同樣開 8 個線程每個塊只有一萬多元素單塊執(zhí)行時間可能只有幾十微秒那么隊列鎖、notify_one、future 狀態(tài)同步的開銷就可能占到 20% 以上。具體怎么定塊大小下面第四章我會給一組實測數(shù)據(jù)。2.3 提交接口從單任務到批量入隊上面的submit一次只能投遞一個任務每次都要加鎖、解鎖、notify_one。當任務塊數(shù)量達到幾千甚至幾萬時鎖競爭會成為瓶頸。一個很實用的優(yōu)化是增加批量提交接口template typename F void submitBatch(std::vectorF tasks) { { std::lock_guardstd::mutex lock(mutex_); for (auto task : tasks) { std::packaged_taskvoid() wrapped(std::move(task)); queue_.push_back(std::move(wrapped)); } } cv_.notify_all(); }批量提交把 N 次加鎖變成一次加鎖然后一次性喚醒所有 idle 線程。你可能覺得“一次提交 32 個任務還省什么鎖”但如果任務塊數(shù)上千每次 submit 都鎖同一個 mutex等待時間會迅速累積。我在實際工程里遇到的一個場景是對 1.2 億條日志按每 1024 條分塊分出一萬多個任務逐個 submit 的那一版光提交階段就消耗了接近 200ms改成批量化插入后提交階段縮到 30ms 以內。另一個值得做的是去掉 future 的開銷。如果任務沒有返回值你只需要知道“全部執(zhí)行完了”保留一堆futurevoid其實有些浪費??梢杂靡粋€原子計數(shù)器加條件變量任務完成后計數(shù)器遞減最后一個完工的任務通知主線程。這樣既省 future 列表的內存也省逐個 wait 的循環(huán)。std::atomicsize_t pending{0}; std::condition_variable doneCv; std::mutex doneMutex; void pushTask(std::packaged_taskvoid() task) { { std::lock_guardstd::mutex lock(mutex_); pending.fetch_add(1); queue_.push_back(std::move(task)); } cv_.notify_one(); } void onTaskFinished() { if (pending.fetch_sub(1) 1) { std::lock_guardstd::mutex lock(doneMutex); doneCv.notify_all(); } } void waitAll() { std::unique_lockstd::mutex lock(doneMutex); doneCv.wait(lock, [] { return pending.load() 0; }); }注意務必在任務內部調用onTaskFinished()并確保異常安全。如果任務拋異常計數(shù)會丟失waitAll永遠等不到零。穩(wěn)妥做法是用 RAII 包一層析構時遞減計數(shù)。3. 把 ranges 算法拆到工作隊列上三種模式與代碼落地線程池有了接下來就是把std::ranges算法真正派發(fā)上去。不同算法有不同的并行模式不能一把梭。我把常見場景分成三類映射型、歸約型、全局依賴型。3.1 映射型任務for_each / transform最基礎也最容易并行化的是for_each、transform這類逐元素操作塊與塊之間沒有任何數(shù)據(jù)依賴。核心思路把 range 切成連續(xù)塊每塊獨立調用ranges::for_each或ranges::transform。template typename Range, typename Fn void parallelTransformInplace(ThreadPool pool, Range range, Fn fn) { using std::ranges::begin; using std::ranges::end; size_t n std::ranges::distance(range); if (n 0) return; const size_t hw std::thread::hardware_concurrency(); const size_t blocks hw * 4; // 塊數(shù)約為線程數(shù) 4 倍 const size_t chunk (n blocks - 1) / blocks; // 每塊元素數(shù) auto it begin(range); std::vectorstd::futurevoid futures; futures.reserve(blocks); for (size_t offset 0; offset n; offset chunk) { auto blockBegin std::next(it, offset); auto blockEnd std::next(blockBegin, std::min(chunk, n - offset)); futures.push_back(pool.submit([blockBegin, blockEnd, fn]() { std::ranges::for_each(blockBegin, blockEnd, fn); })); } for (auto f : futures) { f.wait(); } }這個實現(xiàn)有個前提range 是隨機訪問范圍。std::next(it, offset)在隨機訪問迭代器上 O(1)但如果底層是filter_view、istream_view每次推進都要遍歷元素切塊的代價會很高。我的做法是先把非隨機訪問范圍 materialize 成 vector再做并行分塊。比如從文件讀出的日志行經過filter過濾后可能只有 30% 通過直接按行號分塊容易導致負載不均先拷進 vector 再分塊反而更穩(wěn)定。對于transform要注意函數(shù)副作用。如果變換函數(shù)修改的是容器外共享狀態(tài)比如同一個計數(shù)器那并行時每個線程都在競爭結果既可能錯誤也會變慢。正確姿勢是內部無狀態(tài)或只修改自己塊內的元素。3.2 歸約型任務并行局部結果再合并求和、找最大值、統(tǒng)計滿足條件的數(shù)量這類任務的并行模式是“局部歸約 全局合并”。每個線程獨立計算自己的那塊最后匯總。很典型的例子是統(tǒng)計std::ranges::filter之后的元素數(shù)量template typename Range, typename Pred int64_t parallelCountIf(ThreadPool pool, const Range range, Pred pred) { auto n std::ranges::distance(range); if (n 0) return 0; const size_t hw std::thread::hardware_concurrency(); const size_t blocks hw * 4; const size_t chunk (n blocks - 1) / blocks; std::vectorint64_t partials(blocks, 0); std::vectorstd::futurevoid futures; auto it std::ranges::begin(range); for (size_t b 0; b blocks; b) { auto blockBegin std::next(it, b * chunk); auto blockEnd std::next(blockBegin, std::min(chunk, n - b * chunk)); futures.push_back(pool.submit([blockBegin, blockEnd, pred, partials, b]() { int64_t count 0; for (auto iter blockBegin; iter ! blockEnd; iter) { if (pred(*iter)) count; } partials[b] count; })); } for (auto f : futures) f.wait(); return std::accumulate(partials.begin(), partials.end(), int64_t{0}); }這里關鍵點是不要讓每個線程原子地累加一個全局計數(shù)器。原子fetch_add在溢出一級緩存后會形成 cacheline 乒乓性能遠不如各算各的、最后一次性合并。局部partials數(shù)組本身也可能踩偽共享的坑這點我放到第四章專門講。另一個技巧是如果任務塊內還需要繼續(xù)用 ranges 表達比如auto view subRange | std::views::filter(pred);完全可以在 lambda 里構建局部視圖讓代碼保持和單線程版本一樣的可讀性。并行化只是把外層切塊內部該用什么算法就用什么算法。3.3 全局依賴型任務排序的分塊與歸并排序比前面兩種復雜因為全數(shù)組最終必須有序塊與塊之間不是無關的。最經典的并行策略是分塊并行排序再做多路歸并。template typename T void parallelSort(std::vectorT data, ThreadPool pool) { const size_t n data.size(); if (n 10000) { std::ranges::sort(data); return; } const size_t hw std::thread::hardware_concurrency(); const size_t blockCount hw * 2; // 排序場景塊數(shù)不宜過多 const size_t chunk (n blockCount - 1) / blockCount; std::vectorstd::futurevoid futures; for (size_t i 0; i n; i chunk) { auto begin data.begin() i; auto end begin std::min(chunk, n - i); futures.push_back(pool.submit([begin, end]() { std::ranges::sort(begin, end); // 每個塊內部先有序 })); } for (auto f : futures) f.wait(); // 多輪歸并 for (size_t width chunk; width n; width * 2) { for (size_t left 0; left n; left 2 * width) { auto mid data.begin() std::min(left width, n); auto last data.begin() std::min(left 2 * width, n); std::inplace_merge(data.begin() left, mid, last); } } }注意這里歸并階段還是串行的塊數(shù)越多歸并的輪數(shù)和成本越高所以排序時塊數(shù)不能像映射型任務那樣取太多。我實際測下來排序場景的塊數(shù)取線程數(shù)的 1 到 2 倍效果最好再多就會讓歸并成為新瓶頸。想進一步并行化歸并階段可以對兩個有序段做二分切分找到左右兩個子問題后并行歸并但實現(xiàn)復雜度高不少工作量需要和收益匹配。如果你的數(shù)據(jù)不是簡單 vector而是經過views::filter或views::transform的視圖那并行排序前必須先 materialize。因為排序需要隨機訪問和原地交換視圖往往無法滿足。我的做法是std::vectorT tmp; if constexpr (std::ranges::random_access_rangeRange std::ranges::sized_rangeRange) { // 直接對目標 range 分塊 } else { tmp.assign(range.begin(), range.end()); // 對 tmp 排序若需要再寫回原容器 }4. 實測數(shù)據(jù)塊大小、線程數(shù)和隊列鎖的交叉影響4.1 測試場景與基線數(shù)據(jù)我在一臺 8 核 16 線程的 Linux 機器上做了組對照實驗。模擬項目X的數(shù)據(jù)集是 1.2 億個float總體數(shù)據(jù)量約 480MB。任務分三段先對每個元素做一次非線性變換再統(tǒng)計超過閾值的樣本數(shù)最后對結果排序輸出前 10000 個。單線程版本用純std::ranges管道耗時約 2180ms。傳統(tǒng)標準庫并行算法std::for_each(std::execution::par, ...)跑完約 640ms。自建線程池在參數(shù)沒調好時甚至跑到 900ms 以上調好之后降到 410ms。差距很大值得把參數(shù)關系展開講。4.2 塊數(shù)與線程數(shù)的交叉測試下面這組數(shù)據(jù)是同一批數(shù)據(jù)、同樣 16 個線程情況下不同塊數(shù)對耗時的影響配置transform 階段耗時 (ms)排序階段耗時 (ms)塊數(shù) 線程數(shù) x 116 塊548592塊數(shù) 線程數(shù) x 232 塊466545塊數(shù) 線程數(shù) x 464 塊430610塊數(shù) 線程數(shù) x 8128 塊408715塊數(shù) 線程數(shù) x 32512 塊475830transform 階段塊數(shù)太少時8 個元素少的線程很快做完剩下幾個線程在跑長尾負載不均衡塊數(shù)太多時每塊實際只做幾萬次浮點運算調度和 future 同步開銷抬頭耗時重新上升。所以 transform 場景里塊數(shù)取線程數(shù)的 4 到 8 倍是個比較好的甜點。排序階段則明顯不一樣塊數(shù)越少越穩(wěn)定因為歸并代價在塊數(shù)增多后快速上漲。512 塊時要進行 9 輪歸并最后幾輪幾乎每輪都要搬運全部 480MB 數(shù)據(jù)內存帶寬都耗在歸并上。所以排序場景我建議塊數(shù)控制在線程數(shù)的 1 到 2 倍。4.3 隊列鎖爭用與緩存行帶來的意外開銷當我按“每個元素單獨提交一個任務”這種極端方式寫并行時提交 1.2 億個任務顯然不現(xiàn)實但即使只提交幾萬個任務線程池的互斥鎖也會成為熱點。用perf看線程采樣能看到大量時間花在std::mutex::lock的等待和 futex 喚醒上。解決辦法就是前面說的批量提交接口和合理塊大小。另一個容易被忽略的是緩存行偽共享。我在 3.2 節(jié)的統(tǒng)計例子里用了一個std::vectorint64_t partials(blocks, 0)保存各塊結果。16 個int64_t緊挨著放在內存里很可能占用兩三個緩存行不同線程頻繁寫入相鄰地址導致緩存行在核間反復橫跳。將partials數(shù)組的元素對齊到 64 字節(jié)后統(tǒng)計階段耗時從 520ms 降到大約 440ms。這個優(yōu)化沒有任何算法改動只是內存布局更友好了。對齊方式很簡單定義一個帶alignas(64)的結構體struct alignas(64) PaddedCounter { int64_t value 0; }; std::vectorPaddedCounter partials(blocks);注意alignas(64)讓每個元素占滿一個緩存行就不會和鄰居互相污染。塊特別多時內存會多花一些但對大多數(shù)項目成本可忽略。5. 避坑記錄死鎖、偽共享與過度并行5.1 任務內嵌任務死鎖的真實案例我第一次把 ranges 管道接進線程池時寫過一個很自然的遞歸分治邏輯外層任務把 range 切成兩半然后向同一個線程池提交兩個子任務再future.wait()等子任務完成。結果程序在 16 個線程全忙時直接掛起。原因很經典16 個 worker 都在執(zhí)行某個父任務每個父任務都在等待自己派生的子任務但子任務排在隊列后面沒有任何線程去取形成互相等待。解決方式有幾種。最簡單的是任務內部不要再同步等待同一個線程池的任務改為把父任務自身拆成多個獨立任務最后統(tǒng)一在外部等待。如果一定要在任務內部遞歸那就不能把所有 worker 都占滿預留一個線程專門處理派生任務或者用“當前線程參與執(zhí)行隊列任務”的方式不讓父任務死等。從工程角度我會優(yōu)先選擇前者結構清晰也不容易踩邊界。5.2 先分塊再合并而不是靠原子變量到處加我在并行統(tǒng)計里犯過一個更隱蔽的錯每個線程直接用std::atomicint64_t total.fetch_add(localCount)累加全局計數(shù)。表面上看沒有數(shù)據(jù)競爭結果卻慢得離譜因為這本質上就是所有線程對同一個原子變量反復做 RMW 操作緩存行被反復在不同核心間搬運。統(tǒng)計階段耗時比單線程還高。把局部結果先寫到獨立數(shù)組、最后合并看起來繞了一圈實際是最快的。這也是歸約型算法教科書式的做法局部歸約、全局合并。要可靠記住這一點最簡單的方法是把“原子操作”理解為一把昂貴的隱式鎖它能保證正確性但保證不了性能。5.3 并行度不是越高越好內存帶寬和調度總有過剩時最后一個坑是“線程越多越快”的錯覺。當任務變成純內存搬運或浮點變換時瓶頸往往落在內存帶寬上。比如 480MB 數(shù)據(jù)要被遍歷多輪即便線程數(shù)從 8 加到 32CPU 計算單元可能早就等內存數(shù)據(jù)了增加的線程只是增加競爭和切換。我在排序測試里看到過非常明顯的現(xiàn)象8 線程排序 620ms16 線程反而 750ms就是因為多線程并行排序后的歸并階段需要反復讀寫全部數(shù)據(jù)內存帶寬已經飽和額外線程毫無幫助。考慮到這一點我的建議是給線程池留一個運行時可控的并發(fā)上限比如先跑一輪小規(guī)模預熱測試用數(shù)據(jù)決定線程數(shù)而不是盲信hardware_concurrency。你可以把塊數(shù)和線程數(shù)都作為可配置參數(shù)壓測雙維度組合后固定到配置文件里這樣不同機器上都能快速獲得接近最優(yōu)的性能。另外要提醒的是Ranges 視圖在單線程下惰性求值很安全但一旦切塊并行捕獲的引用和可變狀態(tài)就必須重新審視。比如某個 lambda 里捕獲了局部共享的臨時容器多個線程同時修改就是典型的數(shù)據(jù)競爭。并行化前先自問一句每個塊是否只訪問自己范圍內的數(shù)據(jù)如果答案不明確不要急著上線程池先把數(shù)據(jù)處理成無共享的結構。我在這次重構里的一個非常直接的體會是std::ranges的價值在于把算法意圖寫清楚而開發(fā)者自己控制的線程池和工作隊列則把這些意圖真正轉化為硬件利用率。兩者結合比單純依賴std::execution::par更能貼近業(yè)務需求。最后分享一個操作層面的小技巧如果不想把所有 future 攢在內存里可以像我在 2.3 節(jié)里寫的那樣用原子計數(shù)加條件變量代替 future 列表實測下來在任務數(shù)超過一萬時這種方式對內存占用和喚醒開銷都更友好。希望這套“拆分、調度、合并”的思路能幫你在自己的項目里少走幾條彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
5月丁香六月情| 欧美欧盟性爱网| 婷婷涩涩五月天| 99亚洲综合| 超级97碰碰| 九月丁香婷婷| 五月丁香| 这里只有精品免费| 五月色色网| 夜丁香五月婷婷| 激情综合亚洲| 久激情网| 婷婷综合视频| 婷婷五月综合啪| 婷婷久久久| se色99| 噜噜五月天综合| 丁香婷婷久久| 操人91| 91.com男女操| 五月丁香六月| 五月天操逼网| 欧洲亚洲免费视频9| 婷婷综合在线观看视频| 2020夜夜操天天爽| 激情五月天之五月婷婷| 久久五月丁香激情综合| 婷婷五月天六月综合| 婷婷丁香五月天综合AV| 久久久久久久丁香五月天婷婷| 色婷婷综合在线| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 99re资源在线视频导航| 沈娜娜av| 婷婷色基地在线看 | 五月丁香婷婷在线| 欧美性爱五月天| 激情四射婷婷| 欧美婷婷六月丁香综合色| 狠狠色狠狠爱| 91干| 另类综合激情| 99免费热视频| 99综合一区| 性综合网| 色色日本| 操91| 日韩AV在线免费| 欧美三级韩国三级日本三斤| 色停停影院五月天| 午夜成人网站在线观看| 狠色狠色狠狠色综合网| 99热精品6| 五月丁香六月合| 九九免费精品在线视频| 玖玖资源天天无码| 99色视频| 色欧洲| 这里只有精品在线观看视频| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 综合一区二区三区| 色噜噜狠狠色综合日日| 在线播放成人| 久久色情| 五月天激情视频网站| 日日夜夜小色哥| 色色综合视频| 色婷婷小说| 六月婷婷开心| 五月婷婷色色网址| 中文网AV| 深爱激情69热| 99热这里只有精品1| 亚洲综合五月天婷婷| 欧美色五月| 天天日夜夜爽| 六月丁香婷婷综合狠狠爱夜夜爱| 狠狠看狠狠| 亚洲人妻一区二区 | 综合五月亭亭9| 五月丁香色婷婷综合| 天天日天天日天天搞| 丁香五月成人av| 中文AV在线观看| 黄色AV日韩| 粉嫩AV久久一区二区三区| 90色免费视频| 久久这里只有精彩| 色五月AV| 韩国中文字幕91| 一区三区视频有限公司| 婷婷丁香一月| 亚洲中文字幕av| 少妇高潮呻吟A片免费看软件| 黄色AAAA韩国guochansanji| 精品国产人人爱人人| 99er久久| 日本人妻伦在线中文字幕| 超碰成人在线免费观看| 久热这里精品免费| 色爱亚洲| 啪啪99| 婷婷五月天综合蜜桃| 日日噜噜夜夜狠狠久久丁香六月| 中文字幕网伦射乱中文| 天天色播| 五月丁香婷中文| 天天日天天久久青青| 亚洲色图45p| 婷婷色色综合激情| 婷婷五月色播放| 秋霞九九无码| 五月丁香AV在线| 天天综合网在线| 香蕉伊人综合| 丁香五月婷综合网| 久久久久久久91| 丁香五月婷婷激情网| 丁香六月婷婷综合在线| av免费在线看不卡无毒| 色综合爱综合| 国产欧美精品AAAAAA片| 五月丁香在线视频观看| www99热| 热久久婷婷| 欧美日韩大黄| 亚洲电影在线观看| 丁香五月激情六月| 99riav 亚洲| 婷婷丁香六月| 日本99视频| 伊人五月综合网| 天天色综合综合| 开心五月深爱五月| 少妇激情五月婷婷| AA片在线观看视频在线播放| 五月天成人网婷婷| 国产精品99久久久久久久女警| 色婷婷啪啪啪啪啪啪| 五月丁香欧美综合| 久久影视婷婷五月| 大香蕉久久婷婷| 97人人操com| 色婷婷五月亚洲| 久久国产一区二区三区| 国产在线另类五月婷婷| 狠狠色综合久久久久| 婷婷综合激情五月综合| 丁香八月综合激情| 另类小说色婷婷| 婷婷五月超碰| 婷婷五月综合社区| 97福利视频| 欧美色色色色色| 香蕉久久六月| 91啪啪视频| 久久五月天激情婷婷| 人人爱国产| 婷婷射丁香| 在线视频你懂得| 亚洲综合99| 欧美色图天堂网| 丁香5月激情网| www.久久久久| 五月婷婷就去色| 粉嫩AV久久一区二区三区| 深爱激情四射| 九九超日本| 五月激情在线| 亭亭五月丁香综合欧美| 色色色宗合网| 操操碰| 狠狠艹狠狠艹| 九九综合88| 婷婷六月色开| 4399成人黄A片| 婷婷丁香五月激情| 午夜婷婷五月天| 任我肏视频精品| 26uuu亚洲| 99精品高潮| 在线99热| 五月婷视屏在线观看| 超碰在线网站| 熟女人妻一区二区三区免费看| 欧洲综合色| 色黄啪啪| 五月婷视频| 精品皮股午夜AV| 97热在线精品| 综合色、色综合| 操一操干一干| 丁香狠狠| 操碰99| 欧美交换配乱吟粗大25P| 开心五月综合| 亚洲无码成人网| 另类在线免费视频| 婷婷六月丁| 欧美色小说婷婷| www:99热视频| 国外亚洲成AV人片在线观看| 婷婷综合五月天| 丁香久色| 国产日产成人亚洲欧美国产VA| 成人国产欧美大片一区| 丁香五月婷婷影院| 极品另类| 欧美日本一区二区三区| 成人看片网站| 日本三级第一页| 丁香色成人| 午夜 外网 精品 在线| 丁香五月综合激情久久潮喷| 成人无码髙潮喷水A片| 婷婷丁香成人五月天| 婷婷五月天成人五月天| 婷婷在线综合| 五月天婷婷激情网| 五月婷九月| 天天干天天操天天拍| 婷婷五月18永久免费视频| www.五月婷婷久久.com| AV动漫不卡无码免费| 国产又爽又猛又粗的视频A片| 色综合久久中文| 久久性爱网站| 日日鲁鲁夜夜爽爽| 99热思思在线观看| 日本综合久| YW无码| 青青草免费公开视频| 99亚洲视频| 99re热久久| 久久综合九九| 大香网伊人久久综合| 91主播在线| 国产精产国品一二三在观看| 99色视频| 搡BBBB搡BBB搡五十| 久热无码| 五月婷婷六月丁香| a网站免费观看| 狠狠干在线| 丁香 久久| 婷婷久久亚洲| 26uuu亚洲欧美日本| 91啪级电影| 成人婷婷桔色| 涩涩婷婷五月| 婷婷综合五月天亚洲综合| 狠狠色性| 97碰啪啪| 中文字幕按摩做爰| 99se丁香| 五月丁香婷婷综合网色欲| 少妇人妻偷人精品无码视频新浪| 99在线资源视频| 欧洲电影在线观看免费版英语版 | 婷婷五月天综合AV| 91热网址| WWW,激情五月天,COM| 婷婷午夜精品久久久| 在线不卡中文字幕| 五月天激情播播网| 夜夜操夜夜姧| 五月婷婷中文| 97碰在线| 国产欧美日韩综合精品一区二区| 国产操B| 久草九一| 手机在线日韩视频中文字幕| 干亚洲天堂| 很很干在线视频| 6080av| 国产精品香蕉| 91久久久久久久| 噜噜视频| 亚洲最大视频网站| 超碰免费人妻| 我爱婷婷五月天综合88| 婷婷激情图片| 色情综合| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 91精品久久久久久久久| 99久热这里只有精品视频删减版| 色了色综合| www,婷婷| 五月丁香六月天| 免费看欧美成人A片无码| 婷婷丁香五月天综合激情| 内射 无码 伊人| 久久婷婷电影| 激情婷婷五月女| 射久久丁香五月| 五月天成人综合| 激情五月天社区| www婷婷色| 五月天婷婷激情网| 亚洲性爱日韩无码| 欧美va在线| 丁香五月瑟瑟| 五月视频日本免费观看| 五月婷婷人人人操| 激情综合五月丁香六月婷婷| 婷婷在线播放av| 亚洲va欧美va国产综合久久久| 中文AV在线观看| 禁欲电影完整版在线播放| 色五月自偷自拍婷婷婷婷| 五月丁香婷婷色| 毛片色五月| 色香欲综合| 人人操91色| 深爱五月月天| 97热在线精品| 色婷婷亚洲综合av| 午夜不卡成人一区二区| www.夜夜操| 日韩免费99| www婷婷亚洲| 午夜亚洲国产精品av一区二区| 国产露脸150部国语对白| 婷婷九月激情| 五月丁香综合影院| 婷婷丁香五月基地| 婷婷五月丁香综合人妻| 丁香五月激动深爱欧美| 开心 五月 综合| 五月激情小说| 久久99三级在线视频| 天天成人综合| 99亚洲天堂| 亚洲网站999| 5月丁香婷婷激情网| 九久9精品| 五月丁香少妇| 综合XX网| 怡春院久操| 先锋av性爱成人电影| 夜夜干 夜夜操| 99热在线观看99| 五月成人网天天| AA丁香综合激情| 日韩综合久久| 97色片| 婷婷爱五月| 婷婷五月激情视频| 久久久久久18| 99这里只有精| 日本3级片一区2区| 婷婷五月色惰| 99视频在线看| 丁香五月婷婷丫| 涩综合婷婷| 99天堂网| AV中文在线| 欧美色图45678| 综合久久影院| 任你草| 天天日天天爽夜夜爽| 婷婷九九视频| 中文字幕综合网| 大香蕉人在线65| av性爱网站| 99精品丰满| 激情五月婷婷在线| 丁香五夜激情四射夜夜夜| 九九热精品6| 99热在线播放精品| 99热这里只有精品5| 69久热| 天天天综合网| 五月丁香综合激情| 精品人妻一区二区三区在| 久久伊人日日夜夜| 日本欧美啪啪| 久久激情五月| 婷婷五月色丁香在线看| aaaa.黄| 夜夜撸日日操| 永久无码色| 亚洲精品视频在线播放| 精品皮股午夜AV| 欧美婷婷色五月网| 五月丁香综合激情| 婷婷五月天熟妇| 色欲色香,www,com| 无码99| 国产熟女日日骚五月丁香爱| 99热99天堂| 国产免费AV网站| 天天肏屄夜夜爽| 久久91久久精品久久| 激情五月五月婷婷| 丁香香五月激情免费视频| 91在线就要啪| 久热 91| 五月丁香亚洲校园欧美| 超碰免费观看| 五月婷婷激情五月| 亚洲热久久| 伊人久久大香网| 国产伦亲子伦亲子视频观看| 色婷久久| 99色一| 狠狠第四色| 青柠影视免费高清电视剧| 亚洲成人黄色网| 99干视频| 殴美97色| 202丰满熟女妇大| 丁香美女五月天婷婷| 99激情网| AV在线大香蕉| 丁香社92视频| 国产XXXX搡XXXXX搡麻豆| 可以直接看的av| 精品无码av丁香五月激情| 欧美高潮9| 五月婷综合| 婷婷激情六月| 欧美激情五月| 思思99精品视频在线观看| 五月天婷婷激情网| 日逼影音先锋男人资源站| 高清无码视频网址| 狠狠久久婷五月| 久久99免费视频| 79精品在线视频| 五月天激情四射网站| 国产成人精品一区二区三区视频| 色婷婷亚洲婷婷| 丁香五月播播| 五月天五月天激情网| 99在线热| 色婷婷五月视频| 爱草视频在线观看| 久婷婷五月激情| 99热碰碰热| 97丁香视频| 九七色色六月丁香| 精品亚洲国产成AV人片传媒| 97操碰| 天天久久狠狠色综合| 激情深爱五月| 无码人妻一区| 婷婷精品性性性性性性性| www.激情在线| 狠狠久久婷五月综合色| 成人婷婷色五月天| 99小精品| 丁香婷婷偷拍| 很很操很很操| 99热这里精| 五月www| 国产1区2区3区在线观| 丁香五月婷婷AV| 99久久精品国产色欲| 久青草大香蕉| 婷婷综合在线播放| 99热99精品| 免费97碰碰| 操比激情五月综合| 亚洲AV综合在线观看| 国产亚洲网站在线| 色欲久久综合| 色五婷婷| 99精品在线播放| 中文字幕人妻一区二区| 人人操人人妻| 91日综合欧美| yellow视频在线观看91| 久久婷婷影院| 夜夜人妻五月天| 97色色色视屏| 婷婷五亚洲| 婷婷五月天激情诱惑| 丁香五月婷婷影院| 丁香婷婷老熟女综合网| 五月五月婷婷| 亚洲av网站| 五月婷婷在线丁香| 日日夜夜噜噜爽爽| 四色五月婷婷| 综合网天天| 国产成人精品亚洲线观看| 99ER热精品视频| 丁香综合日产精品久久| 秋霞日本免费毛片A片| 色九月婷婷综合| 久热只有这里有精品| 99精品这里只有免费视频| 色亚洲婷婷| 五月天婷婷丁香六月| 97色色网| 五月综合激情婷婷六月色窝| 99人人干人人操| 六月色播| 婷婷久久国产视频| 五月婷婷色| 色婷婷影院| 最新高清无码专区| 大香蕉婷婷丁香| 婷婷五月天成人五月天| 五月婷在线播放| 天天色播| 丁香五月婷婷五月基地| 26uuu青青| 丁香五月激情无码视频| 俺去也五月天| 日韩情色在线观看| 99极品视频| 思思热高清在线观看| 五月婷婷综合激情网| 久久人人做人人妻人人玩精品va| 久久99久久99精品免观看粉嫩| 狠狠做五月婷婷| 91成人性爱视频| 欧美精品XXXXBBBB| 爆乳熟妇一区二区三区爆乳照片| 丁香五月婷婷俺也要去| 五月丁香久久| 六月丁香婷婷综合狠狠爱夜夜爱| 五月婷六月天| 国产67194| 久久小片| 亚洲人妻av| 色www.con| 伊人婷婷五月| www.夜夜| 日韩一级片| rr天天操| 丁香五月伊人| 五月天伊人日日噜影片AV| WWW99热| 蜜臀av 粉嫩av 懂色av| 婷婷区日本| WWW久久久| 精品一区二区三区三区| 激情小说 五月天| 婷婷五月花| 黄色精品五月婷婷| www.婷婷五月天.com| 97亚洲视频在线| 97色色色色| 欧美色九| 99干99| 人人爱人人添| 婷婷五月另类网站| 丁香五月综合网亚洲综合欧美狠狠| 久久婷婷五月天| 九九色综合| 中文字幕永久在线| 婷婷久久色| 五月激情啪啪| 日日撸夜夜操| 五月六月丁香激情视频| 五月天婷婷视频| 超碰97人人操| 婷婷五月天成人网| 丁香六月久久| 久热这里只有精品6| 九洲一级A片| 五月丁香啪啪综合| 在线视频你懂得| 91色五月| 色热久资源| 大香蕉520| 琪琪理论片| 99热免费| 婷婷激情五月天亚洲综合| AA片在线观看视频在线播放| 思思热在线精品视频网站| 国产露脸150部国语对白| 激情五月天之六月婷婷| 色插人人| 成人AV综合在线| 韩国三级五月天婷婷。| 色99免费视频中文| 99re在线视频| 综合激情五月天| 色五月综合| 色噜噜,噜噜色| A片试看120分钟做受视频红杏 | 久碰视频| 97操操网| 天天在线XXX| 日本 欧美在线| www.色五月| 热99久久这里只有精品| www色哟哟| 五月天激情啪啪| 色五月综合| 人妻体体内射精一区二区| 国色天香伊人狠狠色| 亚洲AV成人无码精品| 啪啪小说五月天| 99久在线精品| 久久99热网| 九九视频在线观看| 伊人影音无码一区二区三区| 婷婷狠狠综合网入口| 亚洲视频色婷婷| 超碰99在线观看| 国产看真人毛片爱做A片| a久久免费视频| 色狠狠色综合久久久绯色AⅤ影视| 五月丁香六月婷婷啪啪| 五月婷婷色激情| 色五月成人| 中文字幕丰满孑伦无码专区| 99热综合| www.五月激情.com| 成人午夜免费电影| 激情婷婷狠狠干综合| 182TV大香蕉| 婷婷丁香六月激情综合| 成人中文字幕在线| 成人在线观看国产| 婷婷综合久久| 99在线小视频| 69午夜成人影片| 人妻激情在线| 国产av第一专区| 色色操| 视频色色色色色色| 亚洲AAA| 久久女人天堂| 狠狠狠狠青草| 国产69久久久欧美黑人A片 | Xx色综合| 97香蕉久久超级碰碰高清版| 国产av第一专区| 午夜一区| 九九热欧美| 天天舔天天摸视频| 狠狠va| 国产精品久久..4399| 五月婷狠狠| 日本天天操| 大香蕉精品视频| 色五月综合在线| 激情WWW| 五月婷婷色播视频| 另类综合激情| 日韩精品一区二区亚洲AV观看| 97色精品视频| 专区无日本视频高清8| 久久丁香五月天| 丁香美女五月天婷婷| 五月婷婷无码专区| 五月丁香综合伦理片| 五月婷俺去也| 色五月天影视| 色婷婷电影| 超碰色综合| 日亚二欧美| www.99热精品99.com| 婷婷五月丁香青青草在线| 青青草原精品久久| 婷婷黄色网| 性爱激情五月| 97日本在线播放| 日本色色色色色色色色一色二色| 北京熟妇搡BBBB搡BBBB| 婷婷在线播放| 精品香蕉99久久久久网站| 亚洲色五月| 久久综合五月天| 91碰碰碰| 91在线操逼视频| 五月天婷婷丁香成人网| 亚洲a片免费观看| 五月丁香日逼| 国产成人在线不卡AV| 26.uuu丁香五月婷婷| 六月丁香色色色| 99色网站| 午夜色色色极品视频| 五月激情婷婷开心五月| 操丝袜视频影院导航| 性日本精品| 久久99网| 色5月婷婷| 久色网| 成人国产网站在线免费看| 人碰人人人玩91| www99xxxx五月丁| 97色色综合| 日本老女人黄页在线播放| 伦乱美欧| 日日狠狠久久偷偷四色综合免费| 天天弄天天操| 五月天偷拍| 色色婷婷综合| 九色无码| 色黑鬼导航| 天堂AV在线看| 久99久精品视频| 99在线免费视频| 激情五月天婷婷播播久久综合91| 婷婷五月天丁香成人社区| 在线观看的av| 人妻 性久久久久久| 综合五月婷婷| www.狠狠操| 波多婷婷久久| 97超碰综合| 青青草婷婷综合五月| 99精品在线观看视频| 婷婷综合久久| 91久久18| 丁香五月天天| 免费视频99| 激情五月婷婷综合| 五月叮香啪| 五月婷婷深深爱爱| 思思热在线| 99在线精品免费视频| 99热超| 婷婷五月丁香综合激情小说| 播五月,色五月,开心五月播放器| 五月天开心网| 先锋资源婷婷| 五月婷婷丁香av| 激情五月婷婷综合| 人妻中文字幕精品| 婷婷丁香一月| 99操逼| 激情98色婷婷五| 深爱激情五月天| 国产精品视频| 色色色.COM| 97色碰| 9 1大香蕉| 五月丁香日本片| 五月婷婷激情中文字幕| 51精品国自产在线| 亚洲人妻AV| 无码色色| 久草婷婷网| 殴美日比视频| 丁香综合婷婷五月天| 欧美性猛交 XXXX 乱大交| 久久人人九九| 91精品综合久久久久久五月丁香| 四川BBB搡BBB搡多人乱亂| 99手机在线精品视频| 久热精品视频| www.色婷婷| 啪啪色激情五月天| 能看的av| 色婷婷另类| 人妻在线中文字幕久久| 久久婷色| 五月丁香激情四射综合| 天天插天天日| 丁香五月激情五月色综合| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 综合久久影院| 99日精品视频| 五月丁香综合激情网| aaaa久久| 亚洲色小说在线综合| www.99视频| 狠狠色婷婷7777久| 99自拍视频在线| 五月婷婷日| 日本va欧美va国产激情| 免费色婷婷| 亚洲精色| 久久久aaa| 婷婷五月精品中文字幕| 色色五月丁香| 99热情这里只有精品在线播放| 性日本精品| 婷婷99视频在线| 狼人久草| 六月婷婷激情| 九九爱看亚洲| 丰满少妇猛烈A片免费看观看| 五月婷婷开心激情六月蜜桃| 精品人妻伦一二三区久久| 色色影院aaaav| 久久综合影院| 女同激情久久av久久| 人妻综合网| 欧美婷婷日本| 99热这里只有精品8| 国产激情综合五月久久| 久久婷婷五月天| 激情五月天噢美| 免费看欧美成人A片无码| 99视频精品视频| 亚洲 在线 另类| 六月天六月婷| 亚洲爱婷婷| 婷婷五月色情| 在线五月婷婷小电影| 欧美性猛交 XXXX 乱大交| 五月婷婷丁香五月亚洲色| 无码免费人妻A片AAA毛片西瓜| 婷婷舔| 色99xx| 五月丁香婷婷免费视频| 久久亚洲婷婷| 亚洲精品字幕在线观看| 亚洲色 视频| 黄色99热| 久久五月丁香| 婷婷综合网在线| 色爱爱综合网| 99色色| 五月熟妇婷婷久久| 黄色av网站在线免费播放| 色五月五月天色婷婷色五月| 婷婷中文在线| 丁香五月婷婷色综合| 97色伦另类图片小说视频 | 婷婷丁香六月激情综合| 色99免费视频中文| 天天看A片| 五月婷婷免费| 久久婷婷丁香视频网| 51国精产品自偷自偷综合| 夜夜操少妇| 五月丁香婷草| 欧美精品XXXXBBBB| 五月婷婷五月色| 婷婷大乡焦噜噜| 国产人妻人伦精品一区二区| 婷婷五月激情六月| 久久丁香婷婷五月天| 一区=区操屄高清大全av| 久久婷网| 青青草原福利在线| 色五月天丁香| 九九成年视频| 色色色热| 久久五月丁香| 激情5月婷婷狠狠干| 任你操精品免费| 91久操| se影音资源在线观看| 免费99情趣网视频| 加勒比日本一区二区三区| 大战熟女丰满人妻AV| 人人色婷婷| 五月婷六月丁香| 五月色网| 色婷婷综合电影| 五月丁香综合网| 91超碰在线播放| 夜夜天天天天天干天天爽| 久热99热| 99少妇精品| 日本精品人妻无码77777| 无码激情| 日本五月天婷婷丁香| 婷婷五月丁香成人| 五月婷婷激情综合| 91夫妻网站九色| 91男同| 日日色综合| 午夜成人网站在线观看| 91丨九色丨东北熟女| 日本一道久久| 99久久精品视频女神1| 亚洲成人网站在线播放| 艹B高清无码| 五月婷婷六月丁香| 第四色五月天| 怡红院视频| 婷婷五月丁香六月天亚洲综合| 五月丁香六月色婷| 亚洲欧美综合7777色婷婷| Aα在线免费观看| 色九月丁香婷婷蜜桃在线观看| 日本欧美成人片AAAA| 国产色色视频| 超碰在线精品| av久热| 99久在线精品| 免费观看的av| 99久久这里只有精品| 99热中国| 人人妻久久妻| 色J香五月天| 日本操B视频| 欧美婷婷成人| 六月婷婷在线| 日日撸夜夜操| 思思热99热| 色色色综合| 天天爱综合网| 婷婷综合亚洲| 91碰碰| 综合色久| 五月婷婷六月激情| 能看的AV| 最新高清无码专区| 伊人综合网站| 99热在线精品观看| 六月丁香中文字幕| 琪琪色五月天| 97色色综合| 激情开心五月天| 婷婷射综合| 超碰99资源站| 色综合婷婷| 五月天天天色| 激情婷婷色色| 啪啪啪大香蕉| 天天日日| 人妻六月天| 日本久久婷婷| 97成人在线视频精品| 亚洲天堂爱爱| 丁香久色| 婷婷情色激情| 欧美日本黄色| 九九综合久久| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99九九视频| 日韩成人无码人妻| 婷婷亚洲综合| 伊人喵咪a V| 成人视频在线免费播放| 五月婷婷免费在线| 狠狠久久婷五月综合色| 久久久精品色| 婷婷五月丁香综合激情| 激情99| 丁香花综合永久入口| 99热免费精品| 五月激情久久综合| 久久人妻人人槡| 丁香大香蕉| 日韩丰满少妇无码内射| 成人在线高清| ...婷婷国产成人亚洲日韩| SS丁香五月婷婷| 99玖玖免费视频| 涩涩五月天| 超碰国产在线观看| 色色色激情| 色播五月婷婷五月| 久久性爱视频| 色吊操色妞| 激情婷婷五月久久| 99日这里只有精品| 六月丁香久久| 97自拍99| 天天上天天爽| 9久久婷婷国产综合精品性色| 国产99热| 亚洲AV日韩无码| 草做免费在线观看| 久久99操| 五月婷婷色色网址| 综合激情开心五月| 久热AA| 色五月美女| 丁香五月婷婷狠狠色| 色欲色香综合网| 丁香五月天视频| 伊人色综合影院视频| 深爱1激情网| 开心深爱激情网| 国产肏屄大片| 五月婷婷激情69| 九九aV| 国産精品| 99热99色| 丁香五月天久久| 五月天婷婷色| 九九在线视频| 国产综合A片| 99视频地址| 99色综合| 久久五月天影院| 婷婷大美在线| 99精品在线| 色欲影香| 丁香五月伊人| 狠狠色丁香久久综合婷婷亚洲成人福利 | 婷婷少妇激情| 五月婷综合| 亚洲成人日韩无码精品| 97五月天婷婷午夜| 综合五月婷婷| 丁香婷婷啪啪| 九九无码| 激情五月婷婷视频一区二区三区| 天天色,天天操,天天射| 欧美日韩91| 五月婷婷综合网| w婷婷五月婷婷w| www.99日本| 99九九视频| 激情性爱网站| 丁香色婷婷五月天| 色色亚洲99com| 婷婷五月色综合| 99天天操夜夜操| 色色色色av777| 丁香五月婷婷欧美性爱| 青青草婷婷综合五月| 婷婷成人五月天| 五月婷婷六月丁| 丁香五月久久| 欧洲激情网站| 亚洲激情综合| yazhou seshipin| 99ER热精品视频| 99热爱爱干干日| 丁香色色网| 五月天第四色开心色播| 日本综合久久| 五月婷婷香蕉| 无码字幕中文| 思思国产99| 综合色吧| 97人人超| 欧美日本VA| 欧美人与性动交CCOO| 激情六月下句是什么| 涩五月婷婷| 久久99热这里只有精品23| 色综合99| 五月天社区狠狠| 丁香密臀AV激情网| 99在线观看精品| 99re思思| 丁香五月婷婷啪啪视频| 欧美VA在线观看| 婷婷五月天亚洲综合| 丁香五月婷婷视频| 在线不卡视频| 影音先锋91网站在线观看| 午夜激情五月| 免费国产视频| 99热免费| 五月丁香花激情综合网| 久久艹99| 北京熟妇搡BBBB搡BBBB| 天天操夜夜爱| 国产1区2区3区| 国产午夜精品AV一区二区麻豆| 五月天四色房丁香| 日熟女| 婷婷丁香五月色| site:xiongshengzz.com| 五月婷婷久久大片| jiZZdr| 久鲁鲁色网| 综合久久8| 97操操操| 五月停停丁香| 97香蕉碰碰人妻国产欧美| 97婷婷色| 五月天亚洲综合网| 99这里有精品免费| BlACKEDRAW视频一区二区| 丁香激情久久| 五月丁香六月婷综合成人综合| 色99无码| 国产99久久久国产精品免费看| 久久精品视频在这里有| 色综合色| 四射综合网| 9+1视频网址| 久久久人妻门| 激情婷婷五月天。| 国内熟女黄色系列| 免费精品99| 五月天色五月| 婷婷5月天av| 久热 91| 黄色aa观看aaguochan| 色色色综合网| 丁香婷婷情色五月天| 丁香六月高清视频| 色婷婷先锋| 免费视频1区| 99久在线精品99re8热| 六月色五月天天婷婷| 草草视频91| 婷婷五月色情| 97香蕉碰碰人妻国产欧美| 99爱视频| 人人妻久久妻| 国语对白性爱视频播放| 99热销国产这里有精品| 激情五月天。| 少妇高潮A片无套内谢麻豆传| 五月婷婷亚洲色视频| 五月开心激情网| 99热这里只有精品国产免费| 婷婷亚洲久久| 欧美三级韩国三级日本三斤| 色婷婷成人做爰A片免费看网站 | 激情五月亚洲| 婷婷色五月激情| 五月婷婷大香蕉| 久久激情五月婷婷| 欧洲综合一区| 色色欧美。| 五月婷婷激情网| 五月丁香六月婷| 一区视频网站| 9有码中文| 五月激情婷婷在线| 女力报到正好爱上你| 九九热这里只有精品9| 美女亚洲五月丁香| 激情五月天久久丁香| 99色婷婷视频| 狠狠色97| 九九re精品视频在线观看| 91色吧网| 狠狠爱深色婷婷综合| 国产肥白大熟妇BBBB视频| 婷婷五月天小说| 狠狠干狠狠色| 9+1视频网址| 久久九九99| 99久热这里只有精品| 九九热啪啪| 五月丁香啪啪激情| 成人短视频在线观看| 99综合自拍| 91视频一起草| 婷婷精品| www.超碰| 六月丁香婷| 亚洲欧洲中文日韩久久AV乱码| 全部老头和老太XXXXX| 色色亚洲| 99五月香婷婷丁香在线视频| 久久这里只有精品视频15 | 成人在线日韩欧美| 一区三区视频有限公司| 91免费看片| 亚洲无码另类| 99九九久久| 婷婷五月丁香综合激情小说| 麻豆123区| 九九热短视频在线观看| 99热99这里免费的精品| 自拍盗摄 另类| 五月天深爱激情网| 996er热| 大香蕉av在线| 蜜桃人妻无码AV天堂三区| 亚洲综合色网| 九九99精品视品| 大香婷婷| 综合大香蕉| 欧美婷婷五月激情| 亚洲A色| 91精品久久久久久久| 婷婷五月色播放| 精品人妻一区二区三区在| 亚洲视频久久| 婷婷久久五月天丁香| 五月婷婷在线视频免费观看| 激情都市五月天| 思思热在线免费视频| 天天色亚洲| 综合网天天| 碰碰碰97国产| 色婷婷香蕉丁丁网| 九九热这里只有精品23| 久噜久噜| 日韩久热| 亚洲精品又粗又大又爽A片 | 色狠狠色综合| 久久伊人婷婷| 五月丁香综合网| 国产精品美女久久久久AV超清 | 九九婷婷五月天影视| 成人免费va| 99热这里只有精品8| AAA久久| 不卡的AV网站| 五月婷婷99热| 五月丁香婷中文| 天天爽夜夜爽夜夜爽精品视频 | 色亚洲色宗合| 亚洲六月婷婷| 国产美女无遮挡裸体毛片A片| 九九九九九九毛片| 99热国内| 成人丁香婷婷| 99热精品在线播放| 狠狠综合区| 久青青久| 婷婷五月色情| 久久九九激情五月天 | 精品动漫 无码av| WWW免费视频碰碰碰碰| 五月丁香综合啪啪| 蜜乳AV成人| www.99热国产| 99热e| AV在线免费观看不卡| 亚洲欧美综合7777色婷婷| WWW.99热| 婷婷五月天社区| 色欲色香综合网站| 激情播丁香| 五月丁香婷婷基地| 操比激情五月| 亚洲激情 久久| 91黄操| 日噜噜色| 男人综合网| 91蜜桃婷婷狠狠久久综合9色| 天天肏天天肏| 色五月婷婷大| 91一起操| 久9热视频在线观看| 色噜噜狠狠插综合| 超碰在线caop| 丁香五月手机在线| 久久婷婷五月综合伊人| 国产精品人人做人人爽人人添| 91精品无码| 六月婷婷在线视频| 99只有精品9| 色婷婷婷综合五月天| 婷婷成人视频| 91丨九色丨熟女丰满| 可以看的av网站| 97色综合视频| 天天色天天色天天色天天色天天色| 欧洲色| se色综合网| 在线观看中文字幕| 男同色五月开心五月激情五月| 深爱激情网五月| 激情色色色| 亚洲综合在线伊人婷| AA丁香综合激情| 9热在线观看| 久久婷婷视频| www.com任你艹| 99热这里只有精品99| 丁香五月婷婷激情蜜桃| 亚洲激情精品| 9精品国产在热久久| 思思热AV| 免费看欧美成人A片无码| 综合久久婷婷五月丁香| 超碰在线人妻| 五月丁香拍拍激情综合| 亚洲综合另类| 六月婷婷五月丁香首页| 婷婷激情四射| 色播播之激情五月婷婷| 无码激情AAAAA片-区区| 国内裸舞二区| 超碰97在线操| 欧美丁香五月|