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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

QEMU脏页速率计算原理

發布時間:2023/12/20 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QEMU脏页速率计算原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 背景基礎
    • 數據結構
    • 邏輯框架
  • dirty-bitmap
    • 計算原理
    • 數據結構
    • 實現流程
      • 臟頁數統計
      • 速率計算
  • dirty-ring
    • 計算原理
    • 數據結構
    • 實現流程
      • 臟頁數統計
      • 速率計算

背景基礎

  • 臟頁速率在QEMU中定義為虛機單位時間內產生臟內存頁的速率,用于描述虛機內存變化的快慢,臟頁速率越大,虛機內存變化越快,遷移時花費的時間就越多。臟頁速率計算公式為:
dirtyrate = increased_memory / meaurement_time
  • 臟頁速率計算的關鍵是如何獲取單位時間內虛擬機新增的臟頁數,不同的獲取方式有不同的速率計算實現,QEMU已經實現了一種計算方式,即抽樣,抽樣方式假設虛機讀寫內存的區間是均勻隨機的,但實際情況并非如此,因此存在一定誤差。除抽樣方式外,還有兩種新的臟頁速率計算實現(預計在6.1版本合入QEMU主線),分別是dirty-bitmap和dirty-ring。dirty-bitmap是一種新的臟頁速率實現,通過查詢dirty-bitmap,獲取一段時間內新增的臟頁數,計算臟頁速率。dirty-ring同樣是一種新的臟頁速率實現,通過查詢vcpu上臟頁數,獲取一段時間內vcpu上新增的臟頁數,計算vcpu的臟頁速率,從而得到整個虛機的臟頁速率。

數據結構

  • 臟頁速率統計信息由數據結構struct DirtyRateStat表示,因速率計算方式不同,需要的統計信息也不同,對于抽樣的方式,描述統計信息的結構體是SampleVMStat,對于dirty-ring的方式,描述統計信息的結構體是VcpuStat,而dirty-bitmap方式的統計信息比較簡單,就是一個全局變量total_dirty_pages,它用于記錄臟頁數量。數據結構定義在migration/dirtyrate.h中。
/* 抽樣方式的統計信息 */ typedef struct SampleVMStat {uint64_t total_dirty_samples; /* total dirty sampled page */uint64_t total_sample_count; /* total sampled pages */uint64_t total_block_mem_MB; /* size of total sampled pages in MB */ } SampleVMStat;struct DirtyRateStat {/* 保存虛擬機的臟頁速率 */int64_t dirty_rate; /* dirty rate in MB/s */int64_t start_time; /* calculation start time in units of second */int64_t calc_time; /* time duration of two sampling in units of second */uint64_t sample_pages; /* sample pages per GB */union {/* 保存抽樣方式的統計信息 */SampleVMStat page_sampling;/* 保存dirty-ring方式的統計信息 */VcpuStat dirty_ring;}; }; /* 記錄測量前后內存的臟頁數,兩者的差值為新增的臟頁數 */ typedef struct DirtyPageRecord {uint64_t start_pages;uint64_t end_pages; } DirtyPageRecord;

邏輯框架

  • 臟頁速率計算對外提供了兩個命令,用于計算和查詢,分別是qmp_calc_dirty_rate和qmp_query_dirty_rate,其實現邏輯比較簡單,如下圖所示,用戶通過qmp_calc_dirty_rate發起臟頁速率計算,qemu單獨啟動一個get_dirtyrate線程用于計算臟頁速率,完成后將結果存放到全局變量DirtyStat中,然后線程退出。需要查詢臟頁速率時,通過qmp_query_dirty_rate查詢之前存放到DirtyStat中的計算結果,返回給用戶。

dirty-bitmap

計算原理

  • dirty-bitmap計算臟頁速率,顧名思義,是通過查詢bitmap來獲取新增的虛機臟頁數。我們知道虛機在遷移時會在每個迭代周期以slot為單位,通過kvm提供的ioctl命令字從內核空間獲取虛擬機的新增臟頁,從而得到本輪迭代需要發送的內存頁。該ioctl命令字返回bitmap數據結構,dirty-bitmap臟頁速率的計算就基于此接口。簡單講,其原理是通過調用ioctl命令獲取虛機臟頁位圖,根據位圖統計出臟頁數量,再除以時間,得到臟頁速率。

數據結構

  • dirty-bitmap臟頁速率計算的數據結構非常簡單,只有一個用于統計臟頁數的全局變量,定義在migration/dirtyrate.c中:
uint64_t total_dirty_pages;

實現流程

臟頁數統計

  • 統計臟頁數在memory_global_dirty_log_sync的執行路徑中完成,memory_global_dirty_log_sync在從內核獲取到位圖之后,會將其保存到ram_list.dirty_memory[DIRTY_MEMORY_MIGRATION] dirty bits中,在這個過程中,我們可以統計臟頁數,流程如下:
memory_global_dirty_log_syncmemory_region_sync_dirty_bitmaplog_sync -> kvm_log_synckvm_physical_sync_dirty_bitmap/* 從內核獲取到slot的臟頁位圖,緩存到slot->dirty_bmap中 */kvm_slot_get_dirty_log/* 將緩存的slot->dirty_bmap保存到DIRTY_MEMORY_MIGRATION dirty bits中 */kvm_slot_sync_dirty_pagescpu_physical_memory_set_dirty_lebitmap
  • cpu_physical_memory_set_dirty_lebitmap負責將slot中的bitmap設置到dirty bits中,新增修改用于統計臟頁數量,如下:
