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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

page cache 与free

發布時間:2024/8/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 page cache 与free 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們經常用free查看服務器的內存使用情況,而free中的輸出卻有些讓人困惑,如下:

?

先看看各個數字的意義以及如何計算得到:

free命令輸出的第二行(Mem):這行分別顯示了物理內存的總量(total)、已使用的 (used)、空閑的(free)、共享的(shared)、buffer(buffer大小)、 cache(cache的大小)的內存。我們知道Total、free、buffers、cached這幾個字段是從/proc/meminfo中獲取的,而used = total – free。Share列已經過時,忽略(見參考)。

free命令輸出的第三行(-/+ buffers/cache):

它顯示的第一個值(used):210236,這個值表示系統本身使用的內存總量,即除去buffer/cache,等于Mem行used列 - Mem行buffers列 - Mem行cached列。

它顯示的第二個值(free):814956,這個值表示系統當前可用內存,它等于Mem行total列— buffers/cache used,也等于Mem行free列 + Mem行buffers列 + Mem行cached列。

free命令輸出的第四行(Swap) 這行顯示交換內存的總量、已使用量、 空閑量。

?

我們都知道free是從/proc/meminfo中讀取相關的數據的。

?

下面是/proc/meminfo的實現:

復制代碼
static int meminfo_read_proc(char *page, char **start, off_t off,
int count, int *eof, void *data)
{
struct sysinfo i;
int len;
unsigned long committed;
unsigned long allowed;
struct vmalloc_info vmi;
long cached;

/*
* display in kilobytes.
*/
#define K(x) ((x) << (PAGE_SHIFT - 10))
si_meminfo(&i);
si_swapinfo(&i);
committed = atomic_read(&vm_committed_space);
allowed = ((totalram_pages - hugetlb_total_pages())
* sysctl_overcommit_ratio / 100) + total_swap_pages;

cached = global_page_state(NR_FILE_PAGES) -
total_swapcache_pages - i.bufferram;
if (cached < 0)
cached = 0;

get_vmalloc_info(&vmi);

/*
* Tagged format, for easy grepping and expansion.
*/
len = sprintf(page,
"MemTotal: %8lu kB\n"
"MemFree: %8lu kB\n"
"Buffers: %8lu kB\n"
"Cached: %8lu kB\n"
"SwapCached: %8lu kB\n"

......

K(i.totalram),
K(i.freeram),
K(i.bufferram),
K(cached),
K(total_swapcache_pages),

......

#undef K
}

?

struct sysinfo {
long uptime; /* Seconds since boot */
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* swap space still available */
unsigned short procs; /* Number of current processes */
unsigned short pad; /* explicit padding for m68k */
unsigned long totalhigh; /* Total high memory size */
unsigned long freehigh; /* Available high memory size */
unsigned int mem_unit; /* Memory unit size in bytes */
char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
};
復制代碼

圖中,Buffers對應sysinfo.bufferram,內核中以頁框為單位,通過宏K轉化成以KB為單位輸出。

復制代碼
void si_meminfo(struct sysinfo *val)
{
val->totalram = totalram_pages;//total ram pages
val->sharedram = 0;
val->freeram = global_page_state(NR_FREE_PAGES);//free mem pages
val->bufferram = nr_blockdev_pages();//block devices used pages
val->totalhigh = totalhigh_pages;
val->freehigh = nr_free_highpages();
val->mem_unit = PAGE_SIZE;
}

long nr_blockdev_pages(void)
{
struct block_device *bdev;
long ret = 0;
spin_lock(&bdev_lock);
list_for_each_entry(bdev, &all_bdevs, bd_list) {
ret += bdev->bd_inode->i_mapping->nrpages;
}
spin_unlock(&bdev_lock);
return ret;
}
復制代碼

nr_blockdev_pages計算塊設備使用的頁框數,遍歷所有塊設備,將使用的頁框數相加。而不包含普通文件使用的頁框數。

cached = global_page_state(NR_FILE_PAGES) - total_swapcache_pages - i.bufferram;

復制代碼
static inline unsigned long global_page_state(enum zone_stat_item item)
{
long x = atomic_long_read(&vm_stat[item]);
#ifdef CONFIG_SMP
if (x < 0)
x = 0;
#endif
return x;
}
復制代碼
Cache的大小為內核總的page cache減去swap cache和塊設備占用的頁框數量,實際上cache即為普通文件的占用的page cache。實際上,在函數add_to_page_cache和__add_to_swap_cache 中,都會通過調用pagecache_acct實現對內核變量nr_pagecache進行累加。前者對應page cache,內核讀塊設備和普通文件使用;后者對應swap cache,內核讀交換分區使用。

Page cache(頁面緩存)

在linux系統中,為了加快文件的讀寫,內核中提供了page cache作為緩存,稱為頁面緩存(page cache)。為了加快對塊設備的讀寫,內核中還提供了buffer cache作為緩存。在2.4內核中,這兩者是分開的。這樣就造成了雙緩沖,因為文件讀寫最后還是轉化為對塊設備的讀寫。在2.6中,buffer cache合并到page cache中,對應的頁面叫作buffer page。當進行文件讀寫時,如果文件在磁盤上的存儲塊是連續的,那么文件在page cache中對應的頁是普通的page,如果文件在磁盤上的數據塊是不連續的,或者是設備文件,那么文件在page cache中對應的頁是buffer page。buffer page與普通的page相比,每個頁多了幾個buffer_head結構體(個數視塊的大小而定)。此外,如果對單獨的塊(如超級塊)直接進行讀寫,對應的page cache中的頁也是buffer page。這兩種頁面雖然形式略有不同,但是最終他們的數據都會被封裝成bio結構體,提交到通用塊設備驅動層,統一進行I/O調度。

復制代碼
/**
* 塊緩沖頭描述符
*/
struct buffer_head {
/* 塊緩沖狀態位圖,如BH_Uptodate */
unsigned long b_state; /* buffer state bitmap (see above) */
/* 指向下一個塊緩沖,二者屬于同一個頁緩存 */
struct buffer_head *b_this_page;/* circular list of page's buffers */
/* 如果緩沖區屬于頁緩存,則指向緩存頁。如果獨立于頁緩存,則為NULL */
struct page *b_page; /* the page this bh is mapped to */

/* 對應的塊號 */
sector_t b_blocknr; /* start block number */
/* 塊長 */
size_t b_size; /* size of mapping */
/* 內存中的數據指針 */
char *b_data; /* pointer to data within the page */

/* 后備設備 */
struct block_device *b_bdev;
/* 當IO操作完成時,由內核調用的回調函數 */
bh_end_io_t *b_end_io; /* I/O completion */
/* 預留指針,用于b_end_io。一般用于日志文件系統。 */
void *b_private; /* reserved for b_end_io */
struct list_head b_assoc_buffers; /* associated with another mapping */
/* 所屬地址空間 */
struct address_space *b_assoc_map; /* mapping this buffer is
associated with */
/* 訪問計數器 */
atomic_t b_count; /* users using this buffer_head */
};
復制代碼

在kernel2.6之后,buffer_head沒有別的作用,主要用來保持頁框與塊設備中數據塊的映射關系。

Buffer page(緩沖頁)

如果內核需要單獨訪問一個塊,就會涉及到buffer page,并會檢查對應的buffer head。

內核創建buffer page的兩種常見情況:

(1)當讀或者寫一個文件頁的數據塊不相鄰時。發生這種情況是因為文件系統為文件分配了非連續的塊,或者文件有洞。具體請參見block_read_full_page(fs/buffer.c)函數:

復制代碼
/**
* 從塊設備中讀取整頁
*/
int block_read_full_page(struct page *page, get_block_t *get_block)
{
struct inode *inode = page->mapping->host;
sector_t iblock, lblock;
struct buffer_head *bh, *head, *arr[MAX_BUF_PER_PAGE];
unsigned int blocksize;
int nr, i;
int fully_mapped = 1;

BUG_ON(!PageLocked(page));
blocksize = 1 << inode->i_blkbits;
if (!page_has_buffers(page))/* 如果還沒有建立緩沖區,則建立幾個空緩沖區 */
create_empty_buffers(page, blocksize, 0);
/* 取頁面關聯的第一個緩沖區 */
head = page_buffers(page);

/* 計算要讀取的塊號 */
iblock = (sector_t)page->index << (PAGE_CACHE_SHIFT - inode->i_blkbits);
lblock = (i_size_read(inode)+blocksize-1) >> inode->i_blkbits;
bh = head;
nr = 0;
i = 0;

/* 遍歷所有緩沖區 */
do {
if (buffer_uptodate(bh))/* 緩沖區已經與設備匹配了,不需要處理 */
continue;

if (!buffer_mapped(bh)) {/* 沒有映射 */
int err = 0;

fully_mapped = 0;
if (iblock < lblock) {/* 在設備上還不存在塊 */
WARN_ON(bh->b_size != blocksize);
/* 獲得邏輯塊在磁盤上的位置 */
err = get_block(inode, iblock, bh, 0);
if (err)
SetPageError(page);
}
if (!buffer_mapped(bh)) {/* 對應的塊是稀疏塊,寫入0即可 */
zero_user_page(page, i * blocksize, blocksize,
KM_USER0);
if (!err)
set_buffer_uptodate(bh);
continue;
}
/*
* get_block() might have updated the buffer
* synchronously
*/
if (buffer_uptodate(bh))/* get_block將緩沖區更新了,繼續處理下一塊 */
continue;
}
/* 緩沖區已經映射,但內容不是最新的,將它放到臨時數組中 */
arr[nr++] = bh;
} while (i++, iblock++, (bh = bh->b_this_page) != head);

if (fully_mapped)
SetPageMappedToDisk(page);

if (!nr) {/* 所有緩沖區都是最新的 */
/*
* All buffers are uptodate - we can set the page uptodate
* as well. But not if get_block() returned an error.
*/
if (!PageError(page))/* 設置頁的uptodate標志,然后退出 */
SetPageUptodate(page);
unlock_page(page);
return 0;
}

/* Stage two: lock the buffers */
for (i = 0; i < nr; i++) {/* 鎖定緩沖區 */
bh = arr[i];
lock_buffer(bh);
mark_buffer_async_read(bh);
}

/*
* Stage 3: start the IO. Check for uptodateness
* inside the buffer lock in case another process reading
* the underlying blockdev brought it uptodate (the sct fix).
*/
for (i = 0; i < nr; i++) {/* 遍歷頁內所有需要更新的緩沖區 */
bh = arr[i];
if (buffer_uptodate(bh))/* 在沒有獲得鎖的期間,如果有其他進程讀取的內容 */
end_buffer_async_read(bh, 1);
else
submit_bh(READ, bh);/* 提交IO請求 */
}
return 0;
}
復制代碼

這里使用buffer head主要是通過buffer head建立頁框與數據塊的映射關系。因為頁面中的數據不是連接的,而頁框描述符struct page的字段又不足以表達這種信息。

該函數會調用create_empty_buffers來創建一組全新的緩沖區,并與page關聯起來

復制代碼
/**
* 創建一組全新的緩沖區,以便與頁關聯
*/
void create_empty_buffers(struct page *page,
unsigned long blocksize, unsigned long b_state)
{
struct buffer_head *bh, *head, *tail;

/* 創建所需要數目的緩沖頭,并將其形成一個鏈表,返回第一個緩沖頭 */
head = alloc_page_buffers(page, blocksize, 1);
/* 設置所有緩沖頭的狀態,并將緩沖頭形成一個環形鏈表 */
bh = head;
do {
bh->b_state |= b_state;
tail = bh;
bh = bh->b_this_page;
} while (bh);
tail->b_this_page = head;

/* 根據頁面狀態設置塊緩沖區的狀態 */
spin_lock(&page->mapping->private_lock);
if (PageUptodate(page) || PageDirty(page)) {
bh = head;
do {/* 更新每一個緩沖頭的狀態 */
if (PageDirty(page))
set_buffer_dirty(bh);
if (PageUptodate(page))
set_buffer_uptodate(bh);
bh = bh->b_this_page;
} while (bh != head);
}
/* 將緩沖區關聯到頁面 */
attach_page_buffers(page, head);
spin_unlock(&page->mapping->private_lock);
}
復制代碼

create_empty_buffers調用alloc_page_buffers來創建一組buffer head鏈表,但還不是循環鏈表:

復制代碼
struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size,
int retry)
{
struct buffer_head *bh, *head;
long offset;

try_again:
head = NULL;
offset = PAGE_SIZE;
while ((offset -= size) >= 0) {
bh = alloc_buffer_head(GFP_NOFS);
if (!bh)
goto no_grow;

bh->b_bdev = NULL;
bh->b_this_page = head;
bh->b_blocknr = -1;
head = bh;

bh->b_state = 0;
atomic_set(&bh->b_count, 0);
bh->b_private = NULL;
bh->b_size = size;

/* Link the buffer to its page */
set_bh_page(bh, page, offset);

init_buffer(bh, NULL, NULL);
}
return head;

......

}
復制代碼

