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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内存快速分配和慢速分配

發布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存快速分配和慢速分配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內存快速分配和慢速分配

內存頁面的分配最終都交由伙伴系統的頁面分配器。頁面分配的函數在內核有各種各樣的實現,但最終都會調用一個共同的接口::__alloc_pages_nodemask()

常見的頁面分配的API

__alloc_pages_node /*返回struct page的指針*/__alloc_pages__alloc_pages_nodemaskalloc_pages /*返回struct page的指針*/alloc_pages_current__alloc_pages_nodemask__get_free_pages /*返回頁面的虛擬地址*/__get_free_pagesalloc_pagesalloc_pages_current__alloc_pages_nodemask

他們最終都調用了__alloc_pages_nodemask。

伙伴系統的心臟

__alloc_pages_nodemask()是伙伴系統的心臟

struct page * __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid,nodemask_t *nodemask) {struct page *page;unsigned int alloc_flags = ALLOC_WMARK_LOW;gfp_t alloc_mask; /* The gfp_t that was actually used for allocation */struct alloc_context ac = { };/** There are several places where we assume that the order value is sane* so bail out early if the request is out of bound.*/if (unlikely(order >= MAX_ORDER)) {//請求頁的階數超過了最大階數就失敗了WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));return NULL;}gfp_mask &= gfp_allowed_mask;alloc_mask = gfp_mask;if (!prepare_alloc_pages(gfp_mask, order, preferred_nid, nodemask, &ac, &alloc_mask, &alloc_flags))return NULL;finalise_ac(gfp_mask, &ac);/** Forbid the first pass from falling back to types that fragment* memory until all local zones are considered.*/alloc_flags |= alloc_flags_nofragment(ac.preferred_zoneref->zone, gfp_mask); /* First allocation attempt */page = get_page_from_freelist(alloc_mask, order, alloc_flags, &ac);if (likely(page))goto out;/** Apply scoped allocation constraints. This is mainly about GFP_NOFS* resp. GFP_NOIO which has to be inherited for all allocation requests* from a particular context which has been marked by* memalloc_no{fs,io}_{save,restore}.*/alloc_mask = current_gfp_context(gfp_mask);ac.spread_dirty_pages = false;/** Restore the original nodemask if it was potentially replaced with* &cpuset_current_mems_allowed to optimize the fast-path attempt.*/if (unlikely(ac.nodemask != nodemask))ac.nodemask = nodemask;page = __alloc_pages_slowpath(alloc_mask, order, &ac);out:if (memcg_kmem_enabled() && (gfp_mask & __GFP_ACCOUNT) && page &&unlikely(__memcg_kmem_charge(page, gfp_mask, order) != 0)) {__free_pages(page, order);page = NULL;}trace_mm_page_alloc(page, order, alloc_mask, ac.migratetype);return page; } EXPORT_SYMBOL(__alloc_pages_nodemask);

通過上述源碼其實可以總結出__alloc_pages_nodemask它的核心其實是做了3件事:

prepare_alloc_context //1.準備參數 alloc_flags_nofragment //2.根據區域和gfp掩碼請求添加分配標志 get_page_from_freelist //3.快路徑嘗試分配內存 __alloc_pages_slowpath //4.慢路徑嘗試分配內存

prepare_alloc_context

static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order,int preferred_nid, nodemask_t *nodemask,struct alloc_context *ac, gfp_t *alloc_mask,unsigned int *alloc_flags) {ac->high_zoneidx = gfp_zone(gfp_mask);ac->zonelist = node_zonelist(preferred_nid, gfp_mask);ac->nodemask = nodemask;ac->migratetype = gfpflags_to_migratetype(gfp_mask);if (cpusets_enabled()) {*alloc_mask |= __GFP_HARDWALL;if (!ac->nodemask)ac->nodemask = &cpuset_current_mems_allowed;else*alloc_flags |= ALLOC_CPUSET;}fs_reclaim_acquire(gfp_mask);fs_reclaim_release(gfp_mask);might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM);if (should_fail_alloc_page(gfp_mask, order))return false;if (IS_ENABLED(CONFIG_CMA) && ac->migratetype == MIGRATE_MOVABLE)*alloc_flags |= ALLOC_CMA;return true;

prepare_alloc_context它主要是做了如下的事情:

1.填充alloc_context結構體

2.對gfp掩碼做處理存放在alloc_mask中

3.填充alloc_flags字段

他做完預備工作之后,執行finalise_ac獲得可分配的內存域zone。

alloc_flags_nofragment

static inline unsigned int alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask) {unsigned int alloc_flags = 0;if (gfp_mask & __GFP_KSWAPD_RECLAIM)alloc_flags |= ALLOC_KSWAPD;#ifdef CONFIG_ZONE_DMA32if (!zone)return alloc_flags;if (zone_idx(zone) != ZONE_NORMAL)return alloc_flags;/** If ZONE_DMA32 exists, assume it is the one after ZONE_NORMAL and* the pointer is within zone->zone_pgdat->node_zones[]. Also assume* on UMA that if Normal is populated then so is DMA32.*/BUILD_BUG_ON(ZONE_NORMAL - ZONE_DMA32 != 1);if (nr_online_nodes > 1 && !populated_zone(--zone))return alloc_flags;alloc_flags |= ALLOC_NOFRAGMENT; #endif /* CONFIG_ZONE_DMA32 */return alloc_flags; }

alloc_flags_nofragment主要做的事是先看掩碼是否允許kswapd周期回收,如果是的話就設置alloc標志允許在內存不足的時候周期回收。

將這些前期準備都做好內存首先執行的是快路徑(fastpath)分配。

快路徑分配(fast)

如果檢查完內存區發現內存水位線當前內存區的空閑頁面數大于設置比對的水位線,就可以直接分配,采取快路徑的方式。

get_page_from_freelist

該函數的主要作用是從空閑頁面鏈表中嘗試分配內存,是內存分配的fastpath。

static struct page * get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags,const struct alloc_context *ac) {struct zoneref *z;struct zone *zone;struct pglist_data *last_pgdat_dirty_limit = NULL;bool no_fallback;retry:/** Scan zonelist, looking for a zone with enough free.* See also __cpuset_node_allowed() comment in kernel/cpuset.c.*/no_fallback = alloc_flags & ALLOC_NOFRAGMENT;z = ac->preferred_zoneref;for_next_zone_zonelist_nodemask(zone, z, ac->zonelist, ac->high_zoneidx,ac->nodemask) {struct page *page;unsigned long mark;if (cpusets_enabled() &&(alloc_flags & ALLOC_CPUSET) &&!__cpuset_zone_allowed(zone, gfp_mask))continue;/** When allocating a page cache page for writing, we* want to get it from a node that is within its dirty* limit, such that no single node holds more than its* proportional share of globally allowed dirty pages.* The dirty limits take into account the node's* lowmem reserves and high watermark so that kswapd* should be able to balance it without having to* write pages from its LRU list.** XXX: For now, allow allocations to potentially* exceed the per-node dirty limit in the slowpath* (spread_dirty_pages unset) before going into reclaim,* which is important when on a NUMA setup the allowed* nodes are together not big enough to reach the* global limit. The proper fix for these situations* will require awareness of nodes in the* dirty-throttling and the flusher threads.*/if (ac->spread_dirty_pages) {if (last_pgdat_dirty_limit == zone->zone_pgdat)continue;if (!node_dirty_ok(zone->zone_pgdat)) {last_pgdat_dirty_limit = zone->zone_pgdat;continue;}}if (no_fallback && nr_online_nodes > 1 &&zone != ac->preferred_zoneref->zone) {int local_nid;/** If moving to a remote node, retry but allow* fragmenting fallbacks. Locality is more important* than fragmentation avoidance.*/local_nid = zone_to_nid(ac->preferred_zoneref->zone);if (zone_to_nid(zone) != local_nid) {alloc_flags &= ~ALLOC_NOFRAGMENT;goto retry;}}mark = wmark_pages(zone, alloc_flags & ALLOC_WMARK_MASK);if (!zone_watermark_fast(zone, order, mark,ac_classzone_idx(ac), alloc_flags)) {int ret;#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT/** Watermark failed for this zone, but see if we can* grow this zone if it contains deferred pages.*/if (static_branch_unlikely(&deferred_pages)) {if (_deferred_grow_zone(zone, order))goto try_this_zone;} #endif/* Checked here to keep the fast path fast */BUILD_BUG_ON(ALLOC_NO_WATERMARKS < NR_WMARK);if (alloc_flags & ALLOC_NO_WATERMARKS)goto try_this_zone;if (node_reclaim_mode == 0 ||!zone_allows_reclaim(ac->preferred_zoneref->zone, zone))continue;ret = node_reclaim(zone->zone_pgdat, gfp_mask, order);switch (ret) {case NODE_RECLAIM_NOSCAN:/* did not scan */continue;case NODE_RECLAIM_FULL:/* scanned but unreclaimable */continue;default:/* did we reclaim enough */if (zone_watermark_ok(zone, order, mark,ac_classzone_idx(ac), alloc_flags))goto try_this_zone;continue;}}try_this_zone:page = rmqueue(ac->preferred_zoneref->zone, zone, order,gfp_mask, alloc_flags, ac->migratetype);if (page) {prep_new_page(page, order, gfp_mask, alloc_flags);/** If this is a high-order atomic allocation then check* if the pageblock should be reserved for the future*/if (unlikely(order && (alloc_flags & ALLOC_HARDER)))reserve_highatomic_pageblock(page, zone, order);return page;} else { #ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT/* Try again if zone has deferred pages */if (static_branch_unlikely(&deferred_pages)) {if (_deferred_grow_zone(zone, order))goto try_this_zone;} #endif}}/** It's possible on a UMA machine to get through all zones that are* fragmented. If avoiding fragmentation, reset and try again.*/if (no_fallback) {alloc_flags &= ~ALLOC_NOFRAGMENT;goto retry;}return NULL; }

函數遍歷在內存域鏈表上內存域,嘗試找到合適的頁面進行分配。首先就是做一些參數的檢查,若有不滿足,直接continue跳過當前zone;wmark_pages()會根據alloc_flags中設置的是min或low或high去算出該zone的watermark是多少;然后將該watermark傳入zone_watermark_ok()判斷該zone的free pages是否滿足該水線。(檢查過程會根據內存分配的緊急程度放寬watermark)其中high low min水位線用哪根兒具體由alloc_flags中的ALLOC_WMARK_xx標志決定,在__alloc_pages_nodemask中可以看到設置的線是low。若水位不ok,則根據回收模式node_reclaim的設置,判斷是回收或是跳過當前zone。之后進入分配的核心,調用rmqueue從伙伴系統中取頁。

rmqueue

內核中將order-0的請求和大于order-0的請求在處理上做了區分。現在的處理器動不動就十幾個核,而zone就那么幾個,當多個核要同時訪問同一個zone的時候,不免要在zone的鎖的競爭上耗費大量時間。社區開發者發現系統中對order-0的請求在內核中出現的頻次極高,且order-0所占內存僅一個頁的大小,于是就實現了per cpu的"內存池",用來滿足order-0頁面的分配,這樣就在一定程度上緩解了伙伴系統在zone的鎖上面的競爭。

如果order=0,調用rmqueue_pcplist()

static struct page *rmqueue_pcplist(...) {/*關閉本地中斷并保存中斷狀態(因為中斷上下文也可以分配內存)*/local_irq_save(flags);/*獲取當前CPU上目標zone中的per_cpu_pages指針*/pcp = &this_cpu_ptr(zone->pageset)->pcp;/*獲取per_cpu_pages中制定遷移類型的頁面list*/list = &pcp->lists[migratetype];/*從鏈表上摘取目標頁面*/page = __rmqueue_pcplist(zone, migratetype, alloc_flags, pcp, list);/*若分配成功,更新當前zone的統計信息*/if (page) {__count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order);zone_statistics(preferred_zone, zone);}/*恢復中斷*/local_irq_restore(flags);return page; }

如果order>0,在__rmqueue_smallest()中從小到大循環遍歷各個order的free_list鏈表,直到使用get_page_from_free_area()成功從鏈表上摘取到最小且合適(order和migratetype都合適)的pageblock

__rmqueue_smallest()get_page_from_free_area()

慢路徑分配(slow)

快路徑(fastpath)檢查了各個zone的low watermark,若所有zone的內存水位線都低于low,則失敗并進入慢路徑(slowpath),就要進行回收了。

static inline struct page * __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,struct alloc_context *ac) {bool can_direct_reclaim = gfp_mask & __GFP_DIRECT_RECLAIM;const bool costly_order = order > PAGE_ALLOC_COSTLY_ORDER;struct page *page = NULL;unsigned int alloc_flags;unsigned long did_some_progress;enum compact_priority compact_priority;enum compact_result compact_result;int compaction_retries;int no_progress_loops;unsigned int cpuset_mems_cookie;int reserve_flags;/** We also sanity check to catch abuse of atomic reserves being used by* callers that are not in atomic context.*/if (WARN_ON_ONCE((gfp_mask & (__GFP_ATOMIC|__GFP_DIRECT_RECLAIM)) ==(__GFP_ATOMIC|__GFP_DIRECT_RECLAIM)))gfp_mask &= ~__GFP_ATOMIC;retry_cpuset:compaction_retries = 0;no_progress_loops = 0;compact_priority = DEF_COMPACT_PRIORITY;cpuset_mems_cookie = read_mems_allowed_begin();/** The fast path uses conservative alloc_flags to succeed only until* kswapd needs to be woken up, and to avoid the cost of setting up* alloc_flags precisely. So we do that now.*/alloc_flags = gfp_to_alloc_flags(gfp_mask);/** We need to recalculate the starting point for the zonelist iterator* because we might have used different nodemask in the fast path, or* there was a cpuset modification and we are retrying - otherwise we* could end up iterating over non-eligible zones endlessly.*/ac->preferred_zoneref = first_zones_zonelist(ac->zonelist,ac->high_zoneidx, ac->nodemask);if (!ac->preferred_zoneref->zone)goto nopage;if (alloc_flags & ALLOC_KSWAPD)wake_all_kswapds(order, gfp_mask, ac);/** The adjusted alloc_flags might result in immediate success, so try* that first*/page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac);if (page)goto got_pg;/** For costly allocations, try direct compaction first, as it's likely* that we have enough base pages and don't need to reclaim. For non-* movable high-order allocations, do that as well, as compaction will* try prevent permanent fragmentation by migrating from blocks of the* same migratetype.* Don't try this for allocations that are allowed to ignore* watermarks, as the ALLOC_NO_WATERMARKS attempt didn't yet happen.*/if (can_direct_reclaim &&(costly_order ||(order > 0 && ac->migratetype != MIGRATE_MOVABLE))&& !gfp_pfmemalloc_allowed(gfp_mask)) {page = __alloc_pages_direct_compact(gfp_mask, order,alloc_flags, ac,INIT_COMPACT_PRIORITY,&compact_result);if (page)goto got_pg;if (order >= pageblock_order && (gfp_mask & __GFP_IO) &&!(gfp_mask & __GFP_RETRY_MAYFAIL)) {/** If allocating entire pageblock(s) and compaction* failed because all zones are below low watermarks* or is prohibited because it recently failed at this* order, fail immediately unless the allocator has* requested compaction and reclaim retry.** Reclaim is* - potentially very expensive because zones are far* below their low watermarks or this is part of very* bursty high order allocations,* - not guaranteed to help because isolate_freepages()* may not iterate over freed pages as part of its* linear scan, and* - unlikely to make entire pageblocks free on its* own.*/if (compact_result == COMPACT_SKIPPED ||compact_result == COMPACT_DEFERRED)goto nopage;}/** Checks for costly allocations with __GFP_NORETRY, which* includes THP page fault allocations*/if (costly_order && (gfp_mask & __GFP_NORETRY)) {/** If compaction is deferred for high-order allocations,* it is because sync compaction recently failed. If* this is the case and the caller requested a THP* allocation, we do not want to heavily disrupt the* system, so we fail the allocation instead of entering* direct reclaim.*/if (compact_result == COMPACT_DEFERRED)goto nopage;/** Looks like reclaim/compaction is worth trying, but* sync compaction could be very expensive, so keep* using async compaction.*/compact_priority = INIT_COMPACT_PRIORITY;}}retry:/* Ensure kswapd doesn't accidentally go to sleep as long as we loop */if (alloc_flags & ALLOC_KSWAPD)wake_all_kswapds(order, gfp_mask, ac);reserve_flags = __gfp_pfmemalloc_flags(gfp_mask);if (reserve_flags)alloc_flags = reserve_flags;/** Reset the nodemask and zonelist iterators if memory policies can be* ignored. These allocations are high priority and system rather than* user oriented.*/if (!(alloc_flags & ALLOC_CPUSET) || reserve_flags) {ac->nodemask = NULL;ac->preferred_zoneref = first_zones_zonelist(ac->zonelist,ac->high_zoneidx, ac->nodemask);}/* Attempt with potentially adjusted zonelist and alloc_flags */page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac);if (page)goto got_pg;/* Caller is not willing to reclaim, we can't balance anything */if (!can_direct_reclaim)goto nopage;/* Avoid recursion of direct reclaim */if (current->flags & PF_MEMALLOC)goto nopage;/* Try direct reclaim and then allocating */page = __alloc_pages_direct_reclaim(gfp_mask, order, alloc_flags, ac,&did_some_progress);if (page)goto got_pg;/* Try direct compaction and then allocating */page = __alloc_pages_direct_compact(gfp_mask, order, alloc_flags, ac,compact_priority, &compact_result);if (page)goto got_pg;/* Do not loop if specifically requested */if (gfp_mask & __GFP_NORETRY)goto nopage;/** Do not retry costly high order allocations unless they are* __GFP_RETRY_MAYFAIL*/if (costly_order && !(gfp_mask & __GFP_RETRY_MAYFAIL))goto nopage;if (should_reclaim_retry(gfp_mask, order, ac, alloc_flags,did_some_progress > 0, &no_progress_loops))goto retry;/** It doesn't make any sense to retry for the compaction if the order-0* reclaim is not able to make any progress because the current* implementation of the compaction depends on the sufficient amount* of free memory (see __compaction_suitable)*/if (did_some_progress > 0 &&should_compact_retry(ac, order, alloc_flags,compact_result, &compact_priority,&compaction_retries))goto retry;/* Deal with possible cpuset update races before we start OOM killing */if (check_retry_cpuset(cpuset_mems_cookie, ac))goto retry_cpuset;/* Reclaim has failed us, start killing things */page = __alloc_pages_may_oom(gfp_mask, order, ac, &did_some_progress);if (page)goto got_pg;/* Avoid allocations with no watermarks from looping endlessly */if (tsk_is_oom_victim(current) &&(alloc_flags == ALLOC_OOM ||(gfp_mask & __GFP_NOMEMALLOC)))goto nopage;/* Retry as long as the OOM killer is making progress */if (did_some_progress) {no_progress_loops = 0;goto retry;}nopage:/* Deal with possible cpuset update races before we fail */if (check_retry_cpuset(cpuset_mems_cookie, ac))goto retry_cpuset;/** Make sure that __GFP_NOFAIL request doesn't leak out and make sure* we always retry*/if (gfp_mask & __GFP_NOFAIL) {/** All existing users of the __GFP_NOFAIL are blockable, so warn* of any new users that actually require GFP_NOWAIT*/if (WARN_ON_ONCE(!can_direct_reclaim))goto fail;/** PF_MEMALLOC request from this context is rather bizarre* because we cannot reclaim anything and only can loop waiting* for somebody to do a work for us*/WARN_ON_ONCE(current->flags & PF_MEMALLOC);/** non failing costly orders are a hard requirement which we* are not prepared for much so let's warn about these users* so that we can identify them and convert them to something* else.*/WARN_ON_ONCE(order > PAGE_ALLOC_COSTLY_ORDER);/** Help non-failing allocations by giving them access to memory* reserves but do not use ALLOC_NO_WATERMARKS because this* could deplete whole memory reserves which would just make* the situation worse*/page = __alloc_pages_cpuset_fallback(gfp_mask, order, ALLOC_HARDER, ac);if (page)goto got_pg;cond_resched();goto retry;} fail:warn_alloc(gfp_mask, ac->nodemask,"page allocation failure: order:%u", order); got_pg:return page; }