@@ -373,6 +375,10 @@ static inline void cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,qatomic_or(&blocks[DIRTY_MEMORY_MIGRATION][idx][offset],temp); + if (unlikely( + /* 如果因為臟頁速率計算開啟了臟頁日志跟蹤 */ + global_dirty_tracking & GLOBAL_DIRTY_DIRTY_RATE)) { + /* 位圖中1的個數代表臟頁數量 + * 統計1的個數將其加入到全局變量total_dirty_pages中 */ + total_dirty_pages += ctpopl(temp); + }}if (tcg_enabled()) { @@ -403,6 +409,9 @@ static inline void cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,for (i = 0; i < len; i++) {if (bitmap[i] != 0) {/* 逐一按long型長度取出位圖,統計其中1的位數 */c = leul_to_cpu(bitmap[i]); + if (unlikely(global_dirty_tracking & GLOBAL_DIRTY_DIRTY_RATE)) { + total_dirty_pages += ctpopl(c); + }do {j = ctzl(c);c &= ~(1ul << j);
  • 臟頁數量統計的實現在cpu_physical_memory_set_dirty_lebitmap函數中,根據逐一取出long型位圖,統計其為1的bit數,得到臟頁數。存放到全局變量total_dirty_pages 中。

速率計算

  • 速率計算比較簡單,步驟如下:
  • 開始測量時,獲取全局的臟頁計數,保存到本地變量
  • 根據用戶設置的測量時間,睡眠一段時間
  • 再次獲取全局的臟頁計數,保存到本地變量
  • 獲取兩次臟頁計數的增量,得到增加的臟頁數,計算增加內存總量,得到臟頁速率
    • 臟頁速率計算在calculate_dirtyrate_dirty_bitmap中實現,分析如下:
    static void calculate_dirtyrate_dirty_bitmap(struct DirtyRateConfig config) {int64_t msec = 0;int64_t start_time;/* 臟頁計數本地變量,保存測量前后的臟頁數量,用于保存測量時間內的臟頁增加數量 */DirtyPageRecord dirty_pages;/* 獲取BQL鎖 */qemu_mutex_lock_iothread();/* 開啟臟頁記錄,將global_dirty_tracking變量的GLOBAL_DIRTY_DIRTY_RATE位置位 */memory_global_dirty_log_start(GLOBAL_DIRTY_DIRTY_RATE);/* * 高版本的內核如果使能了KVM_DIRTY_LOG_INITIALLY_SET特性* 第一次查詢臟頁位圖時內核會返回全1,這樣新增的臟頁數就是* 虛機所有可讀寫內存頁,這個頁數量無法用于統計* 因此默認跳過第一次,臟頁查詢增長的臟頁數量* //** 1'round of log sync may return all 1 bits with* KVM_DIRTY_LOG_INITIALLY_SET enable* skip it unconditionally and start dirty tracking* from 2'round of log sync*/memory_global_dirty_log_sync();/* * 高版本內核可能會使能KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE特性 * 該特性在臟頁位圖查詢后不會將kvm的頁表的臟頁位清零,而是等到用戶態qemu* 發送內存頁之后再清零,這個時間窗口內虛機新增的臟頁不會被kvm記錄* 這里,因為位圖不用于遷移,所以需要在臟頁查詢后調用kvm提供的ioctl命令字* 將kvm的內存頁的臟頁位清零,這樣kvm才能記錄臟頁* *//** reset page protect manually and unconditionally.* this make sure kvm dirty log be cleared if* KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE cap is enabled.*/dirtyrate_manual_reset_protect();qemu_mutex_unlock_iothread();/* * 至此開始測量臟頁速率* 首先保存全局的臟頁計數total_dirty_pages到本地變量dirty_pages中* 下一次臟頁同步獲取到的位圖就是新增的內存臟頁數* */record_dirtypages_bitmap(&dirty_pages, true);/* 獲取當前的測量時間 */start_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);DirtyStat.start_time = start_time / 1000;msec = config.sample_period_seconds * 1000;/* 睡眠config中指定的測量時間 */msec = set_sample_page_period(msec, start_time);DirtyStat.calc_time = msec / 1000;/* 睡眠醒來后觸發臟頁同步,然后停止臟頁記錄 *//** dirtyrate_global_dirty_log_stop do two things.* 1. fetch dirty bitmap from kvm* 2. stop dirty tracking*/dirtyrate_global_dirty_log_stop();/* * 臟頁同步的過程中會累加新增的臟頁數到全局臟頁計數total_dirty_pages* 這里將全局的臟頁技術total_dirty_pages保存到dirty_pages中*/record_dirtypages_bitmap(&dirty_pages, false);/* * 根據新增的臟頁數量計算臟頁速率,保存到全局變量DirtyStat中* */do_calculate_dirtyrate_bitmap(dirty_pages); }
    • record_dirtypages_bitmap將全局的臟頁計數變量保存到本地變量dirty_pages,根據start標志將其保存到對應域
    static inline void record_dirtypages_bitmap(DirtyPageRecord *dirty_pages,bool start) {if (start) {dirty_pages->start_pages = total_dirty_pages;} else {dirty_pages->end_pages = total_dirty_pages;} }
    • do_calculate_dirtyrate_bitmap根據傳入的DirtyPageRecord結構體變量計算臟頁速率,將其保存到臟頁統計全局變量DirtyStat中
    static void do_calculate_dirtyrate_bitmap(DirtyPageRecord dirty_pages) {uint64_t memory_size_MB;int64_t time_s;uint64_t increased_dirty_pages =dirty_pages.end_pages - dirty_pages.start_pages;memory_size_MB = (increased_dirty_pages * TARGET_PAGE_SIZE) >> 20;time_s = DirtyStat.calc_time;DirtyStat.dirty_rate = memory_size_MB / time_s; }

    dirty-ring

    計算原理

    • dirty-ring計算臟頁速率是基于dirty-ring的臟頁統計原理,它統計每個vcpu上新增的臟頁數量,計算每個vcpu的臟頁速率,累加所有vcpu的臟頁速率,得到整個虛機的臟頁速率

    數據結構

    • QEMU CPUState數據結構中新增dirty_pages域用于統計每個vcpu上的臟頁數量。
    /* dirty-ring方式計算臟頁速率時用于保存vcpu臟頁個數 */ struct CPUState {/* 用戶態通過dirty-ring得到臟頁時,默認將臟頁數量累加到dirty_pages域 */uint64_t dirty_pages;...... }
    • dirty-ring方式計算臟頁速率是基于vcpu粒度,因此其結果是一個vcpu速率的鏈表。每個vcpu都對應一個臟頁速率。
    struct DirtyRateVcpu {int64_t id; /* vcpu idx */int64_t dirty_rate; /* vcpu臟頁速率 */ }; /* dirty-ring方式的統計信息 */ typedef struct VcpuStat {int nvcpu; /* number of vcpu *//* 保存每個vcpu的臟頁速率 */DirtyRateVcpu *rates; /* array of dirty rate for each vcpu */ } VcpuStat;

    實現流程

    臟頁數統計

    • 如果使能了dirty-ring特性,qemu在啟動虛機時會創建kvm-reaper線程,kvm-reaper會周期性地檢查每個vcpu上的diryt-ring,確認是否有新增的臟頁,如果有,根據臟頁地址找它在slot位圖(KVMSlot->dirty_bmap)中的位,將其置位。這個臟頁查詢的過程可以用于臟頁數統計。其流程如下:
    kvm_dirty_ring_reaper_threadkvm_dirty_ring_reapkvm_dirty_ring_reap_locked/* 遍歷虛機的每個vcpu,檢查其上的dirty-ring是否有新增的臟頁*/CPU_FOREACH(cpu) {total += kvm_dirty_ring_reap_one(s, cpu);}
    • kvm_dirty_ring_reap_one檢查vcpu上的dirty-ring是否有新增臟頁,如果有,將其所在slot上位圖的對應位置位,新增的修改用于統計每個vcpu上的臟頁數:
    --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -469,6 +469,7 @@ int kvm_init_vcpu(CPUState *cpu, Error **errp)cpu->kvm_fd = ret;cpu->kvm_state = s;cpu->vcpu_dirty = true;/* vcpu初始化時將臟頁計數初始化為0,之后在vcpu運行過程中一直遞增 */ + cpu->dirty_pages = 0; @@ -743,6 +744,7 @@ static uint32_t kvm_dirty_ring_reap_one(KVMState *s, CPUState *cpu)count++;}cpu->kvm_fetch_index = fetch;/* 在統計vcpu上dirty-ring的新增臟頁時,如果有新增臟頁* 在標記完位圖之后,將新增的臟頁數累加到dirty_pages中* */ + cpu->dirty_pages += count;return count;}
    • 分析kvm_dirty_ring_reap_one函數的流程:
    static uint32_t kvm_dirty_ring_reap_one(KVMState *s, CPUState *cpu) {/* 取出vcpu上的dirty-ring */struct kvm_dirty_gfn *dirty_gfns = cpu->kvm_dirty_gfns, *cur;/* 取出ring的大小 */uint32_t ring_size = s->kvm_dirty_ring_size;/* 取出本次dirty-ring檢查臟頁的位置 */uint32_t count = 0, fetch = cpu->kvm_fetch_index;while (true) {/* 由于臟頁位置是遞增的,需要對ring的大小取模,獲得其在環上的位置 */cur = &dirty_gfns[fetch % ring_size];/* 查看對應位置的頁是否為臟,如果不臟表示沒有新增的臟頁,中斷循環,如果有繼續 */if (!dirty_gfn_is_dirtied(cur)) {break;}/* 將臟頁在slot位圖對應位置1 */kvm_dirty_ring_mark_page(s, cur->slot >> 16, cur->slot & 0xffff,cur->offset);dirty_gfn_set_collected(cur);trace_kvm_dirty_ring_page(cpu->cpu_index, fetch, cur->offset);fetch++;/* 統計新增的臟頁數 */count++;}cpu->kvm_fetch_index = fetch;/* 將新增的臟頁數累加到dirty_pages中 */cpu->dirty_pages += count;return count; }

    速率計算

    • dirty-ring速率計算步驟如下:
  • 開始測量時,獲取vcpu上臟頁計數,保存到本地變量
  • 根據用戶設置的測量時間,睡眠一段時間
  • 再次獲取vcpu上臟頁計數,保存到本地變量
  • 獲取兩次vcpu臟頁計數的增量,得到增加的臟頁數,計算增加內存總量,得到vcpu的臟頁速率,累加后得到虛機臟頁速率
    • 速率計算在calculate_dirtyrate_dirty_ring函數中實現,流程如下:
    static void calculate_dirtyrate_dirty_ring(struct DirtyRateConfig config) {CPUState *cpu;int64_t msec = 0;int64_t start_time;uint64_t dirtyrate = 0;uint64_t dirtyrate_sum = 0;/* 聲明用于保存臟頁計數的本地變量數組,數組大小是vcpu的個數 */DirtyPageRecord *dirty_pages;int nvcpu = 0;int i = 0;/* 獲取虛機vcpu個數*/CPU_FOREACH(cpu) {nvcpu++;}/* 為存放臟頁計數的本地變量數組分給空間 */dirty_pages = malloc(sizeof(*dirty_pages) * nvcpu);/* 設置臟頁統計信息,因為臟頁速率粒度是vcpu,因此保存的速率有nvcpu個,為其分配空間 */DirtyStat.dirty_ring.nvcpu = nvcpu;DirtyStat.dirty_ring.rates = malloc(sizeof(DirtyRateVcpu) * nvcpu);/* 開啟臟頁日志記錄,開始臟頁速率測量 */dirtyrate_global_dirty_log_start();/* 遍歷虛機vcpu上的統計計數,將其保存到本地變量數組dirty_pages中 */CPU_FOREACH(cpu) {record_dirtypages(dirty_pages, cpu, true);}/* 獲取當前的測量時間 */start_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);DirtyStat.start_time = start_time / 1000;/* 睡眠config中指定的測量時間 */msec = config.sample_period_seconds * 1000;msec = set_sample_page_period(msec, start_time);DirtyStat.calc_time = msec / 1000;/* 睡眠醒來后觸發臟頁同步,然后停止臟頁記錄 */dirtyrate_global_dirty_log_stop();/* 遍歷虛機vcpu上的統計計數,將其保存到本地變量數組dirty_pages中 */CPU_FOREACH(cpu) {record_dirtypages(dirty_pages, cpu, false);}/* * 針對每個vcpu,逐一計算其臟頁速率,將其存放到全局統計變量DirtyStat中* 同時累加vcpu的臟頁速率,得到整個虛機的臟頁速率* */for (i = 0; i < DirtyStat.dirty_ring.nvcpu; i++) {dirtyrate = do_calculate_dirtyrate_vcpu(dirty_pages[i]);trace_dirtyrate_do_calculate_vcpu(i, dirtyrate);DirtyStat.dirty_ring.rates[i].id = i;DirtyStat.dirty_ring.rates[i].dirty_rate = dirtyrate;dirtyrate_sum += dirtyrate;}/* 將虛機的臟頁速率保存到全局統計變量DirtyStat中 */DirtyStat.dirty_rate = dirtyrate_sum;free(dirty_pages); }

    總結

    以上是生活随笔為你收集整理的QEMU脏页速率计算原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    99精品视频免费全部在线 | www日韩视频 | 亚洲色影爱久久精品 | 成人久久影院 | 97国产在线观看 | 亚洲视频久久久 | 97视频在线播放 | 天天插天天狠天天透 | 91精品国产一区二区在线观看 | 日韩欧美黄色网址 | 99亚洲精品视频 | av黄免费看| 99超碰在线播放 | 99热999 | 久久久久久久久久久久电影 | www.婷婷色 | 欧日韩在线视频 | 九九色视频 | 婷婷亚洲激情 | 丁香久久婷婷 | 天天爱天天操天天爽 | 欧美精品久久久久久久久久白贞 | 久久怡红院 | 国产香蕉在线 | 色在线网站 | 岛国大片免费视频 | 成人综合免费 | 美女黄频视频大全 | 色姑娘综合 | 亚洲黄色激情小说 | 久久久久久免费视频 | 婷婷爱五月天 | 久久精精品 | 中文字幕在线观看视频一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 在线观看网站黄 | 成人av片免费观看app下载 | 91入口在线观看 | 久久久久久久久久久国产精品 | 天天干天天干天天射 | 亚洲精品综合欧美二区变态 | 国内视频在线观看 | 一区二区精品视频 | 天天操狠狠干 | 亚洲国产精品传媒在线观看 | 在线观看亚洲免费视频 | 毛片美女网站 | 911久久| 欧美日韩有码 | 九九免费在线观看视频 | 深爱激情五月婷婷 | 亚洲视频在线看 | 精品美女久久 | av在线a| 欧美日韩亚洲精品在线 | 久久久久亚洲精品成人网小说 | 中文字幕av一区二区三区四区 | 涩av在线| 69精品视频在线观看 | 国产99久久久精品 | 亚洲一区二区精品视频 | 亚洲码国产日韩欧美高潮在线播放 | 2022久久国产露脸精品国产 | 一区二区三区播放 | 中文国产成人精品久久一 | av三级av | 欧美在线视频二区 | 欧美坐爱视频 | 人人草网站 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产精品一区二区在线观看免费 | 999久久a精品合区久久久 | 免费在线视频一区二区 | 91av中文字幕 | 婷婷视频在线播放 | 免费观看www小视频的软件 | 狠狠色丁香婷婷综合欧美 | 久久久久久黄 | 国产精品久久视频 | 亚洲国产精品va在线看黑人 | 免费久久精品视频 | 91精品伦理| 色噜噜狠狠狠狠色综合 | 激情五月亚洲 | 久久激五月天综合精品 | 亚洲国产精品传媒在线观看 | 色干干| 97超碰精品 | 成人久久亚洲 | 免费看色的网站 | 中文字幕av全部资源www中文字幕在线观看 | 久久色网站| 欧美成人在线免费观看 | a天堂一码二码专区 | 毛片网免费 | 婷婷在线综合 | 国产精品24小时在线观看 | 国产不卡av在线播放 | 五月综合激情网 | 公与妇乱理三级xxx 在线观看视频在线观看 | 91完整视频| 成人在线网站观看 | 久久综合狠狠综合 | 国产在线观看a | 色综合亚洲精品激情狠狠 | 日本在线精品视频 | 人人爽人人射 | 日本特黄一级片 | 亚洲综合小说 | 国产精品地址 | 91黄色免费看 | 成人av一区二区在线观看 | 久久综合久久综合这里只有精品 | 日韩精品免费一区二区三区 | 日韩av免费在线看 | 精品国产一区二区三区男人吃奶 | 四虎5151久久欧美毛片 | 久草久| 992tv人人网tv亚洲精品 | 久久一线| 国产免费黄视频在线观看 | 韩日精品中文字幕 | 久操伊人 | 最新中文字幕 | av福利第一导航 | 黄色av电影在线观看 | 久久久久久高潮国产精品视 | 日日久视频 | 少妇高潮流白浆在线观看 | 久久久久二区 | 九九视频免费观看视频精品 | 在线91网| 中文字幕免费高清在线观看 | 综合久久影院 | 看片的网址 | 国产亚洲精品久久久久久 | 国产精品成人久久久 | 精品国产精品一区二区夜夜嗨 | 在线播放你懂 | 国产资源网 | 97国产精品久久 | av在线小说 | 国产精品久久久久久久久久99 | 亚洲一区二区三区毛片 | 精品国产视频在线观看 | 在线观看视频亚洲 | 国产成人久久av977小说 | 黄色小说网站在线 | 在线日韩av | 久久99亚洲精品久久久久 | 丁香久久 | 亚洲精品在 | 精品国产诱惑 | 美女视频黄在线观看 | 色噜噜日韩精品一区二区三区视频 | 91最新在线 | 欧美精品亚洲精品日韩精品 | 日本久久久久久科技有限公司 | 中文字幕黄色 | 最近中文字幕完整视频高清1 | 91网在线 | 国产日韩欧美在线影视 | 国产成人久 | 国产精品永久免费在线 | 国产精品剧情在线亚洲 | 尤物97国产精品久久精品国产 | 国产日产精品一区二区三区四区 | 狠狠久久婷婷 | 超级av在线| 99精品久久99久久久久 | 中文字幕成人 | 亚洲成人免费在线观看 | 高清不卡毛片 | 中文字幕av在线不卡 | 国产精品手机播放 | 欧美大片大全 | 91麻豆福利 | 97国产精品一区二区 | 精品国产欧美一区二区 | 亚洲精品国偷自产在线99热 | 国产成人一区二区精品非洲 | 天天操天天干天天操天天干 | 综合天天 | 99热最新精品 | 综合色中文 | 久草在线免费在线观看 | 波多野结衣在线观看一区 | 亚洲精品久久久久久中文传媒 | 国产午夜精品一区二区三区欧美 | 又色又爽又激情的59视频 | 国产日韩欧美网站 | 久久久久国产视频 | 看黄色.com| 92精品国产成人观看免费 | 美女福利视频一区二区 | 亚洲精品18日本一区app | 午夜影视av | 97成人在线免费视频 | 91精品综合在线观看 | 福利久久 | 欧美色婷| 免费涩涩网站 | 久久精品一区二区三区国产主播 | 欧美精品国产综合久久 | 欧美少妇的秘密 | 欧美精品一区二区在线播放 | 91精品久久久久久综合乱菊 | av在线日韩 | 久久久久国产成人免费精品免费 | 91手机在线看片 | 日韩久久久久 | 国产美女在线免费观看 | 久久久久久久久久久网站 | 在线中文字幕电影 | 久久精品理论 | 天天操天天爱天天干 | 伊人五月天综合 | 精品一区欧美 | 在线亚洲日本 | 久草免费电影 | 午夜a区| 日韩av一区二区三区在线观看 | 日本三级吹潮在线 | 99国产视频 | 欧美五月婷婷 | 国产精品 中文字幕 亚洲 欧美 | 日韩三区在线观看 | 婷婷综合伊人 | 精品久久网 | 婷婷色狠狠 | 精品主播网红福利资源观看 | 午夜av不卡 | 成人一级在线 | 天天舔天天搞 | 91女神的呻吟细腰翘臀美女 | 亚洲色图 校园春色 | 干干日日| 中文国产在线观看 | 91资源在线免费观看 | 美女黄频免费 | 精品人人人| 一区二区三区在线视频观看58 | 天天操人 | 日本中文字幕在线一区 | 97在线观看免费高清完整版在线观看 | 欧美aaa级片| 亚洲免费不卡 | 久久亚洲综合国产精品99麻豆的功能介绍 | 日本最新一区二区三区 | 亚洲日日射 | 免费网址在线播放 | 国产在线视频一区二区三区 | av高清一区二区三区 | 成人久久综合 | 国产123av| 91亚色视频在线观看 | 91麻豆网 | 久久久久久久久亚洲精品 | 综合激情网... | 91丨porny丨九色 | av网在线观看 | 最近中文字幕大全中文字幕免费 | 亚洲日本成人网 | 欧美激情视频一区二区三区 | 亚洲乱亚洲乱亚洲 | 丁香六月婷婷开心婷婷网 | av一区在线播放 | 国产伦精品一区二区三区高清 | 国产淫a| 久久中文欧美 | 欧美日韩精品二区第二页 | 天天操天天添天天吹 | 日韩中文字幕在线看 | 激情深爱.com | 中文字幕在线视频网站 | 欧美日韩在线视频一区 | 男女啪啪网站 | 亚洲婷婷综合色高清在线 | 亚洲国产mv| 美女精品久久久 | 国产精品乱码久久久 | 九九99靖品 | 日韩欧美视频免费在线观看 | 美女福利视频在线 | 精品一二三区视频 | 久久久国产网站 | 免费视频一级片 | 中日韩在线 | 天天夜夜亚洲 | 狠狠色婷婷丁香六月 | a√天堂中文在线 | 激情视频一区二区三区 | 国产精品情侣视频 | 亚洲另类视频在线 | 久久综合网色—综合色88 | 日韩在线视频观看 | 麻豆视频在线 | 日日爱999 | 国产精品久久一卡二卡 | 日本激情动作片免费看 | 色婷婷视频在线观看 | 国产精品久久久久久久电影 | 天天夜操 | 91成人精品国产刺激国语对白 | 午夜精品中文字幕 | 亚洲最大成人免费网站 | 国产色一区 | 日韩视频在线播放 | 天天爽夜夜爽人人爽曰av | 亚洲一区av | 欧美在线观看小视频 | 欧美伦理一区 | 97超碰人人网 | 蜜桃av观看 | 天天综合网 天天 | 在线免费观看黄色 | 亚洲精品在线免费看 | 国产精品久久久久四虎 | 精品国产福利在线 | 激情视频网页 | 久久黄网站 | 精品国产精品国产偷麻豆 | 日韩经典一区二区三区 | 99自拍视频在线观看 | 超碰在线天天 | 国产精品涩涩屋www在线观看 | 欧美一级xxxx | 免费在线观看一区 | 在线午夜电影神马影院 | 日韩在线视 | 国产高清在线看 | 久久免费视频在线观看 | 久久综合五月天婷婷伊人 | 国产中文字幕视频在线观看 | 91av久久| 激情影院在线 | 美女网站视频色 | 成人天堂网| 视频在线播放国产 | 国产又粗又猛又黄 | 国产成人亚洲精品自产在线 | 天天草网站 | 91成人精品视频 | 中文字幕第一页在线视频 | 伊人亚洲综合网 | 男女激情片在线观看 | 四季av综合网站 | 免费观看全黄做爰大片国产 | 午夜美女av| 欧美激情综合五月色丁香小说 | 国产一区二区在线播放视频 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 久久久伊人网 | 91丨九色丨国产丨porny精品 | 不卡国产视频 | 久久久久国产精品一区二区 | 在线观看黄色大片 | 黄色成人在线网站 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 99c视频在线| 久一在线 | 欧美日韩视频免费看 | 中文字幕日韩免费视频 | 天无日天天操天天干 | 西西大胆啪啪 | 欧美一级黄大片 | 日韩欧美在线国产 | 天天草av | 四虎永久免费网站 | 伊人电影天堂 | 免费观看十分钟 | 日韩一区精品 | 中文伊人| 亚洲干 | 成人av.com | 久久成年人网站 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产伦精品一区二区三区无广告 | 日韩视 | 天天操天天摸天天干 | 激情丁香月 | 成人av资源网 | 在线黄色免费av | 国产精品网红直播 | 91最新地址永久入口 | 久久综合在线 | 中文字幕精品一区二区精品 | 一级淫片在线观看 | 99国产精品久久久久久久久久 | 在线中文字幕一区二区 | 中文字幕av全部资源www中文字幕在线观看 | 夜夜躁狠狠躁日日躁视频黑人 | 香蕉视频在线观看免费 | 在线免费观看视频一区二区三区 | 亚洲一区日韩精品 | 国产只有精品 | 色综合天天综合网国产成人网 | 日韩一级电影在线 | 中文字幕av专区 | 操久久免费视频 | 天天草天天插 | 欧美在线视频不卡 | 婷婷国产视频 | 国产美女精品视频免费观看 | 精品久久99| 久久官网| 欧美福利视频 | 欧美日韩一级久久久久久免费看 | 亚洲精品视频在线观看免费视频 | 可以免费看av | 美女网色| 国产精品免费视频久久久 | 在线激情小视频 | 国产精品免费一区二区三区在线观看 | 狠狠激情中文字幕 | 一区二区三区久久 | 成人精品一区二区三区电影免费 | 日韩在线一区二区免费 | 麻豆精品传媒视频 | 93久久精品日日躁夜夜躁欧美 | 在线免费黄色av | 24小时日本在线www免费的 | 在线观看中文字幕一区二区 | 日韩精品视 | 久久撸在线视频 | www.国产精品| 在线成人免费电影 | 91成熟丰满女人少妇 | 国产午夜精品一区二区三区 | 国产一区二区播放 | 久久久久亚洲最大xxxx | 天天色天| 久久久久久久久国产 | 天天操天天曰 | 欧美亚洲精品在线观看 | 天天爽天天爽夜夜爽 | 亚洲免费公开视频 | 九九九热| 伊人五月在线 | 人人插人人玩 | 国产精品成人在线观看 | 五月婷婷开心中文字幕 | 色资源在线观看 | 97超碰色| 精品色综合 | 成人一区不卡 | 精品99视频 | 成人久久视频 | 91大神精品视频在线观看 | 日韩区欠美精品av视频 | 天天射网 | 免费av大片 | 狠狠网亚洲精品 | 久久九九网站 | 欧美日韩69 | 在线亚洲欧美视频 | 日本在线观看一区 | 国产精品成人在线观看 | 91看片在线免费观看 | 国产黄a三级 | 色综合久久久久久久 | 久久人人爽爽人人爽人人片av | www.97色.com| 亚洲综合婷婷 | 婷婷看片| 欧美一二区视频 | 91爱爱视频| 国产专区第一页 | 黄色成年 | 伊人五月天综合 | 免费高清在线观看电视网站 | 探花视频免费观看 | 国产精品福利无圣光在线一区 | 日韩黄色在线观看 | 久久久久五月天 | 人人插人人舔 | 91麻豆精品国产自产 | 久久九九久久精品 | 久久久亚洲精华液 | 在线观看免费视频你懂的 | 久久综合色8888 | 精品你懂的| 伊人欧美 | 久久成年人视频 | 日韩精品中文字幕在线观看 | 夜夜看av| 国产小视频在线观看免费 | 狠狠干综合| 免费看av片网站 | 国产免费一区二区三区最新 | 91精品视频一区二区三区 | 欧美日韩国产精品久久 | 久久精品视频中文字幕 | 日韩高清免费在线观看 | 国产 日韩 中文字幕 | 中文字幕免费中文 | 中文字幕91在线 | 免费国产一区二区视频 | 久久福利影视 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产精品久久久久久久久久尿 | 狠狠婷婷 | 欧美精品久久久久久久久久 | 日韩在线视频一区 | 国产精品va最新国产精品视频 | 最新日韩电影 | 久久中文字幕在线视频 | 顶级bbw搡bbbb搡bbbb | 国产福利a| 91精品视频在线观看免费 | 国产精品成人av在线 | 国产午夜av | 日韩大片在线看 | 丁香六月天婷婷 | 中文乱码视频在线观看 | 国产片免费在线观看视频 | 福利av在线| 天天色综合天天 | 在线国产日韩 | 色欲综合视频天天天 | 国产在线毛片 | 91自拍成人 | 国内精品久久久久久中文字幕 | 亚洲国产欧美一区二区三区丁香婷 | av在线激情 | 91精品对白一区国产伦 | 成年人免费看的视频 | 久久久久久久久久久精 | 日韩三级视频在线观看 | 在线观看成人小视频 | 国产91成人在在线播放 | 丁香婷婷综合五月 | 丁香视频在线观看 | 久久一区二区三区国产精品 | 精品欧美日韩 | 国产精品午夜在线观看 | 狠狠干成人综合网 | 日韩影片在线观看 | 国产视频中文字幕 | 久久精品在线 | 96久久久| 国产又黄又爽无遮挡 | 91黄站| 99免在线观看免费视频高清 | 五月婷婷中文 | 韩日成人av| 免费电影一区二区三区 | 久久99久国产精品黄毛片入口 | 天天天干天天射天天天操 | 日韩一区二区三区免费视频 | 久久综合免费视频影院 | 亚洲黄色免费在线 | 亚洲精品视频在线 | av中文字幕第一页 | 久久视奸 | 久久69av | 激情图片qvod | 久久国产免费 | 日韩成人免费电影 | 深夜免费小视频 | 久久国产麻豆 | 91在线视频导航 | 中文字幕亚洲不卡 | 伊人六月 | 综合伊人av| 999久久a精品合区久久久 | 一区二区三区在线观看免费视频 | 久草在线费播放视频 | 最近中文字幕高清字幕在线视频 | 伊人首页 | 精品亚洲免a| 黄色小说视频网站 | 亚洲一区在线看 | 精品亚洲va在线va天堂资源站 | 91视频高清 | 国产精品一区在线播放 | 久久久久久中文字幕 | 91香蕉国产| 亚洲免费av在线播放 | 国产一区二区在线播放视频 | 国产不卡在线观看 | 精品久久在线 | 97视频在线免费播放 | 丁香激情婷婷 | 天天操天天射天天插 | 色综合亚洲精品激情狠狠 | 天天做天天爱天天爽综合网 | 日韩有色 | 婷婷丁香激情五月 | 97在线视 | 亚洲久草在线视频 | av黄在线播放 | 中文字幕欧美日韩va免费视频 | 美女福利视频 | 国产在线观| 亚洲精品色视频 | 五月婷网站 | 视频一区视频二区在线观看 | 色窝资源 | 97国产精品一区二区 | av高清一区二区三区 | 亚洲国产wwwccc36天堂 | 免费涩涩网站 | 天天操狠狠操网站 | 午夜在线资源 | www免费网站在线观看 | 在线观看视频在线 | 国产精品视频99 | 欧美激情精品久久久 | bbbbb女女女女女bbbbb国产 | 在线欧美最极品的av | 亚洲少妇xxxx | 婷婷中文字幕综合 | 在线 欧美 日韩 | 伊人久久在线观看 | 在线 精品 国产 | 久久精品一区二区三区中文字幕 | 久久99九九99精品 | 国产精品99页 | 欧美无极色| 麻豆网站免费观看 | 国内精品小视频 | 正在播放国产91 | 亚洲黄色三级 | 色先锋av资源中文字幕 | 日韩免费网站 | 亚洲欧美日韩精品久久奇米一区 | 黄色av在 | 婷婷午夜激情 | 午夜av免费在线观看 | 久久久福利视频 | 五月天六月色 | 懂色av懂色av粉嫩av分享吧 | а天堂中文最新一区二区三区 | 99精品在线免费观看 | 成人黄色小说视频 | 狠狠狠综合 | 99视频在线精品免费观看2 | av永久网址| 精品久久久成人 | 亚洲mv大片欧洲mv大片免费 | 免费情趣视频 | 婷婷色伊人 | 国产精品一区二区久久精品 | 在线 高清 中文字幕 | 国产高清精品在线观看 | 久久久久免费电影 | 国产精品入口久久 | www日韩精品 | 色片网站在线观看 | 最新国产福利 | 亚洲精品一区二区久 | 国产不卡视频在线播放 | 国产中文字幕三区 | 国产亚洲精品久久久久久电影 | 香蕉影院在线观看 | 一区二区三区在线播放 | 特及黄色片 | 久久经典国产 | 亚洲精品美女久久久久网站 | 91成人在线看 | 中文字幕二区三区 | 超碰97国产在线 | 亚洲精品国产精品乱码在线观看 | 成人在线观看资源 | 在线www色| 视频在线观看91 | 奇米网444 | 毛片的网址 | 最近高清中文字幕 | 爱色婷婷 | 亚洲精品视频网站在线观看 | 热久久精品在线 | 在线视频福利 | 欧美综合在线视频 | 久久国产精品免费一区二区三区 | 亚洲专区中文字幕 | 美女视频黄网站 | 国产一区欧美二区 | 成人黄色片免费 | 久久综合国产伦精品免费 | 亚洲视频免费 | 欧美一区二区三区激情视频 | 天天操天天舔天天干 | 日韩免费视频一区二区 | 麻豆免费视频网站 | 国产精品理论片在线播放 | 欧美在线观看禁18 | 黄色av免费 | 麻豆视频国产精品 | 黄色app网站在线观看 | 中文字幕日韩免费视频 | 久久久久亚洲精品男人的天堂 | 不卡av免费在线观看 | 奇米影视8888在线观看大全免费 | 91看片麻豆 | av3级在线 | 国产成在线观看免费视频 | 国产一级免费观看视频 | 国产高清一 | 超碰在线观看av | 色综合色综合色综合 | 国产精品久久久久久久久大全 | 久久久久亚洲天堂 | 久久在线播放 | 久久草av| 97色资源 | 99热这里精品 | 91九色丨porny丨丰满6 | 亚洲欧美成人综合 | 国产综合小视频 | 99久久婷婷| 婷婷av色综合| 免费观看全黄做爰大片国产 | 亚洲国产剧情av | 日本爽妇网 | 国内小视频在线观看 | 国产精品第10页 | 成人在线观看网址 | 99视屏 | 国产 一区二区三区 在线 | 在线精品视频免费播放 | 国产成人精品亚洲日本在线观看 | 婷婷av电影 | 国产精品成人av电影 | 久久成人国产精品入口 | a在线播放 | 丁香久久 | 91视频 - v11av | 国产精品久久久久久久久蜜臀 | 欧美大jb | 免费在线a| 欧美精品久久久久a | 黄色免费高清视频 | 欧美污污视频 | 国产91精品久久久久久 | 国产黄色大片 | 中文字幕成人在线观看 | 久久精品网站免费观看 | 国产91丝袜在线播放动漫 | 久久国语露脸国产精品电影 | 在线观看中文字幕网站 | 日韩在线高清免费视频 | 91精品久久久久久久久久入口 | 国产一区二区在线免费 | 久久综合九色99 | 久久综合中文字幕 | 丁香六月久久综合狠狠色 | 99精品久久久久久久 | 91在线精品一区二区 | 国产大片免费久久 | 日韩在线三级 | 国产精品欧美久久久久三级 | 国产小视频免费在线网址 | 91亚洲综合| 国产一区私人高清影院 | 亚洲精品久久久久58 | 精品91在线 | 久久免费a | 91av福利视频| 97人人模人人爽人人少妇 | 免费网站色 | 999视频在线播放 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 91av视频免费观看 | 日韩69视频 | 久久精品观看 | 国产在线日本 | 超碰在线94 | 国产伦精品一区二区三区免费 | 热久在线 | 欧美色888 | 日本一区二区免费在线观看 | 国产又黄又爽又猛视频日本 | 亚洲视频电影在线 | 国产一级特黄电影 | 日本性久久 | 精品国偷自产在线 | 中文在线天堂资源 | 天天躁天天躁天天躁婷 | 深夜福利视频在线观看 | 特级xxxxx欧美 | 成年人免费在线观看网站 | 深爱激情开心 | 在线观看视频中文字幕 | 欧美日韩国产一区二区在线观看 | 日p在线观看 | 国产精品乱码久久久久 | 黄色免费网站大全 | 日韩激情中文字幕 | 国产1级视频 | 91成人看片 | 最新亚洲视频 | 日韩特级毛片 | 日韩乱码在线 | 特级黄色片免费看 | 国产视频精品网 | 国产一级久久久 | 四虎永久网站 | 国产在线观看你懂得 | 91九色成人 | 久草热久草视频 | 欧美日韩一区二区三区不卡 | 久久精品波多野结衣 | 狠狠色伊人亚洲综合成人 | 国产精品国产亚洲精品看不卡15 | 黄色网在线播放 | 黄色网www| 人人爽人人香蕉 | 国产探花视频在线播放 | 日韩精品中字 | 国产成人av一区二区三区在线观看 | 97人人网 | 欧美另类一二三四区 | 天天插天天狠天天透 | 九九久久成人 | 不卡av电影在线观看 | 久久久久久久久综合 | 91天堂影院| 欧美天天干| 日韩午夜在线观看 | 久久久久久久久久久久亚洲 | 欧美另类tv | 国产精品一区二区无线 | 福利视频一区二区 | 欧美 日韩 国产 成人 在线 | 欧美成人h版电影 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲激情一区二区三区 | 日韩欧美在线免费 | 日韩草比 | 在线免费看黄色 | 热精品 | 久久久久久久精 | 91综合视频在线观看 | 久久精品牌麻豆国产大山 | 999精品| 亚洲精品国 | 最近更新好看的中文字幕 | 久久av网址 | 一区二区三区播放 | 欧美一级片在线免费观看 | 91九色蝌蚪 | 免费在线观看黄网站 | 欧美激情第八页 | 99热精品国产一区二区在线观看 | 久久av不卡| 中文字幕在线观看免费高清电影 | 成人黄色一级视频 | 午夜精品视频福利 | 国产成人精品不卡 | 玖玖在线看| 超碰在线免费97 | 日韩欧美一区二区三区黑寡妇 | 天堂久色 | 在线免费看片 | 国产视频99 | 西西4444www大胆无视频 | 欧美日韩国产伦理 | 天天撸夜夜操 | 国产看片免费 | 中文国产在线观看 | 国产中文 | 一区二区欧美日韩 | 日日草天天草 | 狠狠狠狠狠狠操 | 国产精品久久久久久久久软件 | 西西4444www大胆艺术 | 中文字幕一区在线观看视频 | 六月色丁香 | 欧美爽爽爽 | 亚洲国产日韩一区 | 中文字幕 国产视频 | 国产一区二区三区午夜 | 97超碰在线视 | 免费的国产精品 | 91九色蝌蚪视频网站 | 欧美日韩国产在线 | 日韩一级精品 | 五月天天天操 | 午夜精品久久久久久久久久久 | 看片一区二区三区 | 天天曰天天射 | 欧美三级在线播放 | 国产一级片网站 | 久久夜色精品国产欧美乱极品 | 日韩乱色精品一区二区 | 日韩精品中字 | 日韩专区视频 | 91成熟丰满女人少妇 | 三级黄色在线观看 | 在线观看国产中文字幕 | 国产成人免费在线 | 国产一级片毛片 | 欧美伦理一区 | www91在线观看 | 五月天狠狠操 | 最新av电影网址 | 国产真实精品久久二三区 | 久久久久这里只有精品 | 日躁夜躁狠狠躁2001 | 国产又粗又猛又色又黄网站 | 在线观看 亚洲 | 91九色自拍 | 一区二区免费不卡在线 | 色综合久久88色综合天天6 | 九色视频自拍 | 中文字幕 在线 一 二 | 欧美午夜精品久久久久久孕妇 | 成人在线免费看 | 免费视频在线观看网站 | 日本午夜免费福利视频 | 免费看黄电影 | 在线免费观看黄 | 亚洲午夜精 | 色国产视频 | 日韩av片无码一区二区不卡电影 | 免费av片在线 | 国产高清视频在线免费观看 | 久草视频免费观 | 色婷婷激情电影 | 国产打女人屁股调教97 | 在线免费高清 | 婷婷在线不卡 | 日本激情动作片免费看 | 精品视频97| 国产 一区二区三区 在线 | 三级av片| 一区 二区 精品 | 日韩综合色 | 美女免费视频网站 | www.久久久com | 成人一区二区三区在线 | 国产精品一区二区av影院萌芽 | 狠狠色丁香久久婷婷综 | 久热色超碰| 久久视频在线视频 | 一区二区三区在线免费观看视频 | 亚洲美女精品 | 在线观看色视频 | 伊人成人久久 | 四虎影视成人永久免费观看亚洲欧美 | 五月天激情开心 | 亚洲精品在线视频网站 | 国产一级片免费视频 | 五月天激情开心 | 九九久久久久久久久激情 | 久99久在线视频 | 国产免费观看久久黄 | 在线免费观看欧美日韩 | 韩日电影在线免费看 | 天天综合色网 | 精品久久国产 | 免费碰碰| 成人av av在线 | 国产激情电影综合在线看 | 国产精品视频内 | 免费黄色a网站 | 久久av一区二区三区亚洲 | 五月精品 | 激情欧美xxxx | 综合色久 | 日韩大片在线 | 成人在线视频你懂的 | 超碰国产在线观看 | 中文字幕色婷婷在线视频 | 精品国产观看 | 久久精品国产精品亚洲精品 | 国产精品大全 | 98涩涩国产露脸精品国产网 | 99r在线播放 | 中文欧美字幕免费 | 天天色天天色天天色 | 91激情| 国产免费亚洲高清 | 色婷婷久久 | 国产亚洲视频系列 | 国产美女在线精品免费观看 | 免费网址你懂的 | 99久久婷婷国产一区二区三区 | 91精品国产综合久久久久久久 | 欧美三级高清 | 亚洲精品视频大全 | 91网站在线视频 | 在线观看黄色免费视频 | 婷婷五月在线视频 | 最新中文字幕在线播放 | 亚洲精品国产精品国自产 | 久久久午夜精品理论片中文字幕 | 日日干天天爽 | 日韩一级理论片 | 欧美精品久久久久久久免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品一区二区av麻豆 | 天天插天天色 | 久久伊人爱 | 日韩久久网站 | 国产免费又爽又刺激在线观看 |