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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享

發布時間:2023/11/27 生活经验 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 前言
    • 1. Rocksdb線程池概覽
    • 2. Rocksdb 線程池實現
      • 2.1 基本數據結構
      • 2.2 線程池創建
      • 2.3 線程池 調度線程執行
      • 2.4 線程池銷毀線程
      • 2.5 線程池優先級調度
      • 2.6 動態調整線程池 線程數目上限
    • 3. 總結

前言

Rocksdb 作為一個第三方庫的形態嵌入到各個存儲系統之中存儲元數據,當rocksdb被使用的時候其內部會自啟動一些線程,隨著需要處理的用戶數據越來越多,為了保證性能,rocksdb會讓這一些線程也會不斷增加。而在分布式存儲場景,往往一個機器節點會有很多rocksdb實例(64個實例,每一個實例都會有compaction/flush線程),這個時候在Rocksdb內部使用合理的線程管理方式會節省系統CPU調度資源。

所以Rocksdb自實現的Thread Pool就是為了更好得管理Rocksdb內部線程,除了一些基本的線程調度之外,還會有可控制的線程優先級的調度,因為大多數場景Rocksdb讓Flush線程的優先級高于Compaction線程,而有的場景則需要Compaction的優先級高于Flush,為了更快速的compaction清理掉舊數據。

接下來簡單看一下Rocksdb 線程池的基本實現,本人已經將該線程池代碼摘出來單獨維護,可作為一個獨立線程池去調度。

https://github.com/BaronStack/ThreadPool

線程池存在的目的 正如上面Rocksdb使用線程池的目的一樣, 能夠更加方便得管理我們應用中的線程,包括但不限于:線程創建,線程資源約束,線程優先級調度,線程銷毀 等。

1. Rocksdb線程池概覽

Rocksdb 實現的線程池支持的特性:

  • 創建/銷毀線程
  • 動態增加、減少線程池線程數目上限(線程池數目需要設置上限,因為Compaction/Flush占用的資源也不能無限增加,需根據實際的Rocksdb 寫入量來動態增加)
  • 支持動態調整 線程CPU 和 I/O優先級(為了暴露足夠的接口給用戶,來讓用戶選擇兩個功能調度的優先順序)

2. Rocksdb 線程池實現

2.1 基本數據結構

// 線程池核心的數據結構
struct Impl {private:bool low_io_priority_;  // I/O 優先級bool low_cpu_priority_; // CPU 優先級Env::Priority priority_; // 線程優先級Env*         env_;       // 獲取當前線程池的環境變量int total_threads_limit_; // 線程池線程總數std::atomic_uint queue_len_;  // 當前線程池中執行線程的排隊長度bool exit_all_threads_; // 清理線程池時會調度所有未執行的線程bool wait_for_jobs_to_complete_; // 等待所有線程池的線程執行完畢// Entry per Schedule()/Submit() callstruct BGItem {void* tag = nullptr;std::function<void()> function; // 執行函數std::function<void()> unschedFunction; // 不執行函數};using BGQueue = std::deque<BGItem>;BGQueue       queue_; // deque 保存線程池中調度的線程相關的信息:線程函數、函數參數std::mutex               mu_;std::condition_variable  bgsignal_; // 條件變量,喚醒正在睡眠的線程std::vector<port::Thread> bgthreads_; // 保存需要調度的線程
}

線程池類:

class ThreadPoolImpl : public ThreadPool {private:std::unique_ptr<Impl>   impl_;// 線程池核心數據結構
};

2.2 線程池創建

Rocksdb維護了一個Env 類,這個類再同一個進程中的多個rocksdb實例之間是能夠共享的。所以Rocksdb將這個類作為線程池的入口,從而讓Flush/Compaction 這樣的線程調度過程中,多個db可以只使用同一個線程池。

Rocksdb實現了多個環境變量:HdfsEnvPosixEnv等,方便Rocksdb的文件操作/線程操作 接口在不同的環境平臺下進行擴展,當然如果用戶變更了新的平臺,只需要支持Env基類的接口,就能擴展到用戶的新平臺。

Env默認實例是PosixEnv,為了保證多db實例間共享同一個環境變量,PosixEnv僅維護一個單例。

// 創建Env,初始化幾個類的單例
// 這里注意調用的順序,先調用ThreadLocalPtr實例的初始化,再調用PosixEnv的
// 這樣在Env析構的時候能夠反方向析構,從而保證ThreadLocal的信息最后一個被清理
Env* Env::Default() {ThreadLocalPtr::InitSingletons(); // Threadlocal 實例數據,用來訪問當前db實例運行的線程狀態信息CompressionContextCache::InitSingleton();INIT_SYNC_POINT_SINGLETONS();static PosixEnv default_env; // 創建posix env	return &default_env;
}

緊接著通過 PosixEnv的構造函數創建線程池

// 根據Env設置的線程優先級,為每一個優先級創建一個線程池(方便優先級線程池的調度)
// 創建多個線程池: enum Priority { BOTTOM, LOW, HIGH, USER, TOTAL };
std::vector<ThreadPoolImpl> thread_pools_;PosixEnv::PosixEnv(): checkedDiskForMmap_(false),forceMmapOff_(false),page_size_(getpagesize()),thread_pools_(Priority::TOTAL),allow_non_owner_access_(true) {ThreadPoolImpl::PthreadCall("mutex_init", pthread_mutex_init(&mu_, nullptr));// 根據優先級創建線程池,默認創建四個線程池,但一般只會用到兩個(LOW,HIGH)for (int pool_id = 0; pool_id < Env::Priority::TOTAL; ++pool_id) {thread_pools_[pool_id].SetThreadPriority(static_cast<Env::Priority>(pool_id));// This allows later initializing the thread-local-env of each thread.thread_pools_[pool_id].SetHostEnv(this);}thread_status_updater_ = CreateThreadStatusUpdater();
}