首先通過gfp_to_alloc_flags(), 根據gfp_mask對內存分配標識進行調整,通過first_zones_zonelist()重新計算首選內存域; 因為可能在fastpath中使用的nodemask不同,或者cpuset進行了修改,正在重試, 這樣需要重新計算preferred zone,以免無限的遍歷不符合要求的zone。 如果alloc_flag標志ALLOC_KSWAPD, 那么會通過wake_all_kswapds喚醒kswapd內核線程。使用調整后的標志來嘗試第一次慢速路徑內存分配,分配的函數也是get_page_from_freelist,如果分配失敗,滿足“允許直接回收內存(can_direct_reclaim)” 或者 "不適用pfmemalloc的內存分配請求"等條件,將會進行一次內存的壓縮并分配頁面。

retry 的過程中會重新喚醒kswapd線程(防止意外的休眠),調整zone后通過get_page_from_freelist 重新進行內存分配,如果分配失敗了,并且不能夠直接內存回收, 就跳轉到"no_page"。__alloc_pages_direct_reclaim()嘗試直接內存回收后分配頁面,__alloc_pages_direct_compact()進行第二次直接內存壓縮后分配頁面,should_reclaim_retry()會判斷是否需要重新回收,然后調轉到“retry”. 如果gfp_mask中有noretry標志或者GFP_RETRY_MAYFAIL標志,那么不會重新retry, 直接跳轉到"no_page".should_compact_retry()會判斷是否需要重新壓縮,然后跳轉到”retry",check_retry_cpuset()如果檢測到由于cpuset發生變化而檢測到競爭條件,跳轉到最開始的"retry_cpuset"。__alloc_pages_may_oom(), 如果內存回收失敗,會嘗試進行oom kill 一些進程,進行內存的回收。如果當前task由于OOM而處于被殺死的狀態,則跳轉移至“nopage”