alloc_page_buffers調用set_bh_page來設置b_data.

復制代碼
void set_bh_page(struct buffer_head *bh,
struct page *page, unsigned long offset)
{
bh->b_page = page;
BUG_ON(offset >= PAGE_SIZE);
if (PageHighMem(page))
/*
* This catches illegal uses and preserves the offset:
*/
bh->b_data = (char *)(0 + offset);
else
bh->b_data = page_address(page) + offset;
}
復制代碼

(2)訪問一個單獨的磁盤塊(比如,讀超級塊或者索引節點塊時)。參見ext2_fill_super(fs/ext2/super.c),該函數在安裝ext2文件系統時調用。

Buffer page和buffer head的關系:

?

?

因此,對于普通文件,如果頁面中的塊是連續的,則頁面沒有對應buffer head;如果不連續,則頁面有對應的buffer head,參見do_mpage_readpage函數。對于塊設備,無論是讀取單獨的數據塊,還是作為設備文件來進行讀取,頁面始終有對應的buffer head,參見block_read_full_page/__bread函數。

轉載于:https://www.cnblogs.com/chenliyang/p/6543165.html

總結

以上是生活随笔為你收集整理的page cache 与free的全部內容,希望文章能夠幫你解決所遇到的問題。

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

伊人国产视频 | 综合色在线观看 | 色婷婷88av视频一二三区 | 午夜影院一级 | 九九在线高清精品视频 | 久久99精品久久久久久秒播蜜臀 | 欧美国产日韩激情 | 欧美日本高清视频 | 国产福利午夜 | 久久免费观看少妇a级毛片 久久久久成人免费 | 六月色 | 久久99精品视频 | 国产精品久久久久影视 | 精品国产一区二区三区免费 | 日韩中文字幕免费在线播放 | 一级黄色片在线免费观看 | 超碰人人在线观看 | 亚洲日本欧美 | 射九九| 欧美高清成人 | 一区二区三区在线免费 | 免费日韩高清 | 亚洲成av人片在线观看无 | 国内精品在线观看视频 | 丁香久久久| 免费a现在观看 | 精一区二区 | 久免费 | 99精品视频免费观看 | 久久在线免费 | 日日躁夜夜躁xxxxaaaa | 啪啪精品| 日韩 在线a | 中文不卡视频 | 四季av综合网站 | 久久久久网站 | 99热官网| 久久av影院 | 在线成人国产 | 麻豆国产精品永久免费视频 | 国产精品福利无圣光在线一区 | 亚洲激情电影在线 | 国产精品美女免费视频 | 狠狠五月天 | 亚洲成人精品久久 | 国产伦精品一区二区三区免费 | 精品久久久久免费极品大片 | 日韩精品免费一区 | 91麻豆精品国产91久久久更新时间 | 欧美成人在线网站 | 天天玩夜夜操 | 天天干天天草天天爽 | 亚洲一区精品人人爽人人躁 | www九九热 | 日韩欧美在线综合网 | 欧美日韩一区二区在线观看 | 久久午夜网 | 91精品久久久久久综合五月天 | 日本中文不卡 | 亚洲电影自拍 | 日韩在线影视 | 国产无限资源在线观看 | 日韩欧美国产激情在线播放 | 久久久国产精品久久久 | 在线欧美国产 | 麻豆综合网| 国产精品丝袜在线 | 五月天激情视频 | 久久久免费毛片 | 欧美 日韩 视频 | 久久av免费观看 | 午夜国产在线 | 久久综合久久八八 | 99久久超碰中文字幕伊人 | 91中文字幕永久在线 | 安徽妇搡bbbb搡bbbb | 麻豆国产精品va在线观看不卡 | 黄色在线成人 | 久久精品视频网址 | 四虎在线免费观看视频 | 一级性视频 | 亚洲激情免费 | 天天干夜夜擦 | 69xx视频| 黄色毛片视频免费 | av大全在线观看 | 狠狠色伊人亚洲综合网站色 | 免费观看性生活大片3 | 成人午夜精品福利免费 | 久久网站av| 激情婷婷亚洲 | 午夜狠狠干 | 日韩av免费一区二区 | 午夜视频播放 | 国产麻豆精品免费视频 | 一本色道久久综合亚洲二区三区 | 成人影音在线 | 国产91免费在线 | 美女视频a美女大全免费下载蜜臀 | 波多野结衣一区二区 | 日韩三区在线观看 | 米奇狠狠狠888 | 99视频免费观看 | 探花视频在线版播放免费观看 | 亚洲欧洲美洲av | 精品一区二区精品 | 免费久久99精品国产 | 97网| 日韩艹 | 久久久久久不卡 | 激情综合色图 | 久久久久观看 | 四虎国产永久在线精品 | 中文字幕在线观看免费高清电影 | 天堂av色婷婷一区二区三区 | 在线观看精品一区 | 91人人澡| 亚洲天堂网在线视频 | 亚洲欧洲在线视频 | 亚洲成a人片综合在线 | 亚洲免费成人av电影 | 伊人亚洲综合 | 一区二区精品国产 | 一区二区三区韩国免费中文网站 | av官网在线 | 九色激情网| 丁香导航| 成人a视频片观看免费 | 亚洲春色综合另类校园电影 | 在线精品一区二区 | 亚洲欧洲国产精品 | 日本夜夜草视频网站 | 国产无遮挡猛进猛出免费软件 | 在线观看91久久久久久 | 精品极品在线 | 99热官网| 天干啦夜天干天干在线线 | 久久最新网址 | av免费在线网站 | 国产国语在线 | 国产成人一区二区三区久久精品 | 91色蜜桃| 久久久久久网 | 亚洲 成人 一区 | 天天干天天操天天爱 | 91视频在线 | 国产91小视频| 91精品视频播放 | 国产在线第三页 | 91最新地址永久入口 | 四虎8848免费高清在线观看 | 日本超碰在线 | 欧美激情综合五月色丁香 | 五月天激情综合 | 色国产精品一区在线观看 | 免费亚洲片 | 国产一二三四在线观看视频 | 91香蕉视频在线 | 四虎国产视频 | 国产美女无遮挡永久免费 | 激情欧美国产 | 久久国产精品小视频 | 国产麻豆剧果冻传媒视频播放量 | 麻豆视频入口 | 九九九热精品 | 欧美日韩破处 | 亚洲精品中文字幕视频 | 欧美精品久久人人躁人人爽 | 欧美精品乱码久久久久久 | 天天操狠狠操网站 | 久久视频网 | 91精品秘密在线观看 | 三级黄色免费片 | 天操夜夜操 | 欧美了一区在线观看 | 久久五月情影视 | 久久人人看 | 成人av免费在线播放 | 天天激情综合网 | 国产精品永久免费视频 | 国产一级免费观看视频 | 丁香激情网| 日本69hd| 久久精品影视 | av高清一区二区三区 | 久久久久久久久久国产精品 | 成人黄色电影视频 | 欧美视频二区 | 久九视频| 精品国产福利在线 | 国产在线日韩 | 欧美成a人片在线观看久 | 亚洲激情在线观看 | 久久最新网址 | 在线观看久 | 在线99| 人人爽人人爽人人爽 | 丁香六月在线观看 | 偷拍区另类综合在线 | 99精品热视频 | 国产视频2区 | 久久久久一区 | 国产精品久久久久久电影 | 国产一级在线免费观看 | 中文字幕av专区 | 欧洲精品码一区二区三区免费看 | 国内久久精品 | 中国成人一区 | 国产精品黄网站在线观看 | 亚洲综合欧美精品电影 | av免费福利| 色橹橹欧美在线观看视频高清 | 日韩簧片在线观看 | 精品电影一区 | 精品一区二区精品 | 免费在线观看国产黄 | 国产黄a三级三级 | 国产精品久久久久久久久久久久 | 国产一级黄色av | 亚洲一区精品人人爽人人躁 | 国产69精品久久久久9999apgf | 成人在线中文字幕 | 99亚洲精品在线 | 色偷偷中文字幕 | 国产精品av在线免费观看 | www.玖玖玖| 99在线观看免费视频精品观看 | 五月天网站在线 | 手机在线黄色网址 | 韩国av一区二区三区在线观看 | 欧美日韩在线视频一区二区 | 一二区av | 成人aⅴ视频 | 丁香六月婷婷开心 | 日韩欧美高清一区二区三区 | 激情视频免费观看 | 国产精品9区 | 亚洲成人免费在线 | 国产精品国产亚洲精品看不卡 | 亚洲性xxxx | 91九色成人 | 在线观看中文字幕网站 | 亚洲国产精品久久久 | 奇米影视四色8888 | 国产精品福利无圣光在线一区 | 中文字幕亚洲精品日韩 | 2021国产在线视频 | 久久久久久综合网天天 | 中文字幕永久在线 | 婷婷草| 一区二区三区高清不卡 | 韩国av免费看 | 午夜精品久久久久久久久久 | 911亚洲精品第一 | 国产啊v在线观看 | 91看片淫黄大片一级在线观看 | 99国产免费网址 | 五月婷婷婷婷婷 | 国产一性一爱一乱一交 | 日韩一级精品 | 精品二区久久 | 色网站在线看 | 天天操夜 | 精品国产自在精品国产精野外直播 | 999一区二区三区 | 99re6热在线精品视频 | 成人网大片 | 丁香九月婷婷 | 久精品视频 | 亚洲视频久久久久 | 精品影院 | 999精品视频 | 中文字幕在线观看视频一区 | 观看免费av | 99精品一区二区 | 成人久久免费视频 | 综合精品在线 | 亚洲区精品视频 | 99视频久久| 日韩av有码在线 | 久青草视频在线观看 | 国产一区在线视频播放 | 亚洲欧美经典 | 超碰在线免费福利 | 精品欧美在线视频 | 日韩乱码在线 | 狠狠的干狠狠的操 | 日韩欧三级 | 中文字幕精品一区二区三区电影 | 亚洲精品久久久久久久不卡四虎 | 一区二区三区四区精品视频 | 国产精品视频免费观看 | 亚洲精品美女久久久久网站 | 欧美性生活小视频 | 久久久国产一区二区三区 | 最近免费观看的电影完整版 | 精品欧美一区二区在线观看 | 麻豆精品视频在线 | 日韩剧情| 91精品久久久久久久久 | 国产裸体bbb视频 | 国产中文字幕视频在线 | www.eeuss影院av撸 | 亚洲免费在线观看视频 | 亚洲国产99 | 91污在线 | av不卡中文字幕 | 成人午夜影院在线观看 | 亚洲电影图片小说 | 久久99免费| 精品国产中文字幕 | 中文字幕第一页在线 | 欧美一级黄色片 | 国产偷v国产偷∨精品视频 在线草 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 欧美激情精品久久久 | 国产精品久久久久9999吃药 | 国内精品国产三级国产aⅴ久 | 婷婷久久网 | 天天综合婷婷 | 亚洲天堂网视频在线观看 | 高清av免费看 | 久久国产精品久久久久 | 天天干天天干天天干天天干天天干天天干 | 日韩a在线播放 | 日韩一区二区免费视频 | 日本福利视频在线 | 国产精品18久久久久久不卡孕妇 | 色婷婷色 | 久久久久免费网站 | 日本久久久久久 | 国产成人一区二区精品非洲 | 婷婷五月情 | 国产精品原创av片国产免费 | 亚洲日本一区二区在线 | 国产精品18videosex性欧美 | 欧美日韩一区二区视频在线观看 | 久草视频手机在线 | 精品久久久久免费极品大片 | 在线影院中文字幕 | 91精品国产自产91精品 | 国产 日韩 在线 亚洲 字幕 中文 | 天天搞天天干天天色 | 三级黄色a | 欧美日韩伦理一区 | 欧美一级淫片videoshd | 国产成人99av超碰超爽 | 亚洲天堂网在线视频 | 午夜视频在线网站 | 精品久久久久久久久久久久久 | 四虎永久网站 | 欧美91精品久久久久国产性生爱 | 丁香六月激情婷婷 | 国产综合精品一区二区三区 | 国内精品久久久久久久影视简单 | 欧美成人精品三级在线观看播放 | 又黄又刺激又爽的视频 | 国产精品理论视频 | 久久精品8 | 国产中文字幕大全 | 久久激情精品 | 国产精品一区二区免费视频 | 超碰在线网 | av福利在线看 | 91在线91拍拍在线91 | 三级黄色免费 | 国产玖玖精品视频 | 日韩精品1区2区 | 日本99干网| 国产一区二区三区高清播放 | 久久久人人爽 | 婷婷丁香色 | 中文字幕在线观看第三页 | 一区二区三区在线观看免费 | 人人精品久久 | 国产香蕉在线 | 色资源二区在线视频 | 欧美一级艳片视频免费观看 | 超碰人在线 | 国产精品成人一区二区三区吃奶 | 日韩一区二区在线免费观看 | 性色av免费观看 | 色婷五月天| 成人国产精品久久久春色 | 伊人手机在线 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产一区二区在线免费播放 | 国产精品一区一区三区 | bbbbb女女女女女bbbbb国产 | 国产视频2| 国产九九九九九 | 久草在线观看资源 | 97在线视频网站 | 福利一区在线 | 91高清视频 | 91精品啪在线观看国产81旧版 | 久久视频这里只有精品 | 精品视频久久 | 天天天天色射综合 | www.com久久久 | 毛片随便看 | 99精品国产兔费观看久久99 | 久色小说 | 国产一区二区在线免费观看 | 四虎国产精品免费 | 深爱激情综合 | 91九色视频在线播放 | 国产美腿白丝袜足在线av | 日日精品 | 久久色在线播放 | 久久99精品久久久久久三级 | 免费一级片在线 | 中文字幕国产精品一区二区 | 最新av在线免费观看 | av在线免费网站 | 国内三级在线观看 | 人人干天天射 | 久草在线视频在线观看 | 日韩av中文字幕在线 | 波多野结衣一区二区三区中文字幕 | 91一区啪爱嗯打偷拍欧美 | 韩国在线一区 | 视频一区二区在线观看 | 日韩激情综合 | 日日夜夜狠狠干 | 天天摸夜夜操 | 成人网在线免费视频 | 欧美日韩二三区 | 国产精品一区二区中文字幕 | www.com久久 | 久久综合给合久久狠狠色 | 久草在线免费看视频 | 六月婷婷久香在线视频 | 91精品视频免费观看 | av天天草 | 国色天香第二季 | 黄色一级大片在线免费看产 | 色亚洲网 | 狠狠色伊人亚洲综合网站色 | 99精品视频免费看 | 国产精品6999成人免费视频 | 久久久久麻豆v国产 | 亚洲一区二区精品视频 | www.99久久.com | 欧美日韩综合在线观看 | 婷婷丁香花| 日韩精品观看 | 久久精品这里都是精品 | 免费黄色看片 | 中文字幕欧美日韩va免费视频 | 国产999视频 | 深夜福利视频一区二区 | 午夜影院先 | 色多多污污在线观看 | 久久久一本精品99久久精品 | 四虎成人免费观看 | 91精品国产福利 | 五月在线 | 久久精品久久99 | 国产成人区 | 亚洲三级网站 | 免费在线观看黄色网 | 麻豆免费精品视频 | 又黄又刺激 | 视频一区二区国产 | 在线观看韩国av | 97在线精品| 欧美一级免费 | 91影视成人| 男女免费视频观看 | 亚洲电影久久久 | 激情小说 五月 | 国产专区视频 | 91成人精品一区在线播放69 | 国产精品成人自产拍在线观看 | 香蕉久久久久久久 | 一级黄毛片 | 久久精品牌麻豆国产大山 | 亚洲 成人 欧美 | 日日爱av | 色人久久 | 激情视频在线观看网址 | av中文字幕在线看 | 国产精品欧美一区二区三区不卡 | 国产精品久久久毛片 | 日b视频国产 | 日韩专区在线播放 | 91成人网在线 | 国产精品一区二区果冻传媒 | 91色影院 | 色多视频在线观看 | 亚洲午夜激情网 | 天天操天天干天天干 | 久草久热 | 亚洲一区二区精品 | 五月婷丁香 | 三级黄色三级 | 久久精品一区二区三区国产主播 | 亚洲精品 在线视频 | 国产网站色 | 在线日韩一区 | 欧美在线观看禁18 | 亚洲婷婷在线 | 精品国产免费一区二区三区五区 | 欧美最猛性xxxx | 天天天天色射综合 | 黄色av成人在线 | 狠狠狠色丁香婷婷综合久久五月 | 91在线看网站| 免费看十八岁美女 | 99精品视频观看 | 午夜久久久影院 | 亚洲精品五月天 | 亚洲精选视频免费看 | 成人免费视频视频在线观看 免费 | 激情综合国产 | 久久99久久99精品免视看婷婷 | 亚洲免费av一区二区 | www.夜色321.com | 中文字幕在线免费看 | 久久久精品国产一区二区 | 91秒拍国产福利一区 | 国产小视频在线看 | 久草9视频 | 国产精品亚洲成人 | 久久久久久久久影视 | 婷婷色站| 欧美一区二区三区激情视频 | 成年人免费在线观看 | 国产精品久久久久久av | 操久久免费视频 | 国产一区av在线 | 久久精品美女视频 | 青青河边草免费直播 | 97超碰精品 | 国产精品久久久久久久久久久久午夜 | 久久激情五月激情 | 午夜神马福利 | 免费网站黄 | 欧美aa在线 | www.国产在线观看 | 国产免码va在线观看免费 | 99精品热视频 | 色婷婷伊人 | 久久五月婷婷丁香 | 国产一区二区手机在线观看 | 涩涩资源网 | 伊人久久国产精品 | 精品欧美小视频在线观看 | 成人a视频在线观看 | 人人干人人草 | 午夜av网站 | 久久久午夜精品理论片中文字幕 | 91在线视频观看免费 | 99久久毛片 | 丝袜美腿av | 中文字幕在线观看第一区 | 国产精品第十页 | 99国产视频在线 | 国产一级二级在线 | www.天天操.com| 99在线观看免费视频精品观看 | 欧美日韩精品影院 | 国产一级片久久 | 狠狠88综合久久久久综合网 | 欧美精彩视频在线观看 | 国产精品毛片一区视频播不卡 | 日韩中文在线电影 | 国产色女人 | a天堂一码二码专区 | 国产一级片一区二区三区 | 五月婷影院| av色网站 | 中文一区在线 | 在线小视频你懂得 | 亚洲成人黄 | av一区二区三区在线观看 | 麻豆视频免费 | 欧美日韩一级久久久久久免费看 | 天天爱天天操天天射 | 人人干网站 | 婷婷视频在线播放 | 九九久久婷婷 | 中文字幕在线播放第一页 | www.久久久.com | 久久艹国产 | 亚洲天堂在线观看完整版 | 色wwwww| 成人精品影视 | 色大片免费看 | 九色最新网址 | 婷婷丁香激情五月 | 久久96国产精品久久99漫画 | 黄色一级大片在线免费看国产一 | 四虎小视频 | 国产视频亚洲视频 | 亚洲电影久久久 | 九色精品免费永久在线 | 国产色一区 | 久精品视频免费观看2 | 高潮久久久久久 | 国内免费的中文字幕 | av午夜电影 | 亚洲高清视频在线观看免费 | 亚洲国产成人在线播放 | 在线之家免费在线观看电影 | 麻豆视频在线免费看 | 狠色在线| 丁香六月综合网 | 麻豆视频91 | 超碰人人在线观看 | 久草在线免费电影 | 欧美一二三区播放 | 天天爱天天操天天干 | 欧美性受极品xxxx喷水 | 韩国一区二区三区视频 | 色之综合网 | 日韩大片在线观看 | 91av在线不卡 | 91在线视频| 色综合色综合色综合 | 91av精品 | 国产精品免费久久久久久久久久中文 | 久久精品一区八戒影视 | 黄色在线观看污 | 九9热这里真品2 | 91在线你懂的 | 91麻豆精品国产91久久久使用方法 | 成人a免费 | 久久久久欠精品国产毛片国产毛生 | 国产99久| 亚洲毛片久久 | 伊人天天狠天天添日日拍 | 五月婷婷激情综合网 | 免费a视频 | 在线观看国产中文字幕 | 中文字幕av网站 | 日本三级大片 | 日韩精品黄 | 国产系列在线观看 | 黄色中文字幕在线 | 人人澡人人爽欧一区 | 中文字幕在线国产 | 成人免费大片黄在线播放 | 精品国产一二三 | 欧美吞精| 欧美精品在线观看 | 超碰免费在线公开 | 久久免费视频2 | 成人xxxx| 久久午夜电影网 | 免费在线观看av网站 | 中文字幕在线看片 | 超碰夜夜 | 91av网站在线观看 | 国产成人精品一区二区三区福利 | 欧美日韩一区二区三区视频 | 涩涩网站在线观看 | 欧美性色综合网站 | 成人免费看片98欧美 | 欧美精品乱码久久久久久按摩 | 高清在线一区 | 天天色天天操综合网 | 91九色在线视频观看 | 久久久久女教师免费一区 | 视频国产一区二区三区 | 久久激情精品 | 国产日韩在线观看一区 | 天天做综合网 | 亚洲精品美女久久 | 久久噜噜少妇网站 | 91影视成人 | 日韩精品一区电影 | 在线视频区| 96视频免费在线观看 | 久久黄页 | 久久久麻豆视频 | 人人玩人人添人人澡97 | 日韩三区在线 | 欧洲精品视频一区 | 成人av网站在线播放 | 一级免费av | 国产精品免费小视频 | 国内免费久久久久久久久久久 | 国产玖玖在线 | 国产在线欧美日韩 | 视频一区视频二区在线观看 | 日本天天色 | 亚洲视频久久久久 | 一区二区三区高清不卡 | 天天干,天天射,天天操,天天摸 | 日韩高清在线一区二区三区 | av免费电影在线观看 | 日韩中文字幕电影 | 国产精品福利在线播放 | av噜噜噜在线播放 | 久久少妇av | 五月激情站| 深夜免费网站 | 在线亚洲欧美视频 | 97在线观看免费高清完整版在线观看 | 色播六月天 | 国产成人一区二区三区影院在线 | 91香蕉亚洲精品 | 久久免费视频4 | 尤物九九久久国产精品的分类 | 亚洲免费婷婷 | 成人久久久久久久久久 | 国产在线播放不卡 | 欧美污网站 | 在线看片一区 | 精品久久久免费 | 99电影456麻豆 | 天天综合亚洲 | 成年人黄色在线观看 | av手机版 | 久久999久久 | 超碰99在线| 一区二区三区高清 | 99精品黄色片免费大全 | 日韩久久视频 | 久久久免费看视频 | 久久久69| 久久精品久久99 | av在线进入 | 久久全国免费视频 | 久久国产剧场电影 | 99久久er热在这里只有精品15 | 97手机电影网 | 日本中文字幕电影在线免费观看 | 在线小视频 | 91视频a | a√资源在线 | 一区二区三区视频在线 | 午夜精品在线看 | 国产又粗又长的视频 | 99久久99热这里只有精品 | 中文字幕免费久久 | 99热这里 | 免费观看mv大片高清 | 国产精品无 | 色偷偷av男人天堂 | 国产精品久久久久久久久久99 | 三级免费黄 | 热久精品 | 一区二区欧美在线观看 | 国产一区二区三区四区大秀 | 深爱激情五月综合 | 亚洲精品乱码久久 | 国产在线p | 国产资源在线观看 | 蜜桃av久久久亚洲精品 | 最新高清无码专区 | 激情五月激情综合网 | 91成人短视频在线观看 | 久久精品国产美女 | 激情av资源 | 99在线热播精品免费 | 99综合久久| 看片一区二区三区 | 天天操天天拍 | 日韩欧美精品一区二区三区经典 | 亚洲日本欧美在线 | 免费精品在线 | 在线免费色视频 | 久久99国产一区二区三区 | 亚洲91中文字幕无线码三区 | 中文字幕在线播放日韩 | 中文字幕丝袜制服 | 久久96国产精品久久99软件 | 亚洲激情视频在线 | 久草电影在线观看 | 狠狠网| 免费午夜网站 | 婷婷久久一区二区三区 | 亚洲在线精品视频 | 亚洲韩国一区二区三区 | 13日本xxxxxⅹxxx20 | 激情av综合 | 国产福利一区二区三区视频 | 国产精品久久久精品 | 中文字幕丝袜 | 激情偷乱人伦小说视频在线观看 | 久久精品国产免费 | 国产色女 | 色噜噜在线观看视频 | 69视频永久免费观看 | 色综合天天色 | 色综合久久88色综合天天人守婷 | 国产黄色精品在线 | 日日碰狠狠躁久久躁综合网 | 成人免费网站视频 | 99视频这里只有 | 精品一二三四五区 | 久久艹在线观看 | 免费一级特黄毛大片 | 亚洲精品视频中文字幕 | 国产在线观看一区 | 在线免费观看视频 | 91亚洲精品久久久 | av中文在线影视 | 在线观看亚洲国产精品 | 欧美日韩国产精品一区二区 | 午夜精品久久久久久久久久久久 | 中文字幕在线观看完整 | 国产精品女视频 | 中文字幕在线免费播放 | 91看片在线观看 | 久久精品一区二区三区中文字幕 | 8x成人免费视频 | 在线小视频你懂的 | 久久99精品国产麻豆婷婷 | 天天久久夜夜 | 久久久久久久免费看 | 国产视频黄 | 欧美精品在线一区二区 | 青青河边草免费直播 | 在线超碰av | 在线日韩亚洲 | 免费 在线 中文 日本 | 国产中文字幕视频在线观看 | 91免费观看国产 | 中文字幕在线观看免费高清电影 | 日韩91在线 | 中文字幕在线观看的网站 | 天天做日日做天天爽视频免费 | 狠狠干免费 | 中文字幕超清在线免费 | 亚洲综合一区二区精品导航 | 亚洲成av人片在线观看www | 久久亚洲影院 | 久久久久久久久久久高潮一区二区 | 久久综合九色欧美综合狠狠 | 综合激情| 国产精品视频观看 | 久久婷婷激情 | 日韩美av在线 | 精品国产一区二区三区久久影院 | 久草免费看 | .国产精品成人自产拍在线观看6 | 日韩区在线观看 | av超碰在线观看 | 四虎影院在线观看av | 中文资源在线观看 | 亚洲黄色免费在线看 | 久久综合影视 | 麻豆91视频 | 九九热只有精品 | 久久精品综合 | 91精品在线看 | 999久久a精品合区久久久 | 在线国产小视频 | 国产香蕉97碰碰碰视频在线观看 | 91九色精品国产 | 久久综合久久伊人 | 亚洲 综合 激情 | 99精品热视频 | 精品99久久 | 国产成人亚洲精品自产在线 | av免费网站 | 蜜桃视频在线视频 | 色99在线| 天天草综合 | 国产第一页在线观看 | 就要色综合 | 激情综合久久 | 狠狠色综合网站久久久久久久 | 黄在线免费看 | 男女免费av | 一本色道久久综合亚洲二区三区 | 怡红院成人在线 | 97在线公开视频 | 国产精品一区二区三区观看 | 久久综合成人网 | 国产91区 | 久久久999精品视频 国产美女免费观看 | 夜夜澡人模人人添人人看 | 人人澡超碰碰97碰碰碰软件 | 黄色毛片在线看 | 97超碰伊人 | 国产精品嫩草69影院 | 91精品免费在线观看 | 天天做天天爱夜夜爽 | av不卡免费在线观看 | 99亚洲精品在线 | 国产精品欧美一区二区三区不卡 | 成人影片在线播放 | 中文字幕第一页av | 天天干,天天射,天天操,天天摸 | 超级碰碰视频 | 一区精品在线 | 久久大视频 | 美女网站在线看 | 国产高清免费视频 | 天天操夜夜叫 | 久久成人亚洲欧美电影 | av丁香花 | 五月天狠狠操 | 精品人人人人 | 国产香蕉97碰碰碰视频在线观看 | 成人黄色电影在线播放 | 国产成人一二三 | 三日本三级少妇三级99 | 国产不卡片| a天堂最新版中文在线地址 久久99久久精品国产 | 成人动漫一区二区三区 | 免费激情网 | 久久久www成人免费毛片麻豆 | 超碰在线亚洲 | 亚洲伊人av | 亚洲一级片免费观看 | 日韩午夜精品 | 国产成人久久精品一区二区三区 | 久久毛片网站 | 超碰97人人在线 | 97干com| 日韩啪啪小视频 | 国产精品免费观看久久 | 国产精品第一 | 国产精品久久久久久久毛片 | 日韩二区三区在线 | 美女搞黄国产视频网站 | 日韩高清一区 | 综合久久婷婷 | 久久精品亚洲一区二区三区观看模式 | 激情网婷婷 | 97色在线| www.av小说| 日韩高清毛片 | 国产精品成人一区二区 | 夜夜夜夜操 | 激情开心色 | 久久66热这里只有精品 | 黄色免费网| av大全在线免费观看 | 久久久精品欧美一区二区免费 | 国产黄色视 | 91亚·色 | 亚洲四虎在线 | 午夜天使 | 久久看片网 | 日韩在线观看免费 | 国产资源站| 久久人人爽人人人人片 | 在线成人一区 | 最近免费中文字幕 | av片一区二区 | 欧美综合在线视频 | 国产精品久久久久久一区二区三区 | 日日骑 | 国产一区二区免费 | 天天躁日日躁狠狠躁av麻豆 | 午夜在线免费视频 | 日韩大片免费在线观看 | 在线看片a | 中文在线a天堂 | 中文字幕一区二区三区在线播放 | 中文字幕精品三级久久久 | 91自拍91| 国产精品一区二区三区视频免费 | 色综合久久久久综合体桃花网 | 99免费在线 | av不卡网站 | 成人日批视频 | 五月天激情综合 | 9久久精品 | 人人爱天天操 | 天天操天天操天天操天天 | www.91av在线| 91成人免费在线 | 一区二区视频在线观看免费 | 日日爽 | 亚洲精品999| 噜噜色官网 | 中文字幕国产一区 | 久久午夜精品影院一区 | 特级毛片网站 | 欧美大片在线观看一区 | 一区在线电影 | 亚洲精品在线观看免费 | 97免费在线观看视频 | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲一区不卡视频 | 欧美激情综合五月色丁香 | 国产精品麻 | 91麻豆网 | 久久99视频免费 | 激情欧美一区二区三区免费看 | 国产精品九九久久久久久久 | 在线播放日韩av | 一区二区三区免费 | 亚洲成人频道 | 久久av福利 | 久久久久久久久久久电影 | 狠狠色2019综合网 | 九九精品久久 | 久久久久欧美精品 | 香蕉视频在线免费看 |