2.3 線程池 調度線程執行

線程池調度棧如下:從入口到具體的線程函數的執行

Env::Schedule() // Env對外接口PosixEnv::Schedule()ThreadPoolImpl::Schedule() // 線程池的調度入口ThreadPoolImpl::Impl::Submit() // 將線程函數、參數、線程回收函數封裝,添加到待調度隊列queue_ThreadPoolImpl::Impl::StartBGThreads() ThreadPoolImpl::Impl::BGThreadWrapper() // 更新當前執行的線程狀態并啟動一個調度隊列中的線程ThreadPoolImpl::Impl::BGThread()// 從待調度隊列queue_中調度線程func() // 執行線程函數

Env的實例調用Schedule接口,接收待調度的線程執行函數,參數,所屬優先級線程池,以及線程銷毀函數及其參數。

  virtual void Schedule(void (*function)(void* arg), void* arg,Priority pri = LOW, void* tag = nullptr,void (*unschedFunction)(void* arg) = nullptr) = 0;

后續會執行到ThreadPoolImpl::Impl::Submit()

void ThreadPoolImpl::Impl::Submit(std::function<void()>&& schedule,std::function<void()>&& unschedule, void* tag) {// 后續需要更新當前線程池的線程調度隊列,需要保證更新過程的原子性std::lock_guard<std::mutex> lock(mu_);// 需要銷毀線程池了,不接受新的線程加入if (exit_all_threads_) {return;}// 啟動線程StartBGThreads();// 更新線程函數相關的信息 到線程調度隊列尾部(雙端隊列)queue_.push_back(BGItem());// 更新auto& item = queue_.back();item.tag = tag;item.function = std::move(schedule);item.unschedFunction = std::move(unschedule);queue_len_.store(static_cast<unsigned int>(queue_.size()),std::memory_order_relaxed);// 如果正在執行的線程沒有超過線程池線程數限制,則喚醒一個正在休眠的線程if (!HasExcessiveThread()) {// Wake up at least one waiting thread.bgsignal_.notify_one();} else { // 。。。這個邏輯不太懂,超過限制之后 不應該就不喚醒了嗎?// Need to wake up all threads to make sure the one woken// up is not the one to terminate.WakeUpAllThreads();}
}

后續的執行就是按照以上調用棧進行的,從線程調度隊列頭部取線程函執行。

2.4 線程池銷毀線程

線程池的銷毀也就是Env變量的析構函數,db被destory或者close,則會進入該邏輯,Env的默認環境變量是PosixEnv,即Env的子類。則會先調用PosixEnv 的析構函數,其中線程池相關的清理邏輯:

整體的調用棧如下:

~PosixEnv()ThreadPoolImpl::JoinAllThreads() ThreadPoolImpl::Impl::JoinThreads()

在析構函數中調用相關的線程清理工作:

~PosixEnv() override {// 通過Posix startthread 的接口調度的線程函數并發執行完畢for (const auto tid : threads_to_join_) {pthread_join(tid, nullptr);}// 讓不同優先級線程池中待執行線程執行完for (int pool_id = 0; pool_id < Env::Priority::TOTAL; ++pool_id) {thread_pools_[pool_id].JoinAllThreads();}// 放置Posix析構過程中不應該thread_status_updater_ ,防止一些子線程更新線程狀態出錯// Delete the thread_status_updater_ only when the current Env is not// Env::Default().  This is to avoid the free-after-use error when// Env::Default() is destructed while some other child threads are// still trying to update thread status.if (this != Env::Default()) {delete thread_status_updater_;}
}

其中JoinAllThreads函數用來喚醒所有子線程的執行,并設置標記防止接收新的線程

void ThreadPoolImpl::Impl::JoinThreads(bool wait_for_jobs_to_complete) {std::unique_lock<std::mutex> lock(mu_);assert(!exit_all_threads_);wait_for_jobs_to_complete_ = wait_for_jobs_to_complete;// 原子(加鎖)方式更新如下變量,用作在submit函數中屏蔽接收新的線程exit_all_threads_ = true;// prevent threads from being recreated right after they're joined, in case// the user is concurrently submitting jobs.// 重置線程池的線程上限,防止用戶并發調用submit添加待調度線程total_threads_limit_ = 0;lock.unlock();bgsignal_.notify_all(); //喚醒所有等待在bgsignal_的線程for (auto& th : bgthreads_) {// join 執行,直到執行完。th.join();}bgthreads_.clear();exit_all_threads_ = false;wait_for_jobs_to_complete_ = false;
}

2.5 線程池優先級調度

之前說過Rocksdb線程池支持 用戶針對不同LOW/HIGH 線程池的I/O或者CPU的優先級設置。

比如 設置LOW線程池具有更低的I/O優先級和CPU優先級

target_->LowerThreadPoolIOPriority(Env::Priority::LOW);
target_->LowerThreadPoolCPUPriority(Env::Priority::LOW);

具體底層的設置方式是針對之前提到的線程數據結構中的兩個參數Impl::low_io_priority_Impl::low_c pu_priority_進行置位true。在ThreadPoolImpl::Impl::BGThread調度函數執行之前,會通過系統調用setprioritysyscall(SYS_ioprio_set,,,)設置當前線程的I/O和CPU優先級。