最后的nopage,如果gfp_mask標志位有nofail選項,則將重試直到分配到頁面為止; 如果沒有該標志,說明page沒有分配成功,直接返回NULL。__alloc_pages_cpuset_fallback(), 使用ALLOC_HARDER標志,如果節點耗盡,則回退以忽略cpuset的限制。

總結

以上是生活随笔為你收集整理的内存快速分配和慢速分配的全部內容,希望文章能夠幫你解決所遇到的問題。

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

欧美日韩中 | 亚洲色图av| 在线播放视频一区 | 91精品视频在线免费观看 | 亚洲成人午夜在线 | 久久久久99精品成人片三人毛片 | 亚洲高清精品在线 | 国产精品刺激对白麻豆99 | 九九视频免费观看视频精品 | 97综合在线 | 久久综合九色 | 精品国产精品一区二区夜夜嗨 | 六月色| 在线 高清 中文字幕 | 国产欧美精品一区二区三区四区 | 欧美日韩午夜 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人免费xxx在线观看 | 国产原创在线 | www.色午夜.com| 日韩美女免费线视频 | 在线免费中文字幕 | 伊人五月天综合 | 久久久久久久久久久网 | 在线电影日韩 | 欧洲av在线 | 国产原创av片 | 人人看人人| 亚洲精品乱码久久久久久9色 | 欧美日韩性生活 | 亚洲播播| 欧美久草网 | 日韩激情视频在线 | 中文字幕精品一区二区精品 | 国产在线资源 | 91在线视频在线观看 | 国产精品久久网 | 欧美日韩国产在线一区 | 成人在线免费av | 国产一区二区三区黄 | 韩国av一区二区 | 91激情视频在线观看 | 青青河边草免费观看完整版高清 | 97人人看| 亚洲国产精品小视频 | 欧美天堂视频在线 | 中文字幕91视频 | 91中文在线观看 | 欧美一级视频在线观看 | 人人草网站 | 久久久久女教师免费一区 | 最新国产精品拍自在线播放 | 国产精品麻豆欧美日韩ww | 欧美午夜精品久久久久久浪潮 | 综合久久婷婷 | 色91av | 久99久视频 | 国产一区欧美日韩 | 在线 国产 亚洲 欧美 | 一级黄色大片在线观看 | 久久99精品久久久久久 | 欧美成人一二区 | 天天色天天骑天天射 | 成人精品电影 | 亚洲精品视频免费 | 日韩av免费一区 | 国产网红在线观看 | 国产精品扒开做爽爽的视频 | 日韩最新中文字幕 | www99精品 | 成人网页在线免费观看 | 粉嫩av一区二区三区四区 | 精品久久久久久亚洲综合网 | 亚洲精品白浆高清久久久久久 | 99免费在线视频 | 九色激情网 | 亚洲激色 | 又黄又色又爽 | 欧美性生活小视频 | 久久免费的精品国产v∧ | 久久伦理网 | 美女视频黄在线观看 | 国产手机视频在线观看 | 韩国精品在线 | 91精品国产成人 | 国产精品成人一区二区 | www.国产视频 | 欧美日韩国内在线 | 日本三级在线观看中文字 | 99热最新| 天天操天天透 | 国产又粗又猛又黄视频 | 九九涩涩av台湾日本热热 | 色伊人网 | 精品一区二区av | 99久久日韩精品免费热麻豆美女 | 黄色一级在线免费观看 | 欧美日韩国产精品一区二区亚洲 | 欧美天天综合网 | 亚洲一级理论片 | 超碰公开在线观看 | 色婷婷激婷婷情综天天 | 亚洲国产欧美在线人成大黄瓜 | 又色又爽又黄高潮的免费视频 | av大片免费 | 中文字幕免费成人 | 青青射| 天天操人人干 | 亚洲人成人在线 | 日韩 精品 一区 国产 麻豆 | 久久综合色一综合色88 | 国产小视频在线 | 久久撸在线视频 | 国产精品久久久久久久av电影 | 久草视频首页 | 久久精品视频中文字幕 | 日韩免费一区二区在线观看 | 在线观看va | 欧美日韩观看 | 天天干夜夜夜操天 | 久久人人爽人人爽人人片av免费 | 久久高清av | 欧美日韩精品在线播放 | 香蕉视频一级 | 亚洲天堂社区 | 国产精品乱码一区二三区 | 久久久天堂 | 婷婷国产v亚洲v欧美久久 | 国产99一区视频免费 | 成人在线视频你懂的 | 69av免费视频 | 国产玖玖视频 | 9在线观看免费高清完整版 玖玖爱免费视频 | 成人啪啪18免费游戏链接 | 天天射天天爽 | 日韩久久久 | 在线成人欧美 | 国产乱码精品一区二区三区介绍 | 久久久www成人免费精品 | 人人网av| 欧美有色| 精品中文字幕在线观看 | 一区二区三区高清在线观看 | 欧美日韩免费观看一区=区三区 | www.狠狠干| 日本激情视频中文字幕 | 福利网址在线观看 | 久久精品一 | 日本精品一区二区三区在线播放视频 | 久久综合婷婷国产二区高清 | 久久91网 | 亚洲天天草| 麻豆免费在线视频 | 亚洲国产精品电影 | 中文字幕色在线视频 | 狠狠狠狠狠狠狠干 | 国产欧美综合在线观看 | 91资源在线播放 | av线上看| 91精品婷婷国产综合久久蝌蚪 | 日韩av伦理片 | 在线观看免费一级片 | 免费在线观看a v | 天天色天天搞 | 国产亚洲精品久久久久动 | 日本成人黄色片 | 91在线免费播放 | 四虎天堂 | 天天精品视频 | 成人国产精品免费观看 | 麻豆国产露脸在线观看 | 九九九国产 | 99草视频 | 99色视频在线 | 国产一区二区三区 在线 | 色综合久久久久综合体 | 91av蜜桃 | 日韩在线播放视频 | 亚洲尺码电影av久久 | 精品视频免费在线 | 成人免费视频a | 日韩午夜在线 | 在线播放视频一区 | 国产精品免费在线观看视频 | 超碰999 | 国产a级片免费观看 | 91在线视频免费观看 | 色婷婷国产精品一区在线观看 | 日韩免费在线观看视频 | 日韩区欧美久久久无人区 | 色综合激情网 | 亚洲专区在线 | av电影久久| 成人免费视频a | 少妇精品久久久一区二区免费 | 日韩区在线观看 | 精品国产成人在线 | 最近最新最好看中文视频 | 免费福利在线播放 | av大全免费在线观看 | 91在线免费看片 | 成 人 黄 色 视频 免费观看 | 三上悠亚在线免费 | 成人免费视频网址 | 亚洲一区欧美精品 | 亚洲精区二区三区四区麻豆 | 国产短视频在线播放 | 中文字幕乱在线伦视频中文字幕乱码在线 | 93久久精品日日躁夜夜躁欧美 | 亚洲国产高清在线观看视频 | 13日本xxxxxⅹxxx20 | 婷婷六月综合亚洲 | 插综合网 | 麻豆影视在线免费观看 | www99久久| 午夜影视av| 欧美成人xxxxxxxx | 欧美日韩精品在线观看视频 | 免费在线观看亚洲视频 | 在线免费av观看 | 韩国一区二区三区在线观看 | 免费黄色网址网站 | 亚洲va欧美va人人爽春色影视 | 国产欧美久久久精品影院 | 91视频首页 | 欧美性生活免费 | 婷婷综合伊人 | 狠狠狠色丁香婷婷综合久久88 | 国产成人精品一区二区在线观看 | 丁香视频在线观看 | 午夜影院在线观看18 | 亚洲欧洲精品一区二区 | 国产九九九九九 | 日韩女同av | 亚洲国产欧美在线人成大黄瓜 | 中文字幕在线观看视频一区 | 国产精品女人久久久 | 人人躁 | 97人人模人人爽人人喊中文字 | 偷拍精品一区二区三区 | 三级av黄色 | 欧美午夜理伦三级在线观看 | 免费成人av电影 | 有没有在线观看av | 国产精品一级视频 | 国产美女免费视频 | 久久国产精品一区二区三区 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产视频在线免费 | 在线免费黄网站 | 香蕉成人在线视频 | 久久精品网| 九草在线视频 | 日韩一二三在线 | 成人啊 v | 国产精品v欧美精品v日韩 | 五月天精品视频 | 久久久久久久av麻豆果冻 | 久草视频中文 | 欧美 亚洲 另类 激情 另类 | 96视频免费在线观看 | 国产老熟| 精品国产一二三 | a级片韩国 | av中文在线观看 | 日韩理论电影在线 | 免费看污黄网站 | 欧美一级久久久久 | 美女免费视频黄 | 日本久久久久久科技有限公司 | 日韩av免费观看网站 | 亚洲aaa毛片 | 视频直播国产精品 | 欧美日韩国产精品一区二区 | 在线看毛片网站 | 婷婷精品在线视频 | 99产精品成人啪免费网站 | 在线不卡视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产二区电影 | 夜夜高潮夜夜爽国产伦精品 | 国产又粗又长又硬免费视频 | 激情视频区 | 日韩二区三区在线 | 91伊人久久大香线蕉蜜芽人口 | 99久久精品国产一区 | 中文字幕在线观看2018 | 91网站观看 | 国产免费大片 | 亚洲国产人午在线一二区 | 在线免费观看一区二区三区 | 亚洲精品在线视频播放 | 久久精品99视频 | 日韩欧美成人网 | 日韩理论在线播放 | 91高清视频 | 狠狠操导航 | 极品美女被弄高潮视频网站 | 999久久国产精品免费观看网站 | 婷婷激情欧美 | 国产一二三区在线观看 | 日本激情视频中文字幕 | 久热只有精品 | 在线中文字幕播放 | 久久精品99国产精品日本 | 国产精品破处视频 | 亚洲综合黄色 | 五月开心激情网 | 国产综合片 | 美女视频免费精品 | 婷婷电影在线观看 | 综合五月| 免费日韩一级片 | 99激情网 | 成人在线观看网址 | 欧美精品在线视频观看 | 国内视频1区 | 欧美午夜a | 久久婷综合 | 玖玖在线看| 国产中文在线字幕 | 波多野结衣视频一区二区 | 国产精品激情 | 国产精品久久久久av | 永久免费视频国产 | 国产剧情av在线播放 | 成人在线免费av | 久久精品电影网 | 91精品成人 | 97天天综合网| 最近中文字幕在线中文高清版 | 久久久久亚洲a | 99久热在线精品 | 成人在线免费视频观看 | 久久视频免费在线 | 天天干 天天摸 天天操 | 17婷婷久久www | 国内精品久久久久久久久 | 欧美孕妇视频 | 伊人伊成久久人综合网站 | 精品一区二区在线免费观看 | 成人小视频免费在线观看 | 91亚洲综合 | 96久久精品 | 日产乱码一二三区别在线 | 亚洲毛片一区二区三区 | 亚洲美女在线国产 | 国产91精品一区二区 | www.香蕉 | 正在播放五月婷婷狠狠干 | 日韩高清片 | 国产一级黄色电影 | 亚洲黄色在线 | 1024在线看片| 999久久精品| 人人爽人人爽人人片 | 91精品在线视频观看 | 色网免费观看 | 六月婷婷色| 午夜久久久精品 | 不卡的av电影在线观看 | 成年人黄色免费看 | 最新国产精品拍自在线播放 | 91精选| 久久久久女人精品毛片 | 免费观看版 | 欧美最新大片在线看 | 黄色www免费| 久久国产热 | 日韩免费在线观看视频 | 欧美激情第一页xxx 午夜性福利 | a久久免费视频 | 国产 成人 久久 | 黄色国产大片 | 2018好看的中文在线观看 | 久久综合免费视频影院 | 国产精品一区二区 91 | av一级一片| 国产无套一区二区三区久久 | 亚洲在线成人精品 | 日韩av不卡在线 | 日韩精品一区二区三区电影 | 婷婷激情久久 | 一本一本久久aa综合精品 | 天天干,天天射,天天操,天天摸 | 99在线视频精品 | 久久69精品久久久久久久电影好 | 97在线视频免费看 | 欧美日韩国产亚洲乱码字幕 | 久久久精品二区 | 日本深夜福利视频 | 四虎影视成人永久免费观看视频 | 久久精品国产第一区二区三区 | 国产在线久久久 | .精品久久久麻豆国产精品 亚洲va欧美 | 国产精品手机在线 | 国产精品美女久久久久久久久 | 午夜精品一区二区三区在线视频 | 欧美日韩高清 | 国产手机在线播放 | 亚洲国产精品传媒在线观看 | 精品一区二区在线看 | 久久亚洲影院 | 久久久精品二区 | 黄色日视频 | 精品黄色片 | 中文字幕在线观看免费观看 | 激情图片区 | 日韩r级电影在线观看 | 成年人在线免费看视频 | 日韩免费福利 | 国产一级电影 | 精品女同一区二区三区在线观看 | 特级毛片爽www免费版 | 黄色av电影免费观看 | 去干成人网 | 99九九免费视频 | 天天操天天玩 | 91欧美日韩国产 | 久久国产精品99精国产 | 国产精品四虎 | 免费视频一区二区 | 日韩精品一区二区三区三炮视频 | 黄色综合 | 久久久久日本精品一区二区三区 | 91视频在线观看大全 | 成人av片免费观看app下载 | 99在线视频播放 | 狂野欧美激情性xxxx欧美 | 国产大陆亚洲精品国产 | 久久电影国产免费久久电影 | 国产视频精品久久 | 在线观看免费观看在线91 | 久久亚洲成人网 | 亚洲日日夜夜 | 国产中文字幕视频 | 亚洲电影av在线 | ww视频在线观看 | 特级毛片网 | 免费开视频 | 国产精品k频道 | 国产一区精品在线观看 | 国产理论影院 | 国产精品va视频 | 色视频在线观看免费 | 免费观看91| 天天射天天操天天 | 在线观看色网站 | 免费手机黄色网址 | 99视频在线观看一区三区 | 成人一区电影 | 中文字幕九九 | 最近2019好看的中文字幕免费 | 69xxxx欧美 | 国产成人久久精品77777综合 | 日日麻批40分钟视频免费观看 | 国产专区第一页 | 日韩高清免费观看 | av在线收看 | 日韩在线看片 | 亚洲伊人av| 欧美日韩在线观看一区二区 | 天天天干夜夜夜操 | 精品国产伦一区二区三区观看体验 | 五月婷在线观看 | 色.com| 欧美日韩精品二区第二页 | 婷婷综合影院 | 国产视频 久久久 | 最近中文字幕大全中文字幕免费 | 婷色在线| 婷婷色5月 | 久久草 | 中文字幕一区二区三区在线视频 | 91久久精品一区二区三区 | 精品一区二区亚洲 | 日韩电影中文,亚洲精品乱码 | 免费观看一级视频 | 久久激情综合网 | 久草| 99国产成+人+综合+亚洲 欧美 | 91视频最新网址 | avwww在线观看 | 精品久久在线 | 亚洲成人xxx| 欧洲精品一区二区 | 国产精品不卡在线播放 | 99成人在线视频 | 日韩激情小视频 | 日韩大片在线播放 | 日韩av电影手机在线观看 | 色婷婷国产在线 | 久久综合五月婷婷 | 精品久久久久久亚洲综合网 | 午夜精品视频在线 | 国产99视频在线观看 | 中文字幕一区二区三区视频 | 久久国语露脸国产精品电影 | 国产成人久久精品77777综合 | 精品国产一区二区三区男人吃奶 | 国产视频亚洲 | 国产日产在线观看 | 久久久久久久久艹 | 午夜国产福利在线观看 | 日韩高清三区 | 91亚洲精品在线观看 | 伊人久久国产精品 | 国产在线精品一区二区不卡了 | 五月香视频在线观看 | 天天草天天干天天射 | 99免费在线视频 | 国产日韩欧美综合在线 | 美女视频一区二区 | 国产丝袜美腿在线 | 在线视频精品播放 | 日日日爽爽爽 | 字幕网在线观看 | av中文字幕网址 | 久久 一区 | 欧美精品天堂 | 成人精品国产免费网站 | 激情av五月婷婷 | 成人免费观看大片 | 国产精品手机在线 | 九九影视理伦片 | 日韩免费视频观看 | 亚洲激情在线视频 | 国产中文字幕三区 | 97超视频 | 国产精品岛国久久久久久久久红粉 | 99久久精品久久亚洲精品 | 不卡的av电影在线观看 | av在线最新 | 天天射综合网站 | av手机在线播放 | 免费看的黄网站 | 在线看免费 | 色99导航| 在线观看免费黄色 | 久久久www成人免费毛片 | 午夜精品久久久久久中宇69 | 麻豆久久 | 成 人 a v天堂 | 综合久久影院 | 国产精品一区在线播放 | 日韩大片在线看 | 成年人视频在线观看免费 | 日本性高潮视频 | 一区二区三区四区五区在线 | 黄色av高清| 国产精品av免费在线观看 | 亚洲精品久久久蜜臀下载官网 | 亚洲一区免费在线 | 国产精品视频久久久 | 中文字幕黄色av | 亚洲精品国 | av免费在线观看1 | 欧美性色黄大片在线观看 | 国产97色在线 | 91视频免费国产 | 91精品国产高清自在线观看 | 国产精品久久久久久久免费大片 | 日韩欧美精品在线视频 | 69国产成人综合久久精品欧美 | 人人爽人人舔 | www.com在线观看 | www.久久色 | 爱射综合 | 91精品久久久久久综合五月天 | 一本色道久久综合亚洲二区三区 | 99久久精品免费看国产四区 | 久要激情网 | 色噜噜狠狠色综合中国 | 伊人狠狠操 | 国产免费精彩视频 | 久久丁香 | 国产不卡精品 | 香蕉久草| 久久99精品久久久久久清纯直播 | 天天爱天天操天天爽 | 成人影音在线 | 国产成人精品a | 精品综合久久 | 久香蕉| 久久精品观看 | 免费的国产精品 | 国产成人黄色网址 | 久久精品一区二区三 | 国产午夜精品一区二区三区欧美 | 97超碰在线资源 | 久久久久久国产一区二区三区 | 日本三级全黄少妇三2023 | 亚洲精品88欧美一区二区 | 久久99偷拍视频 | 一区二区视频免费在线观看 | 亚洲精品午夜国产va久久成人 | 精品国产一区二 | 日本精品中文字幕在线观看 | 国产成人av网 | 97在线视频免费观看 | 亚洲精品美女久久久 | 91av原创 | 91午夜精品 | 婷婷色站 | 一区二区三区高清在线 | 在线亚洲成人 | 在线观看成人国产 | 麻豆视频免费版 | 在线观看日本高清mv视频 | 亚洲视频 视频在线 | 九九在线高清精品视频 | 黄色aaa级片 | 美女视频是黄的免费观看 | 天天射射天天 | av丝袜在线 | 中文字幕亚洲欧美 | 国产精品成人自拍 | 五月婷婷在线综合 | 国产精品一区二区av麻豆 | 丁香五月亚洲综合在线 | 91免费观看视频网站 | 中文字幕在线看视频 | 国产精品99久久久久久人免费 | 在线观看成人福利 | 久久这里只有精品视频首页 | 毛片网站免费 | 久久伊人色综合 | 五月天中文在线 | 蜜臀一区二区三区精品免费视频 | 午夜精品久久久久久久99无限制 | 国产成人精品久久亚洲高清不卡 | 久草手机视频 | 成人午夜久久 | 香蕉国产91| 五月婷婷激情综合网 | 国产99久久久国产精品免费看 | 日日躁天天躁 | 国产午夜精品av一区二区 | 日韩大片在线播放 | 久久久久久久久久久久久久免费看 | 国产在线观看你懂得 | 国产精品乱码一区二三区 | 欧美日韩精品久久久 | 91在线91拍拍在线91 | 精品亚洲va在线va天堂资源站 | 久久久久久久久久久久av | 激情亚洲综合在线 | 国产一区二区午夜 | www.国产在线观看 | 亚洲综合狠狠干 | 国产精品久久人 | 午夜久久美女 | 97天堂 | 97国产情侣爱久久免费观看 | 色六月婷婷| 国产精品久久99综合免费观看尤物 | 人人射av | 在线香蕉视频 | 久久成人在线视频 | 深夜免费福利网站 | 成人黄色在线看 | 国产一区二区三区 在线 | 96视频在线 | 精品在线观看一区二区三区 | 中文字幕在线播放第一页 | 九草视频在线观看 | 欧美日韩免费一区二区三区 | 午夜精品久久久久久久爽 | 91精品视频免费在线观看 | 91久久国产综合精品女同国语 | 美女一级毛片视频 | 美女久久久久久久 | 午夜丁香视频在线观看 | 91一区在线观看 | 五月激情站 | 97超碰免费在线观看 | 最近高清中文在线字幕在线观看 | 日韩色综合网 | 日韩免费在线观看视频 | 麻豆国产网站 | 92精品国产成人观看免费 | 一区二区三区四区不卡 | 国产一级二级在线观看 | 国产在线观看地址 | 国产视频精品久久 | 中文字幕在线观看第三页 | 91资源在线观看 | 天天爱天天草 | 国产 欧美 日产久久 | 亚洲 欧美 日韩 综合 | 亚洲aⅴ免费在线观看 | 久久久免费观看完整版 | av天天在线观看 | 日韩欧美国产免费播放 | 久久99精品久久只有精品 | 精品在线观看视频 | 日韩av片在线 | 不卡的av在线播放 | 国产综合精品一区二区三区 | 成av人电影 | 国产黄色片免费在线观看 | 一区二区三区高清在线 | 伊人春色电影网 | 国内精品久久久久影院一蜜桃 | 98久9在线 | 免费 | 国产九九九视频 | 亚洲五月综合 | 中文字幕在线资源 | 日韩激情久久 | 日韩av在线免费播放 | av久久在线 | 五月综合在线观看 | 久久精品免费播放 | 一区二区三区四区精品视频 | 一本到在线 | www.天天干 | 午夜三级福利 | 久久av伊人 | 国产精品一区二区三区四 | 97精品国产手机 | 成人一区在线观看 | www.夜色.com| 亚洲性xxxx| 久久福利小视频 | www.com操| 婷婷伊人综合 | 欧美一区二区精美视频 | 国产丝袜在线 | www.com黄色 | 国产黄色高清 | 久草在线免费电影 | 午夜国产福利在线 | 香蕉网在线 | 久久不卡视频 | 精品女同一区二区三区在线观看 | 国产精品无av码在线观看 | 成人在线超碰 | av在线影视| 日韩在线观看的 | 国产精品久久一卡二卡 | 色婷婷久久一区二区 | 精品在线小视频 | 国产一卡久久电影永久 | 日韩视频在线不卡 | 日韩黄色一级电影 | 91黄色视屏 | 欧美视频日韩视频 | 911久久香蕉国产线看观看 | 中文字幕在线国产 | 亚洲国产精品小视频 | 在线观看日韩中文字幕 | 一区二区av| 国产一级片网站 | 国产精品成 | 国产精品18久久久久久vr | 91精品国自产拍天天拍 | 久草视频精品 | 免费日韩在线 | 麻豆国产网站 | 久草在线免费看视频 | 青春草国产视频 | 欧美日韩大片在线观看 | 91最新在线观看 | 免费人人干 | 99色在线播放 | 九九激情视频 | 中文字幕第一页在线播放 | 中文字幕 国产精品 | 99久久久久久 | 狠狠狠狠狠狠狠狠干 | 国内精品久久久久影院一蜜桃 | 最新av在线播放 | 久久精品官网 | 欧美福利久久 | 亚洲电影av在线 | 天天操天天射天天插 | 久草线| 在线 高清 中文字幕 | 日韩精品一区二区免费 | 国产一区二区精 | 就要干b| 一级成人免费 | 国产99免费 | 中文字幕一区av | 成+人+色综合 | 免费一级片视频 | 国产在线观看污片 | 婷婷免费视频 | 夜夜躁日日躁狠狠久久88av | 成人综合婷婷国产精品久久免费 | 成年人黄色免费网站 | 九九久久久久久久久激情 | 91九色在线 | 亚洲精品456在线播放 | 国产精品v a免费视频 | 99视 | 欧美国产日韩一区二区三区 | 最近最新mv字幕免费观看 | 黄色av网站在线免费观看 | 91精品播放| 黄色网址中文字幕 | 亚洲精品久久视频 | 欧美激情综合五月 | 欧美日韩三级 | av女优中文字幕在线观看 | 97国产超碰在线 | 成人精品国产 | 夜夜躁天天躁很躁波 | 午夜体验区 | 人人爽爽人人 | 国产一级电影网 | 国产一二区在线观看 | 日本精a在线观看 | 狠狠躁日日躁狂躁夜夜躁av | 黄色免费观看网址 | 在线一区av | 狠狠色婷婷丁香六月 | 久久av网 | 81精品国产乱码久久久久久 | av资源免费在线观看 | 99re亚洲国产精品 | 99这里有精品 | 日本性高潮视频 | 福利在线看片 | av官网 | 午夜黄色大片 | 丰满少妇高潮在线观看 | 91成人欧美| 精品国产理论片 | 国产三级视频 | 国产精品免费人成网站 | 久久久天天操 | 国产精品嫩草影院99网站 | 中文字幕日韩一区二区三区不卡 | 亚洲黄色一级视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 91精品网站在线观看 | 一区二区精品在线视频 | 久久久国产精品人人片99精片欧美一 | 99精品免费久久久久久久久 | 久久狠狠亚洲综合 | 天天爱天天舔 | 日本少妇高清做爰视频 | 偷拍区另类综合在线 | 婷婷综合久久 | 亚洲狠狠干 | 免费看污在线观看 | 玖玖色在线观看 | 色婷婷www | 激情婷婷在线观看 | 国产色视频网站 | 亚洲精品视频网址 | 国产精品久久久久一区 | 亚洲精品乱码久久久久久久久久 | 婷婷色在线播放 | 日韩成人免费在线观看 | 久久99免费视频 | 久久久久久高潮国产精品视 | 久久免费视频5 | 玖玖999| 免费在线观看午夜视频 | 精品成人在线 | 日韩视频区 | 在线观看成人小视频 | 91亚洲视频在线观看 | 国产91在线免费视频 | 精品夜夜嗨av一区二区三区 | 日日干夜夜操视频 | 东方av免费在线观看 | 手机看国产毛片 | 国产精品 日本 | 国产精品久久99综合免费观看尤物 | 精品国产1区 | 久久不射电影院 | 丁五月婷婷 | www.天天射.com| 正在播放国产精品 | 午夜在线观看影院 | 黄色小说免费在线观看 | 欧美精品第一 | 中文字幕永久免费 | 亚洲天天做 | 欧美孕交vivoestv另类 | 日韩特黄一级欧美毛片特黄 | 日韩三级视频在线看 | 最新国产在线观看 | 日韩精品电影在线播放 | 岛国精品一区二区 | 免费亚洲黄色 | 国产91av视频在线观看 | 69国产成人综合久久精品欧美 | 香蕉视频国产在线观看 | 又黄又爽又无遮挡的视频 | 天堂在线视频中文网 | 久草爱视频 | 日韩免费三区 | 韩国av在线 | av成人在线播放 | 九热在线| 伊人婷婷久久 | 香蕉在线视频播放网站 | 欧美日韩久久不卡 | 99精品欧美一区二区三区黑人哦 | 国产91精品看黄网站 | 欧美黄在线 | 久久国产视频网站 | 97免费公开视频 | 欧美亚洲成人免费 | av网在线观看 | 欧美日韩中文国产 | 中文字幕在线影视资源 | 久草免费在线观看 | 国产二区电影 | 中文字幕第一页在线播放 | 久久久国产一区二区三区 | 91在线免费观看网站 | 日韩欧美精品一区二区 | 99国产精品免费网站 | 色99视频| 亚洲专区欧美 | 精品久久久久一区二区国产 | 日韩欧美在线观看一区二区三区 | 狠狠色丁香婷综合久久 | 国产午夜精品久久 | 狠狠色狠狠色综合日日92 | 91女神的呻吟细腰翘臀美女 | 黄色大片日本免费大片 | 999久久| 一区二区视频播放 | 免费福利片2019潦草影视午夜 | 亚洲精品自在在线观看 | 日韩一区二区三区视频在线 | 人人爽人人av | 最新动作电影 | 精品久久视频 | 国产91精品高清一区二区三区 | www.91av在线 | 日韩视频在线播放 | 日韩网页| 97精品久久人人爽人人爽 | 丁香花在线观看免费完整版视频 | 日韩亚洲在线视频 | av电影久久 | 婷婷去俺也去六月色 | 特级黄色片免费看 | aa一级片 | 亚洲视频在线视频 | 亚洲精品国产精品国自产观看浪潮 | 就要色综合 | 久久国产三级 | www.伊人色.com | 99久久精品无码一区二区毛片 | 在线看日韩av | 亚洲成人网在线 | 天天搞天天干天天色 | 色婷婷av国产精品 | 国产丝袜 | 狠狠操狠狠干天天操 | 久久福利在线 | 激情网五月天 | 欧美久久久久久久久 | 91av成人| 日韩毛片在线播放 | 在线观看视频h | 99久久久国产精品免费观看 | 久久久人 | 亚洲视频每日更新 | 高清视频一区 | 天天干天天操天天拍 | 91精品在线观看入口 | 最新动作电影 | 久久久久9999亚洲精品 | 亚洲中字幕 | 国产不卡在线观看视频 | 97超碰精品 | 亚洲精品国偷自产在线99热 | 91九色在线 | 亚洲电影黄色 | 色吧久久 | 日韩精品视频免费专区在线播放 | 欧美日bb| 久久国产精品免费一区二区三区 | aa级黄色大片 | 成人超碰97| 亚洲精品激情 | 91重口视频 | 婷婷丁香色 | 日韩精品在线观看av | 337p日本欧洲亚洲大胆裸体艺术 | 日韩在线首页 | 91污污 | 欧洲一区二区在线观看 | 不卡av在线免费观看 | 亚洲黄色激情小说 | 日韩一区二区免费播放 | 一区二区三区四区不卡 | av亚洲产国偷v产偷v自拍小说 | 操操日日 |