void ThreadPoolImpl::Impl::BGThread(size_t thread_id) {bool low_io_priority = false;bool low_cpu_priority = false;while (true) {// Wait until there is an item that is ready to runstd::unique_lock<std::mutex> lock(mu_);...bool decrease_io_priority = (low_io_priority != low_io_priority_);bool decrease_cpu_priority = (low_cpu_priority != low_cpu_priority_);lock.unlock();#ifdef OS_LINUX// Linux 系統支持 設置CPU優先級if (decrease_cpu_priority) {setpriority(PRIO_PROCESS,// Current thread.0,// Lowest priority possible.19);low_cpu_priority = true;}if (decrease_io_priority) {
#define IOPRIO_CLASS_SHIFT (13)
#define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data)// Put schedule into IOPRIO_CLASS_IDLE class (lowest)// These system calls only have an effect when used in conjunction// with an I/O scheduler that supports I/O priorities. As at// kernel 2.6.17 the only such scheduler is the Completely// Fair Queuing (CFQ) I/O scheduler.// To change scheduler://  echo cfq > /sys/block/<device_name>/queue/schedule// Tunables to consider://  /sys/block/<device_name>/queue/slice_idle//  /sys/block/<device_name>/queue/slice_sync// 設置I/O優先級syscall(SYS_ioprio_set, 1,  // IOPRIO_WHO_PROCESS0,                  // current threadIOPRIO_PRIO_VALUE(3, 0));low_io_priority = true;}
#else// 非Linux系統的話就不做任何處理了,僅僅保證變量被使用而已,防止編譯warning (void)decrease_io_priority;  // avoid 'unused variable' error(void)decrease_cpu_priority;
#endiffunc();}
}

2.6 動態調整線程池 線程數目上限

支持動態調整線程池可調度的線程數目上限,這個能夠限制線程池資源的占用,主要用作Rocksdb 中調整Flush和Compaction的各自所處的HIGH和LOW線程池中的線程數目上限。能夠根據db的工作負載,動態增加或者減少線程池中可調度的線程數目。

void ThreadPoolImpl::IncBackgroundThreadsIfNeeded(int num) {impl_->SetBackgroundThreadsInternal(num, false);
}void ThreadPoolImpl::Impl::SetBackgroundThreadsInternal(int num,bool allow_reduce) {std::unique_lock<std::mutex> lock(mu_);// 如果線程池已經要被銷毀了,就不用增加線程池的調度線程數目上限了if (exit_all_threads_) {lock.unlock();return;}// 增加線程數目或者減少線程數目// 喚醒休眠的線程并調度后臺線程繼續執行。if (num > total_threads_limit_ ||(num < total_threads_limit_ && allow_reduce)) {total_threads_limit_ = std::max(0, num);WakeUpAllThreads();StartBGThreads();}
}

3. 總結

到此整個線程池的基本實現就描述完成了,這是一個非常成熟的線程池(經歷過接近十年的工業級考驗,2012年facebook開始開發rocksdb),規模雖小,但五臟俱全。其能夠支撐引擎級別的線程調度壓力,保證引擎的核心邏輯flush和compaction的高效調度。

目前該線程池的獨立實現已經放在了https://github.com/BaronStack/ThreadPool 中,擁有完備的線程池調度/銷毀,優先級配置,歡迎star。

總結

以上是生活随笔為你收集整理的Rocksdb 的优秀代码(三)-- 工业级 线程池实现分享的全部內容,希望文章能夠幫你解決所遇到的問題。

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

992tv成人免费看片 | 欧美国产精品一区二区 | 国产精品久久久久久久久久久久久 | 成人黄色av免费在线观看 | 亚洲精品国产精品久久99 | 国产999精品久久久久久绿帽 | 人人干狠狠干 | 波多野结衣亚洲一区二区 | 欧美一级乱黄 | 国产精品久久久久永久免费看 | 欧美综合在线观看 | 国产69精品久久久久99 | 亚洲免费视频观看 | 黄网站a | 国产1级视频 | 日韩在线视频看看 | 99久久精品免费看国产麻豆 | 九九热免费观看 | 成人动漫一区二区 | 久久99热这里只有精品国产 | 久久草在线视频国产 | 久久黄色影视 | 欧美日韩伦理在线 | 正在播放一区 | 欧美久久久久久久久久 | 日韩精品中文字幕在线播放 | 99视频在线观看免费 | 国产在线观看xxx | 久草线| 日韩美女免费线视频 | 欧美 亚洲 另类 激情 另类 | 在线亚洲精品 | 日本成址在线观看 | 免费麻豆视频 | 美女国产精品 | 久久深夜福利免费观看 | 一级片黄色片网站 | 狠狠干狠狠色 | 超碰公开在线观看 | 91av免费看 | 欧美日韩高清一区二区 国产亚洲免费看 | 免费在线观看日韩欧美 | 五月激情丁香婷婷 | 免费在线观看av电影 | 久视频在线 | 人人射av | 欧美一区二区伦理片 | 久久久午夜精品理论片中文字幕 | 色吧久久 | a一片一级 | 久久九九视频 | 国产艹b视频 | 国产精品av久久久久久无 | 久久视频精品在线观看 | 日韩欧美精品在线观看视频 | 成人av一区二区兰花在线播放 | 九九免费在线观看视频 | 香蕉视频日本 | 国产精品中文在线 | 亚洲成人av电影 | 在线播放一区二区三区 | 日韩免费在线一区 | 久久国产露脸精品国产 | 精品视频久久久久久 | 亚洲国产小视频在线观看 | 日韩有码第一页 | 久久福利| 久久福利影视 | 在线视频第一页 | 日韩免费看 | 麻豆视频网址 | 欧美久久成人 | 国产麻豆电影在线观看 | 精品久久久久久久久中文字幕 | 久久精品国产99 | 久久午夜免费观看 | 精品少妇一区二区三区在线 | 久久99精品国产99久久 | 91天堂影院| 91cn国产在线| 国产精品久久久 | 久久蜜臀av | 国产丝袜高跟 | 九九热在线播放 | 99免费在线视频观看 | 欧美了一区在线观看 | 激情五月在线视频 | 久久久伦理 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国内成人av | 日韩在线| 亚洲乱码精品久久久久 | 色综合久久久久综合体桃花网 | 国产精品99久久久久久人免费 | 欧美色操| 在线综合 亚洲 欧美在线视频 | 2022中文字幕在线观看 | 国产麻豆精品久久一二三 | 中文字幕免费成人 | 婷婷久月| 99热99| 午夜精品久久久久久久99水蜜桃 | 欧美一区二区三区在线视频观看 | 久久久久久久久综合 | 人人超碰免费 | 免费看一级片 | 亚洲三级黄色 | 国产午夜麻豆影院在线观看 | 久久草在线视频国产 | 亚洲麻豆精品 | 国产一级视频在线 | 丁香高清视频在线看看 | 五月激情久久久 | 国产成年免费视频 | 成人看片 | 欧美日韩超碰 | av.com在线| 国产亚洲精品久久久久秋 | 日韩电影在线观看一区二区 | 在线亚洲高清视频 | 97视频免费| 国产精品18久久久 | 国产精品麻豆视频 | 在线观看 国产 | 久久av电影 | 狠狠干在线播放 | 色噜噜色噜噜 | 天天插天天射 | 日韩精品一区二区三区三炮视频 | 综合伊人av| 久草国产精品 | 91免费在线视频 | 悠悠av资源片 | 午夜精品久久久久久久99 | 91成人网在线 | 麻豆av电影 | 超碰在线成人 | 婷婷色在线 | 日韩电影一区二区在线 | 国产精品久久久久久久久久免费看 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 少妇18xxxx性xxxx片 | 日韩欧美专区 | 91在线视频观看免费 | 欧美资源| 欧美另类一二三四区 | 天天天天射 | 亚洲另类交 | 91网站在线视频 | 91九色最新地址 | 欧美在线观看小视频 | 在线观看中文字幕第一页 | a黄色一级 | 黄色av电影在线 | 国产午夜精品福利视频 | 亚洲 欧美 变态 国产 另类 | 亚洲第一中文网 | 少妇做爰k8经典 | 日本公妇在线观看高清 | 五月婷婷伊人网 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 一级黄色片网站 | 激情欧美一区二区三区 | 亚洲精品在线电影 | 中文字幕av免费观看 | 91久久久久久久一区二区 | 在线视频亚洲 | 国产精品一区二区久久精品爱涩 | 99久久久久成人国产免费 | 在线观看视频中文字幕 | 激情偷乱人伦小说视频在线观看 | 国产精品久久久久久久av大片 | 手机看片| 一本一道久久a久久精品蜜桃 | 色婷婷伊人 | 国产视频一区在线 | 天天射天天舔天天干 | 综合久久久久久久 | 天堂麻豆| 93久久精品日日躁夜夜躁欧美 | 国产一区二区在线免费 | 国产亚洲欧美日韩高清 | 国产小视频你懂的 | 2021av在线 | av在线a| 日免费视频 | 日本在线精品视频 | 国产精品一区二区在线免费观看 | 婷婷六月网 | 涩涩网站在线看 | 91麻豆精品国产91久久久使用方法 | 欧美成人高清 | 久久久久久久久久久影视 | a电影在线观看 | 四虎影视成人精品国库在线观看 | 欧美一级黄色网 | 在线成人小视频 | 免费精品国产va自在自线 | 免费在线电影网址大全 | 亚洲精品乱码久久久久久久久久 | 日本二区三区在线 | 色婷婷播放 | 亚洲精品乱码白浆高清久久久久久 | 人人爽人人爽av | 97在线精品视频 | 天天天天天天天操 | 久久久久久久久久伊人 | 久久久精品午夜 | 99久久99久国产黄毛片 | 在线观看不卡视频 | av免费在线看网站 | 欧美精品久久久久久久久免 | 久久久久久欧美二区电影网 | 精品在线小视频 | 久久综合九色综合97婷婷女人 | 亚洲做受高潮欧美裸体 | 99精品在线观看 | av五月婷婷 | 九色琪琪久久综合网天天 | 欧洲精品码一区二区三区免费看 | 999热视频 | 亚洲精品国产综合99久久夜夜嗨 | 日韩18p| 亚洲欧洲精品久久 | www.天堂av| 成年人免费电影 | 黄色aa久久| 欧美日韩在线观看一区二区 | 国产精品永久久久久久久www | 国产小视频在线 | 日韩女同一区二区三区在线观看 | 色干综合 | 国产剧情在线一区 | 日日夜夜国产 | 在线观看v片 | 日日天天干 | 日韩视频中文字幕在线观看 | 精品国产乱码久久 | 97人人澡人人添人人爽超碰 | 青青网视频 | 亚洲成a人片在线www | 福利精品在线 | 久久亚洲福利视频 | 国产精品一区在线 | 成人a在线观看高清电影 | 亚洲精品国精品久久99热 | 欧美成人影音 | 久久综合色8888 | 天天碰天天操视频 | 91欧美国产 | 91精品国产自产在线观看 | 超碰免费av | 国产精品综合久久 | av在线播放国产 | 久久成人在线 | 婷婷精品在线视频 | 美女黄频在线观看 | 国产成人一区二区三区影院在线 | 久久久国产精华液 | 日本中文字幕在线视频 | 日韩免费区 | 精品国产午夜 | 在线观看日韩视频 | 亚洲涩涩一区 | 国产精品视频久久久 | 天天干天天操天天射 | 亚洲免费在线观看视频 | 456免费视频 | 日韩精品网址 | 日本一区二区三区视频在线播放 | 丁香九月婷婷综合 | 国产一级精品视频 | 91综合久久一区二区 | 日韩免费高清在线观看 | 天天干天天插伊人网 | 91黄色小网站 | 在线观看av大片 | 亚洲四虎| 美女网站久久 | 国产一区二区影院 | 香蕉视频在线免费 | 亚洲 欧美 另类人妖 | 天天摸天天操天天舔 | 中文一二区| 香蕉影视app | 欧美色道 | 黄色亚洲在线 | 91看片麻豆 | 麻豆视频观看 | 亚洲天堂自拍视频 | 国产一级在线播放 | 欧美久久久久久久久久久 | 4438全国亚洲精品在线观看视频 | 日韩精品无 | 成人av免费播放 | 久草视频观看 | 97视频网址 | 久久96| 国产视频一区精品 | 97成人超碰 | 777奇米四色| 久久精品久久综合 | 免费涩涩网站 | 欧洲精品码一区二区三区免费看 | 在线国产能看的 | 亚洲精品综合一区二区 | 精品国产一区二区三区在线观看 | 国产精品久久久久久久久久久杏吧 | 麻豆视频在线免费 | 麻豆 91 在线 | 免费看国产精品 | 免费看国产曰批40分钟 | 亚洲激情六月 | 中文字幕一区二区三区精华液 | 久久视影 | 黄色在线免费观看网址 | 国产夫妻av在线 | 久久五月天色综合 | 人人插人人草 | 狠狠躁日日躁狂躁夜夜躁 | 久久日韩精品 | 天天插狠狠干 | www.综合网.com| 最近中文字幕mv免费高清在线 | 91在线看 | 欧美国产日韩激情 | 91香蕉视频在线下载 | 超碰97免费观看 | 成人一区电影 | 亚洲电影成人 | 成人欧美亚洲 | 天天色天天射天天综合网 | 久久精品国产亚洲精品2020 | 久久成人午夜视频 | 国产麻豆精品95视频 | 日韩视频免费观看高清完整版在线 | 丁香免费视频 | 一区二区三区四区五区在线 | 18岁免费看片| 日韩在线视频不卡 | 久久超| 97香蕉久久超级碰碰高清版 | 成人免费在线视频 | 成人毛片在线视频 | 日本在线中文在线 | 成人免费视频视频在线观看 免费 | 亚洲天堂在线观看完整版 | 中文字幕久久精品亚洲乱码 | 精品人人人人 | 天堂黄色片 | 超碰在线99 | 精品久久久久久综合 | 91色亚洲| 99在线视频精品 | 天天干夜夜爱 | 性色视频在线 | 日韩精品免费一区二区在线观看 | 中文字幕有码在线观看 | 欧美a√大片| 欧美国产日韩一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 狠狠色狠狠色合久久伊人 | 亚州人成在线播放 | 最新免费中文字幕 | 国产精品9999久久久久仙踪林 | 成年人在线观看免费视频 | 免费在线观看黄 | 成人黄在线观看 | 日本少妇高清做爰视频 | 色噜噜狠狠狠狠色综合久不 | 狠狠色狠狠色终合网 | 色综合色综合久久综合频道88 | 国产精品久久久久久久电影 | 国产精品久久久久久久久久妇女 | 久久理论电影网 | 探花视频在线观看免费 | 欧美另类一二三四区 | 亚洲成人精品影院 | 国产色黄网站 | 日韩一区二区三免费高清在线观看 | 狠狠躁日日躁夜夜躁av | 色婷婷视频在线观看 | 国产一区视频在线观看免费 | 日夜夜精品视频 | 99视频在线免费看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 成人三级av| 麻豆视频91| 狠狠色丁香久久综合网 | 麻豆国产视频下载 | aav在线 | 又爽又黄又无遮挡网站动态图 | 又黄又色又爽 | 久操中文字幕在线观看 | 久草在线欧美 | 午夜性色 | 一区二区三区免费在线观看视频 | 国产视频91在线 | 久久手机免费视频 | 久操中文字幕在线观看 | 国产美腿白丝袜足在线av | 在线视频欧美精品 | 黄色av电影一级片 | 国产精品高清一区二区三区 | 精品国产免费久久 | 97色婷婷| 国产一区在线免费 | 亚洲成人资源 | 91成熟丰满女人少妇 | 黄色91在线观看 | 国产一级片免费播放 | 日韩激情精品 | 91精品国产自产在线观看 | 91麻豆精品国产91 | 精品成人网 | 亚洲一区二区三区毛片 | 欧美日韩国产精品一区二区 | 国产99久久久国产 | 日韩av一区在线观看 | 国产日产精品一区二区三区四区 | 极品美女被弄高潮视频网站 | 碰超在线 | 亚洲精品视频在线观看免费视频 | 99热在线观看免费 | 丝袜精品视频 | 国产精品毛片久久久久久久 | 激情视频在线观看网址 | 草免费视频 | 欧美日韩国产一区二 | 六月激情| av高清在线 | 国产一二三四在线观看视频 | 国产精品免费观看视频 | 国产精品久久久久一区二区三区 | 成人免费在线观看电影 | 国产精品一区二区吃奶在线观看 | 免费在线观看日韩欧美 | 天天综合入口 | zzijzzij日本成熟少妇 | 91精品网站在线观看 | 密桃av在线 | 日韩和的一区二在线 | 福利二区视频 | 日韩电影黄色 | 99久久久久久久久久 | 五月婷婷影院 | 国产精品毛片久久久久久久 | www.99av| 九色在线视频 | 成年人网站免费在线观看 | 狠狠婷婷 | 日韩美精品视频 | 六月婷婷网 | 中文在线最新版天堂 | 日韩视频一 | 日韩精品一区二区三区高清免费 | 91精品一 | 69国产在线观看 | 免费观看v片在线观看 | 欧美成a人片在线观看久 | 99精品视频一区 | 久草免费在线观看视频 | 色综合狠狠干 | av中文字幕在线免费观看 | 一级片视频在线 | 国产亚洲精品久久久久久大师 | 久久综合精品一区 | 免费日韩一区 | 九九交易行官网 | 日韩精品免费在线播放 | 黄色av电影一级片 | 国产精品久久久久免费观看 | 欧美精品少妇xxxxx喷水 | 亚洲欧美国产精品久久久久 | 嫩草伊人久久精品少妇av | 久久毛片网 | 久草影视在线 | 久久久久女人精品毛片九一 | 成人久久久电影 | 日韩在线欧美在线 | 日韩精品免费在线观看视频 | 国产1级毛片 | 久久永久免费视频 | 日韩 精品 一区 国产 麻豆 | 日韩视频1 | av在线网站免费观看 | 91女子私密保健养生少妇 | 奇米7777狠狠狠琪琪视频 | 97国产小视频| 国产精彩视频一区 | 91麻豆网 | 亚洲精品久久久久58 | 亚洲激情五月 | 偷拍区另类综合在线 | 久久伊人综合 | 国产亚洲精品v | 91亚洲夫妻| 久久精品视频在线免费观看 | 4438全国亚洲精品在线观看视频 | 亚洲精品国产精品乱码不99热 | 69性欧美| 久久xxxx| 精品免费一区二区三区 | 成人av中文字幕 | 91视频在线免费下载 | 国产 成人 久久 | 91国内产香蕉 | 精品亚洲免费视频 | 一区二区久久久久 | 俺要去色综合狠狠 | 99在线观看视频 | 视频国产在线 | 亚洲精品视频二区 | 久久精品一区二区三区中文字幕 | 精品嫩模福利一区二区蜜臀 | 色综合天天综合网国产成人网 | 亚洲精品国产综合99久久夜夜嗨 | 99久久99久久免费精品蜜臀 | 香蕉视频在线网站 | 人人爱人人爽 | 狠狠躁夜夜躁人人爽视频 | 韩日在线一区 | 一区二区三区四区久久 | 超碰精品在线观看 | 久久久久久久久福利 | 日本久久久久久 | 国产精品乱看 | av导航福利| 成人av片在线观看 | 日韩大片在线观看 | 91九色视频在线播放 | 青草视频在线播放 | 丁香花五月 | 一级全黄毛片 | 亚洲午夜精品在线观看 | 日韩在线免费观看视频 | 日韩高清免费电影 | 97超碰中文字幕 | 天天干天天碰 | 成人性生交大片免费看中文网站 | 欧美另类xxxx | 亚洲女人天堂成人av在线 | 亚洲成av人影院 | 欧美日韩一区二区在线观看 | 91欧美视频网站 | 久久综合九色欧美综合狠狠 | 日日干激情五月 | 992tv在线观看网站 | 国产精品18久久久久久首页狼 | 亚洲视频456 | 日韩网站在线播放 | 九七在线视频 | 免费观看国产成人 | 香蕉在线影院 | 国产福利精品视频 | 日韩成人在线免费观看 | www国产亚洲精品久久网站 | 国产 日韩 欧美 中文 在线播放 | www中文在线 | 久久伊人91 | 国产99久久久精品 | 极品嫩模被强到高潮呻吟91 | 99这里有精品 | 蜜桃视频色 | www.久久com| 国内免费的中文字幕 | 国产一区欧美二区 | 91九色精品女同系列 | 日本精品一 | 久久黄页 | 天天操天天舔天天干 | 揉bbb玩bbb少妇bbb| 久久午夜免费视频 | 久久五月婷婷丁香 | 日韩网站一区二区 | 日本中文字幕电影在线免费观看 | 久久婷婷亚洲 | 国产福利一区二区在线 | 久久狠狠亚洲综合 | www夜夜操com| 午夜性色 | 少妇自拍av| 色www.| 操操操夜夜操 | 91av视频在线播放 | 91一区二区三区久久久久国产乱 | 久久久免费播放 | 91色网址 | 国产精品中文在线 | 黄色三级免费网址 | 免费观看成人网 | 欧美另类巨大 | aaa日本高清在线播放免费观看 | 男女啪啪免费网站 | 免费福利在线观看 | 新av在线 | 久久精品免费观看 | 在线免费中文字幕 | 国内精品小视频 | 超碰人人草 | 欧美日韩免费一区 | 成人在线观看你懂的 | 亚洲国产精品电影 | 国产区精品视频 | 久久在草 | 亚洲另类视频在线 | 欧美男男tv网站 | 亚洲一区二区三区精品在线观看 | 国产最新91| 99久久精品久久亚洲精品 | 久久国产高清视频 | 在线日韩 | 国产精品久久久久久久妇 | 国产日女人 | 欧美精品久久天天躁 | 亚洲91网站 | 婷婷色网| 手机在线视频福利 | av电影在线免费 | 婷婷资源站| 日本中文字幕电影在线免费观看 | 97超碰色 | 久久婷婷一区二区三区 | 日韩99热| 国产视频久久久久 | 亚洲精品色 | 最新的av网站| 精品久久久久久亚洲综合网站 | 日本69hd | 精品国产亚洲在线 | 亚洲成人av一区二区 | 久久久久国产a免费观看rela | 精品视频免费播放 | 欧美日韩视频免费 | 免费看片网址 | 色婷婷综合久色 | 片黄色毛片黄色毛片 | 右手影院亚洲欧美 | 国产精品私拍 | 久久8精品| 亚洲精品在线观看的 | av免费在线网站 | 国产精品白丝jk白祙 | 一级性视频 | 国产黄| 国产97视频| 中文字幕在线观看免费观看 | a级黄色片视频 | 亚洲免费视频观看 | 久久九九国产精品 | 国产精品观看视频 | 成年人视频免费在线 | 欧美激情视频久久 | 国产精品原创在线 | 91精品在线免费观看 | 99久久夜色精品国产亚洲 | 天堂网在线视频 | 精品91视频 | 在线观看成人一级片 | 欧美日韩在线网站 | 国产免费一区二区三区网站免费 | 色视频网站免费观看 | 亚洲国产影院 | 欧美日韩午夜 | 国产一区黄色 | 有没有在线观看av | 国产最新视频在线 | 午夜丁香网| 国产一区二区三区免费观看视频 | 国产伦理一区 | 99精品久久精品一区二区 | 福利一区在线 | 一区二区三区久久 | 99se视频在线观看 | 天天天综合 | 91亚洲精品在线观看 | 日韩欧美一级二级 | 四虎成人免费影院 | 在线观看日韩专区 | 精品国产伦一区二区三区 | 亚洲免费av网站 | 免费看色视频 | 五月开心色 | 国产精品一区二区三区四区在线观看 | 国产日产精品一区二区三区四区的观看方式 | 日本老少交 | 亚洲japanese制服美女 | 高潮毛片无遮挡高清免费 | 18久久久久久 | 天天操天天射天天爽 | 韩国一区二区三区在线观看 | 亚洲精品视频在线免费播放 | 国产精品你懂的在线观看 | 久久精品国产亚洲aⅴ | 国产成人免费高清 | 免费色视频网站 | 国产一线二线三线在线观看 | 在线观看视频黄色 | 亚洲精品美女久久 | 狂野欧美激情性xxxx | 91在线影院 | 99久久综合国产精品二区 | japanese黑人亚洲人4k | 美女免费网站 | 一区二区三区免费播放 | 国产精品婷婷午夜在线观看 | 人人射av| 国产精品专区在线 | 国产一区电影在线观看 | 久久久久综合网 | 国产精品久久久久永久免费观看 | 91久久久久久久一区二区 | 懂色av一区二区在线播放 | 欧美精品亚州精品 | 九九免费精品视频 | 欧美精品少妇xxxxx喷水 | av福利电影 | 91大神精品视频 | 在线观看资源 | 999热线在线观看 | 国产精品久久久久久久午夜 | 精品视频123区在线观看 | 久久久久久中文字幕 | 中文字幕av日韩 | 在线看国产精品 | 国产免费a | 五月激情丁香图片 | 国产亚洲一级高清 | 毛片一区二区 | 久久综合九色综合久99 | 成年人视频在线免费 | 亚洲精品视频 | 91中文字幕| 美女网站在线 | 手机av电影在线观看 | 欧美日本不卡高清 | 亚洲高清国产视频 | 狠狠久久 | 成人在线视频网 | 久草在线久草在线2 | 国产精品久久毛片 | 日韩精品国产一区 | 国产成人精品一区一区一区 | 国产一在线精品一区在线观看 | 2019av在线视频 | 亚洲精品久久久久999中文字幕 | 免费av在线播放 | 国内视频在线 | www黄免费 | 成人免费视频在线观看 | 这里有精品在线视频 | 操一草| 国产亚洲永久域名 | 精品久久久久久国产 | 精品国产亚洲在线 | 成人国产精品一区 | 97精品国自产拍在线观看 | 91视频电影 | 亚洲免费成人av电影 | av国产在线观看 | 狠狠干天天操 | 1000部国产精品成人观看 | 日韩精品久久久久久久电影99爱 | 97人人看| 欧美一级艳片视频免费观看 | 狠狠色狠狠色综合系列 | 亚洲一区二区麻豆 | 福利视频一区二区 | 久热免费| 欧美 激情 国产 91 在线 | 成人黄在线| 免费一级黄色 | 亚洲精品日韩一区二区电影 | 免费av高清| 日韩欧美视频在线播放 | 天天综合网在线 | 免费视频 你懂的 | 在线日韩中文 | 美女免费视频一区二区 | 久久视频免费看 | 开心激情网五月天 | 国产一区二区免费在线观看 | 中文在线8新资源库 | 天天爱综合 | 69视频在线 | 韩日视频在线 | 久久超| 国产视频美女 | 国内精品久久久久影院日本资源 | 天天av资源 | 嫩草伊人久久精品少妇av | 视频三区在线 | 91亚洲狠狠婷婷综合久久久 | 天天拍天天干 | 日韩欧美在线一区 | 超碰97在线看 | 日韩电影在线一区 | 久99久在线视频 | 成人av网站在线观看 | 99国产在线视频 | 一级黄视频 | 欧美日韩国产高清视频 | 99精品欧美一区二区蜜桃免费 | 久在线观看 | 99视频这里只有 | 97视频在线看 | 草久久久久久久 | 午夜视频免费播放 | 一区二区三区四区免费视频 | 肉色欧美久久久久久久免费看 | 中文字幕xxxx | 五月婷婷激情五月 | 九九视频在线 | a√天堂资源 | 麻豆免费看片 | 91在线精品秘密一区二区 | 久久99九九99精品 | 久久99免费 | 午夜国产福利在线观看 | 草久久久| 国产精品久久艹 | 久久婷亚洲五月一区天天躁 | 亚洲精品网站 | 久草视频在线免费播放 | 久久精品电影院 | 久久人视频 | 国产成人精品电影久久久 | 日韩av影视在线 | av亚洲产国偷v产偷v自拍小说 | 麻豆一区在线观看 | 中文字幕一区二区三区四区久久 | 99视频精品免费观看, | 国产一区网 | 三级av免费观看 | 久草在线免费在线观看 | 久久久久激情电影 | 欧美激情综合色综合啪啪五月 | 一区二区三区 中文字幕 | 18av在线视频 | 欧美国产日韩一区 | 亚洲va欧洲va国产va不卡 | 日韩在线大片 | 一区二区精 | 国产成人亚洲在线观看 | 五月婷婷在线观看视频 | 在线视频日韩一区 | 在线影院 国内精品 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 超碰在线98| 午夜精品福利影院 | 久久久国产精品麻豆 | www.黄色网.com| 欧美a级片网站 | 人人干人人艹 | 日本三级在线观看中文字 | 在线播放国产精品 | 精品国偷自产国产一区 | 激情五月婷婷综合网 | 很黄很污的视频网站 | 免费av看片 | 亚洲国产中文字幕在线 | 欧美一级日韩三级 | 欧美极品一区二区三区 | 91香蕉国产在线观看软件 | 亚洲精品免费在线观看 | 久草av在线播放 | 婷婷六月网 | 波多野结衣电影久久 | 亚洲精品欧美精品 | 亚洲黄色成人av | 国产专区在线视频 | 久久久久成人精品 | 久久成人麻豆午夜电影 | 天天干天天草天天爽 | 美女久久99 | 日本三级大片 | 国产美女免费观看 | 久久视频在线看 | 精品国产乱码久久久久久天美 | 欧美久久久久久久久中文字幕 | 四虎在线免费观看视频 | 久久国产美女视频 | 97热久久免费频精品99 | 高清不卡一区二区在线 | 午夜12点 | 中文字幕在线一区观看 | 久久午夜电影 | 视频在线观看国产 | 精品久久久国产 | 成年人毛片在线观看 | 福利电影久久 | 国产在线a不卡 | 成年人黄色免费看 | 一本色道久久综合亚洲二区三区 | 婷婷丁香狠狠爱 | 超碰在线94| 午夜免费福利片 | 亚洲一级片免费观看 | 久久精品老司机 | 欧美成人69av| 久久亚洲综合国产精品99麻豆的功能介绍 | 激情中文在线 | 国产精品va最新国产精品视频 | 日韩视频中文 | 免费观看性生交大片3 | 成人一区二区三区中文字幕 | 国产成人免费网站 | 中文字幕欲求不满 | 久久黄色精品视频 | 91九色视频国产 | 日韩成人免费在线观看 | 五月婷婷另类国产 | 免费观看www7722午夜电影 | 四虎国产精 | 玖草影院 | 欧美三级高清 | 久久久久免费精品视频 | 免费a级毛片在线看 | 成人黄色一级视频 | 国产无区一区二区三麻豆 | 色久综合| 天堂av一区二区 | 日韩中文字幕第一页 | 国内精品久久久久久中文字幕 | 探花系列在线 | 欧美日韩裸体免费视频 | 国产高清精品在线观看 | 91激情视频在线播放 | 久久久男人的天堂 | 在线中文字幕一区二区 | 99av国产精品欲麻豆 | 曰本三级在线 | 亚洲一区二区高潮无套美女 | 国产在线观看99 | 日韩高清二区 | 久久免费黄色大片 | 日韩三级不卡 | 九九久久免费 | 亚洲精品999 | 日韩欧美在线不卡 | 成人av电影免费在线播放 | 日韩免费在线视频观看 | 绯色av一区 | 黄色在线免费观看网站 | 日韩在线观看视频在线 | 亚洲va男人天堂 | 最近乱久中文字幕 | 午夜国产一区 | 西西大胆啪啪 | 九九久久久久久久久激情 | 日韩大片在线看 | 国产剧情亚洲 | av日韩在线网站 | 麻豆视屏 | 欧美日韩高清在线 | 日韩字幕 | 欧洲亚洲激情 | 久久久久国产精品免费免费搜索 | 国产高清视频色在线www | 中文字幕乱码在线播放 | 成人黄色小说在线观看 | 在线免费av播放 | 一区二区三区免费在线 | 亚洲国产97在线精品一区 | 久久精品一区二区三区视频 | 国产字幕在线看 | 国产免费视频一区二区裸体 | 欧美aa级| 超碰国产在线 | 91精品啪啪 | 欧美与欧洲交xxxx免费观看 | 国产成人一区二区三区影院在线 | 懂色av懂色av粉嫩av分享吧 | 日韩大片免费在线观看 | 岛国av在线不卡 | 日韩精品视频网站 | 国产一区二区三区 在线 | 国产精品精品国产婷婷这里av | www.com.日本一级 | 在线欧美中文字幕 | 特黄免费av | 国产99亚洲| av.com在线 | 亚洲一级在线观看 | 国产视频在线观看一区二区 | 久久这里有精品 | 欧美一级片 | 超碰人人乐 | 久久人人爽人人爽人人片av软件 | 狠狠色丁香婷婷综合视频 | 成人亚洲免费 | 亚洲精品视频大全 | 黄色免费网| 奇米影视在线99精品 | 不卡视频一区二区三区 | 精品在线观看免费 | 午夜色性片 | 91福利视频久久久久 |