精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

圖解:進(jìn)程怎么綁定 CPU

系統(tǒng) Linux
昨天在群里有朋友問:把進(jìn)程綁定到某個 CPU 上運行是怎么實現(xiàn)的。首先,我們先來了解下將進(jìn)程與 CPU 進(jìn)行綁定的好處。

 

昨天在群里有朋友問:把進(jìn)程綁定到某個 CPU 上運行是怎么實現(xiàn)的。

首先,我們先來了解下將進(jìn)程與 CPU 進(jìn)行綁定的好處。

進(jìn)程綁定 CPU 的好處:在多核 CPU 結(jié)構(gòu)中,每個核心有各自的L1、L2緩存,而L3緩存是共用的。如果一個進(jìn)程在核心間來回切換,各個核心的緩存命中率就會受到影響。相反如果進(jìn)程不管如何調(diào)度,都始終可以在一個核心上執(zhí)行,那么其數(shù)據(jù)的L1、L2 緩存的命中率可以顯著提高。

所以,將進(jìn)程與 CPU 進(jìn)行綁定可以提高 CPU 緩存的命中率,從而提高性能。而進(jìn)程與 CPU 綁定被稱為:CPU 親和性。

設(shè)置進(jìn)程的 CPU 親和性

前面介紹了進(jìn)程與 CPU 綁定的好處后,現(xiàn)在來介紹一下在 Linux 系統(tǒng)下怎么將進(jìn)程與 CPU 進(jìn)行綁定的(也就是設(shè)置進(jìn)程的 CPU 親和性)。

Linux 系統(tǒng)提供了一個名為 sched_setaffinity 的系統(tǒng)調(diào)用,此系統(tǒng)調(diào)用可以設(shè)置進(jìn)程的 CPU 親和性。我們來看看 sched_setaffinity 系統(tǒng)調(diào)用的原型: 

  1. int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask); 

下面介紹一下 sched_setaffinity 系統(tǒng)調(diào)用各個參數(shù)的作用:

  •  pid:進(jìn)程ID,也就是要進(jìn)行綁定 CPU 的進(jìn)程ID。
  •  cpusetsize:mask 參數(shù)所指向的 CPU 集合的大小。
  •  mask:與進(jìn)程進(jìn)行綁定的 CPU 集合(由于一個進(jìn)程可以綁定到多個 CPU 上運行)。

參數(shù) mask 的類型為 cpu_set_t,而 cpu_set_t 是一個位圖,位圖的每個位表示一個 CPU,如下圖所示:

例如,將 cpu_set_t 的第0位設(shè)置為1,表示將進(jìn)程綁定到 CPU0 上運行,當(dāng)然我們可以將進(jìn)程綁定到多個 CPU 上運行。

我們通過一個例子來介紹怎么通過 sched_setaffinity 系統(tǒng)調(diào)用來設(shè)置進(jìn)程的 CPU 親和性: 

  1. #define _GNU_SOURCE  
  2. #include <sched.h>  
  3. #include <stdio.h>  
  4. #include <string.h>  
  5. #include <stdlib.h>  
  6. #include <unistd.h>  
  7. #include <errno.h>  
  8. int main(int argc, char **argv)  
  9.  
  10.     cpu_set_t cpuset;  
  11.     CPU_ZERO(&cpuset);    // 初始化CPU集合,將 cpuset 置為空  
  12.     CPU_SET(2, &cpuset);  // 將本進(jìn)程綁定到 CPU2 上  
  13.     // 設(shè)置進(jìn)程的 CPU 親和性  
  14.     if (sched_setaffinity(0, sizeof(cpuset), &cpuset) == -1) {  
  15.         printf("Set CPU affinity failed, error: %s\n", strerror(errno)); 
  16.          return -1;   
  17.     }  
  18.     return 0;  

CPU 親和性實現(xiàn)

知道怎么設(shè)置進(jìn)程的 CPU 親和性后,現(xiàn)在我們來分析一下 Linux 內(nèi)核是怎樣實現(xiàn) CPU 親和性功能的。

本文使用的 Linux 內(nèi)核版本為 2.6.23

Linux 內(nèi)核為每個 CPU 定義了一個類型為 struct rq 的 可運行的進(jìn)程隊列,也就是說,每個 CPU 都擁有一個獨立的可運行進(jìn)程隊列。

一般來說,CPU 只會從屬于自己的可運行進(jìn)程隊列中選擇一個進(jìn)程來運行。也就是說,CPU0 只會從屬于 CPU0 的可運行隊列中選擇一個進(jìn)程來運行,而絕不會從 CPU1 的可運行隊列中獲取。

所以,從上面的信息中可以分析出,要將進(jìn)程綁定到某個 CPU 上運行,只需要將進(jìn)程放置到其所屬的 可運行進(jìn)程隊列 中即可。

下面我們來分析一下 sched_setaffinity 系統(tǒng)調(diào)用的實現(xiàn),sched_setaffinity 系統(tǒng)調(diào)用的調(diào)用鏈如下: 

  1. sys_sched_setaffinity()  
  2. └→ sched_setaffinity()  
  3.    └→ set_cpus_allowed()  
  4.       └→ migrate_task() 

從上面的調(diào)用鏈可以看出,sched_setaffinity 系統(tǒng)調(diào)用最終會調(diào)用 migrate_task 函數(shù)來完成進(jìn)程與 CPU 進(jìn)行綁定的工作,我們來分析一下 migrate_task 函數(shù)的實現(xiàn): 

  1. static int  
  2. migrate_task(struct task_struct *p, int dest_cpu, struct migration_req *req)  
  3.  
  4.     struct rq *rq = task_rq(p);  
  5.     // 情況1:  
  6.     // 如果進(jìn)程還沒有在任何運行隊列中  
  7.     // 那么只需要將進(jìn)程的 cpu 字段設(shè)置為 dest_cpu 即可  
  8.     if (!p->se.on_rq && !task_running(rq, p)) {  
  9.         set_task_cpu(p, dest_cpu);  
  10.         return 0;  
  11.     }  
  12.     // 情況2:  
  13.     // 如果進(jìn)程已經(jīng)在某一個 CPU 的可運行隊列中 
  14.     // 那么需要將進(jìn)程從之前的 CPU 可運行隊列中遷移到新的 CPU 可運行隊列中  
  15.     // 這個遷移過程由 migration_thread 內(nèi)核線程完成  
  16.     // 構(gòu)建進(jìn)程遷移請求 
  17.     init_completion(&req->done);  
  18.     req->task = p 
  19.     req->dest_cpudest_cpu = dest_cpu;  
  20.     list_add(&req->list, &rq->migration_queue);  
  21.     return 1;  

我們先來介紹一下 migrate_task 函數(shù)各個參數(shù)的意義:

  •  p:要設(shè)置 CPU 親和性的進(jìn)程描述符。
  •  dest_cpu:綁定的 CPU 編號。
  •  req:進(jìn)程遷移請求對象(下面會介紹)。

所以,migrate_task 函數(shù)的作用就是將進(jìn)程描述符為 p 的進(jìn)程綁定到編號為 dest_cpu 的目標(biāo) CPU 上。

migrate_task 函數(shù)主要分兩種情況來將進(jìn)程綁定到某個 CPU 上:

  •  情況1:如果進(jìn)程還沒有在任何 CPU 的可運行隊列中(不可運行狀態(tài)),那么只需要將進(jìn)程描述符的 cpu 字段設(shè)置為 dest_cpu 即可。當(dāng)進(jìn)程變?yōu)榭蛇\行時,會根據(jù)進(jìn)程描述符的 cpu 字段來自動放置到對應(yīng)的 CPU 可運行隊列中。
  •  情況2:如果進(jìn)程已經(jīng)在某個 CPU 的可運行隊列中,那么需要將進(jìn)程從之前的 CPU 可運行隊列中遷移到新的 CPU 可運行隊列中。遷移過程由 migration_thread 內(nèi)核線程完成,migrate_task 函數(shù)只是構(gòu)建一個進(jìn)程遷移請求,并通知 migration_thread 內(nèi)核線程有新的遷移請求需要處理。

而進(jìn)程遷移過程由 __migrate_task 函數(shù)完成,我們來看看 __migrate_task 函數(shù)的實現(xiàn): 

  1. static int   
  2. __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu)  
  3.  
  4.     struct rq *rq_dest, *rq_src;  
  5.     int ret = 0, on_rq;  
  6.     ...  
  7.     rq_src = cpu_rq(src_cpu);    // 進(jìn)程所在的原可運行隊列  
  8.     rq_dest = cpu_rq(dest_cpu);  // 進(jìn)程希望放置的目標(biāo)可運行隊列  
  9.     ...  
  10.     on_rq = p->se.on_rq;  // 進(jìn)程是否在可運行隊列中(可運行狀態(tài))  
  11.     if (on_rq)  
  12.         deactivate_task(rq_src, p, 0);  // 把進(jìn)程從原來的可運行隊列中刪除  
  13.     set_task_cpu(p, dest_cpu);  
  14.     if (on_rq) {  
  15.         activate_task(rq_dest, p, 0);   // 把進(jìn)程放置到目標(biāo)可運行隊列中  
  16.         ...  
  17.     }  
  18.     ...  
  19.     return ret; 
  20.  

__migrate_task 函數(shù)主要完成以下兩個工作:

  •  把進(jìn)程從原來的可運行隊列中刪除。
  •  把進(jìn)程放置到目標(biāo)可運行隊列中。

其工作過程如下圖所示(將進(jìn)程從 CPU0 的可運行隊列遷移到 CPU3 的可運行隊列中):

如上圖所示,進(jìn)程原本在 CPU0 的可運行隊列中,但由于重新將進(jìn)程綁定到 CPU3,所以需要將進(jìn)程從 CPU0 的可運行隊列遷移到 CPU3 的可運行中。

遷移過程首先將進(jìn)程從 CPU0 的可運行隊列中刪除,然后再將進(jìn)程插入到 CPU3 的可運行隊列中。

當(dāng) CPU 要運行進(jìn)程時,首先從它所屬的可運行隊列中挑選一個進(jìn)程,并將此進(jìn)程調(diào)度到 CPU 中運行。

總結(jié)

從上面的分析可知,其實將進(jìn)程綁定到某個 CPU 只是將進(jìn)程放置到 CPU 的可運行隊列中。

由于每個 CPU 都有一個可運行隊列,所以就有可能會出現(xiàn) CPU 間可運行隊列負(fù)載不均衡問題。如 CPU0 可運行隊列中的進(jìn)程比 CPU1 可運行隊列多非常多,從而導(dǎo)致 CPU0 的負(fù)載非常高,而 CPU1 負(fù)載非常低的情況。

當(dāng)出現(xiàn)上述情況時,就需要對 CPU 間的可運行隊列進(jìn)行重平衡操作,有興趣的可以自行閱讀源碼或參考相關(guān)資料。 

 

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2010-07-21 09:32:03

Linux多核

2021-10-17 19:49:52

CPURedis緩存

2021-02-22 07:58:45

算法進(jìn)程調(diào)度

2023-04-12 15:37:31

Linux系統(tǒng)CPU

2017-02-16 19:39:29

Windows 10System進(jìn)程CPU

2021-06-15 08:02:55

Linux 進(jìn)程管理

2021-09-30 10:45:33

Linux進(jìn)程通信

2022-01-10 17:41:31

內(nèi)存結(jié)構(gòu)PostgreSQL

2021-07-15 08:00:47

系統(tǒng)性能調(diào)優(yōu)cpunuma架構(gòu)

2010-11-26 09:25:28

2021-06-30 21:13:49

CPUCache數(shù)據(jù)

2021-04-20 13:40:56

Epoll IO

2009-06-17 09:06:59

Unix系統(tǒng)資源進(jìn)程

2020-08-03 14:17:34

CPU內(nèi)存系統(tǒng)運維

2020-10-12 14:18:15

CPU技巧代碼

2013-12-17 10:26:14

Windows XPSVCHOST

2019-09-10 08:13:33

LinuxCPU內(nèi)存

2021-09-14 10:21:13

CPU高性能服務(wù)器

2020-03-10 19:34:08

CPU虛擬化調(diào)度

2019-12-16 09:10:38

Linux中央處理器進(jìn)程
點贊
收藏

51CTO技術(shù)棧公眾號

欧美激情视频一区二区三区不卡 | 久久涩涩网站| 久久精品无码av| 国产精品99久久| 亚洲电影第1页| 一区二区三区 日韩| 日本在线视频www鲁啊鲁| 久久先锋影音av| 91亚洲永久免费精品| www.av视频在线观看| 凹凸成人精品亚洲精品密奴| 欧美xxx久久| 三级在线免费看| а√在线中文在线新版| 国产精品电影一区二区| 精品国产一区二区三区四区vr| 在线视频 中文字幕| 黄色亚洲大片免费在线观看| 伊人一区二区三区久久精品| 国产性生活毛片| 祥仔av免费一区二区三区四区| 欧美日韩色婷婷| 国产女人18毛片| 你懂的视频在线免费| 国产成人鲁色资源国产91色综| 国产精品第10页| 亚洲天堂av片| 在线观看日韩av电影| 久久精视频免费在线久久完整在线看 | 欧美日韩国产综合在线| 精品久久无码中文字幕| 久久国产人妖系列| 国产精品欧美在线| 精品国产xxx| 亚洲免费高清| 久久人91精品久久久久久不卡| 成人免费视频网站入口::| 成人午夜国产| 中文字幕国产亚洲| wwwwxxxx国产| 日韩欧美影院| 日韩的一区二区| www.555国产精品免费| 亚洲大奶少妇| 欧美一级欧美三级在线观看 | 国产成人免费在线视频| 成人黄色网免费| 国产精品国产三级国产普通话对白 | 久草精品视频| 精品久久久久久久久久久院品网| www.欧美激情.com| 精品国产亚洲一区二区三区大结局| 欧美人动与zoxxxx乱| 91看片在线免费观看| 成人午夜sm精品久久久久久久| 在线观看av一区| 美女黄色片视频| 手机看片久久| 欧美亚洲日本一区| 中文字幕网av| 伊人久久综合网另类网站| 在线播放国产精品二区一二区四区| 天天看片天天操| 久久久久毛片免费观看| 日韩欧美黄色影院| 国产极品一区二区| 最近国产精品视频| 在线看福利67194| 18精品爽国产三级网站| 日韩免费av| 欧美成人免费视频| 日韩毛片在线播放| 天堂久久久久va久久久久| 国产精品久久久久久久电影| 中文字幕一区二区三区四区视频| 极品少妇一区二区三区精品视频 | 欧美激情精品久久久久久小说| 九九热线视频只有这里最精品| 欧美午夜电影网| 久久久精品视频国产| 风间由美中文字幕在线看视频国产欧美| 亚洲国产第一页| 熟女高潮一区二区三区| 欧美xxxxx视频| 欧美激情一区二区三级高清视频| 国产精品久久久久久久妇| 可以免费看不卡的av网站| 国产专区精品视频| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 在线播放第一页| 国产aⅴ精品一区二区三区久久| 在线观看视频99| 久草中文在线视频| 久久久水蜜桃av免费网站| 国产日韩欧美视频在线| 免费观看的毛片| 欧美激情一区二区在线| 欧美一区二区三区综合| 老司机成人影院| 日韩欧美一级二级三级| 日韩在线免费观看av| 午夜精品久久99蜜桃的功能介绍| 欧美一区深夜视频| 国产精品综合在线| 国产欧美日韩视频一区二区| japanese在线播放| 日本欧美不卡| 亚洲视频在线观看一区二区| av一区二区三区在线| 一区二区三区免费看| 亚洲欧洲自拍| 日韩免费一区二区| 一本在线免费视频| 亚洲免费一区二区| 成人黄动漫网站免费| 成人免费视频| 色婷婷亚洲精品| 白嫩情侣偷拍呻吟刺激| 午夜av一区| 国产精品精品一区二区三区午夜版| 好吊色在线观看| 亚洲日本欧美天堂| 爱爱爱爱免费视频| 国产传媒欧美日韩成人精品大片| 国产做受高潮69| 精品久久在线观看| 亚洲女同ⅹxx女同tv| 日本三级黄色网址| 精品视频久久| 国产97人人超碰caoprom| 天天操天天射天天舔| 一区二区三区四区不卡视频| caoporm在线视频| 日韩av免费大片| 国产精品96久久久久久又黄又硬| 天堂网www中文在线| 亚洲成av人影院| 中文字幕在线视频播放| 在线欧美日韩| 国产精品一 二 三| 超碰中文在线| 亚洲高清不卡av| 日本在线视频免费| av在线免费不卡| 免费一级特黄特色毛片久久看| 一区二区三区视频免费视频观看网站 | 国产人妻黑人一区二区三区| 黄色日韩精品| 狠狠干一区二区| 亚洲一级少妇| 日韩精品亚洲元码| aaa在线视频| 中文字幕av一区二区三区| 能在线观看的av网站| 日本高清免费电影一区| 国产美女精彩久久| 韩国av网站在线| 精品欧美一区二区久久| 国产精品suv一区二区| 91麻豆免费在线观看| 97视频在线免费播放| 精品成av人一区二区三区| 国产精品免费福利| 岛国成人毛片| 欧美精品一区二区久久久 | 欧美制服丝袜第一页| 一级在线观看视频| 国产一区欧美一区| 国产男女免费视频| 国产免费久久| 成人免费网站在线看| 欧美videos另类精品| 日韩精品在线免费播放| 中文字幕第99页| 亚洲天堂免费在线观看视频| 四虎成人免费视频| 葵司免费一区二区三区四区五区| 亚洲蜜桃在线| 成人偷拍自拍| 国产成人在线播放| 中文字幕在线观看播放| 亚洲精品美女久久久| 伊人久久久久久久久久久久| 成人欧美一区二区三区小说 | 一级黄色大片免费观看| 亚洲精品国产精华液| 一女三黑人理论片在线| 久久精品噜噜噜成人av农村| 青青在线视频免费观看| 国产一区二区在线| av免费精品一区二区三区| 婷婷激情一区| 久久久久中文字幕| 在线观看国产原创自拍视频| 欧美xxxxx牲另类人与| 亚洲不卡视频在线观看| 亚洲精品日日夜夜| 国产亚洲精品熟女国产成人| 国产成人亚洲精品青草天美| 男女av免费观看| 亚洲电影影音先锋| 欧洲一区二区在线观看| 99久久香蕉| 成人激情免费在线| 欧美大胆成人| 久久久久久久一区二区| 日本中文字幕在线看| 日韩经典第一页| 亚洲AV无码国产精品午夜字幕 | 亚洲美女淫视频| 免费观看av网站| 成人午夜电影网站| 黄色a级三级三级三级| 日韩va亚洲va欧美va久久| av日韩一区二区三区| 97精品国产一区二区三区| 久久综合中文色婷婷| 一区中文字幕电影| 91探花福利精品国产自产在线 | 亚洲欧美日韩综合国产aⅴ| 九九久久九九久久| 日本不卡高清| 日日噜噜噜噜夜夜爽亚洲精品| 国产乱人伦丫前精品视频| 91大片在线观看| 97久久中文字幕| 国产精品一久久香蕉国产线看观看| 国产乱码午夜在线视频| 欧美激情第三页| 性xxxxfjsxxxxx欧美| 中文字幕亚洲综合| 成人影视在线播放| 亚洲社区在线观看| 国产高清av在线| 亚洲色在线视频| 国产在线自天天| 亚洲欧美国产精品va在线观看| 免费观看成年人视频| 精品国产伦一区二区三区观看方式| 国产成人久久精品77777综合 | 欧美日韩国产中文精品字幕自在自线| 麻豆精品一区二区三区视频| 亚洲精选在线视频| 午夜少妇久久久久久久久| 亚洲欧美一区二区不卡| 日韩激情小视频| 日韩美女视频一区| 黄色录像二级片| 亚洲女与黑人做爰| 久久免费视频播放| 亚洲成av人片| 国产又大又黄又粗| 色婷婷av一区二区三区gif| 波多野结衣 久久| 欧美三级视频在线播放| 中文字幕欧美人妻精品一区蜜臀| 欧美日韩一区二区三区高清| 97超碰人人模人人人爽人人爱| 91精品欧美综合在线观看最新| 国产成人免费看一级大黄| 亚洲第一精品夜夜躁人人躁 | 国产亚洲成年网址在线观看| 国产91丝袜美女在线播放| 中文字幕欧美一| 久久久无码精品亚洲国产| 精品久久久久久久中文字幕| 精品免费囯产一区二区三区| 欧美在线视频全部完| 97人妻人人澡人人爽人人精品| 欧美va在线播放| 亚洲 欧美 自拍偷拍| 在线视频日本亚洲性| 性xxxxfjsxxxxx欧美| 欧美亚洲视频一区二区| 欧美黄页免费| 国产伦精品一区二区三区| 欧美美女视频| 免费的av在线| 亚洲伊人网站| 午夜xxxxx| 久久综合色播五月| 多男操一女视频| 午夜精品久久久久久久99樱桃| 青青草视频在线观看免费| 91精品啪在线观看国产60岁| 偷拍自拍在线视频| 日韩视频精品在线| 一二三四视频在线中文| 成人午夜在线影院| 亚洲丝袜啪啪| 欧美日韩dvd| 肉丝袜脚交视频一区二区| 国偷自产av一区二区三区麻豆| 久久蜜桃香蕉精品一区二区三区| 日本福利片在线观看| 欧美午夜精品久久久久久浪潮| 91丨九色丨丰满| 亚洲人成77777在线观看网| 欧美xxxx免费虐| 国产中文字幕亚洲| 久久91麻豆精品一区| 99久久久精品视频| 久久国产精品72免费观看| 国产中文字幕一区二区| 亚洲精品乱码久久久久久日本蜜臀| 精品人妻一区二区三区免费看| 欧美一级生活片| 电影在线高清| 5278欧美一区二区三区| 亚洲成人偷拍| 四虎影院一区二区| 老司机午夜精品视频| 日本少妇xxxx| 一区二区三区自拍| 国产又粗又大又爽| 国产亚洲精品高潮| 麻豆视频在线看| 国产精品一区二区三区观看| 欧美独立站高清久久| 国产精品第12页| www.欧美日韩| 国产精久久久久久| 精品少妇一区二区三区 | 999视频精品| 亚洲不卡视频在线| 久久精品夜夜夜夜久久| www.av麻豆| 亚洲国产精品资源| 黄视频在线免费看| 成人影片在线播放| 欧美日本国产| 亚洲熟女乱综合一区二区| 中文字幕综合网| 国产巨乳在线观看| 久久夜色撩人精品| 精品一区二区三区亚洲| 综合视频在线观看| 激情文学综合丁香| 看免费黄色录像| 678五月天丁香亚洲综合网| 日本电影在线观看网站| 成人福利在线观看| 在线精品国产| 蜜桃色一区二区三区| 亚洲福利电影网| 香港一级纯黄大片| 欧美在线免费视频| 国产成人手机高清在线观看网站| 国产极品美女高潮无套久久久| 久久久久青草大香线综合精品| 国产精品久久久久久久久久精爆| 亚洲热线99精品视频| 成人午夜sm精品久久久久久久| 在线观看一区欧美| 国产激情一区二区三区| 精品少妇一二三区| 日韩第一页在线| 亚洲四虎影院| 中文字幕久精品免| 国产91精品露脸国语对白| 日本天堂在线视频| 亚洲网站在线播放| 国产精品3区| 国产九色porny| 久久久亚洲精品石原莉奈 | 日韩大尺度黄色| 亚洲国产精品视频一区| 精品亚洲成av人在线观看| 青青草激情视频| 亚洲精品久久久久中文字幕欢迎你| 范冰冰一级做a爰片久久毛片| 午夜精品一区二区在线观看| 久久国产麻豆精品| 精品无码一区二区三区电影桃花| 亚洲精品资源美女情侣酒店| 成人国产精品| 人妻夜夜添夜夜无码av| 久久精品一区蜜桃臀影院| 国产精品欧美亚洲| 91av在线看| 亚洲a一区二区三区| 香港三日本8a三级少妇三级99| 一本大道久久a久久精二百 | blacked蜜桃精品一区| 伊人五月天婷婷| 色菇凉天天综合网| 中文字幕在线观看播放| 欧美一区二区高清在线观看| 国产精品一区二区免费不卡| 国产又黄又猛又粗又爽| 欧美裸身视频免费观看| 精品一区毛片| 制服.丝袜.亚洲.中文.综合懂 | 国产精品日韩无码| 97在线视频免费| 久久久久免费av| 黑人巨大精品欧美| 精品少妇一区二区三区日产乱码| 日韩一级二级| 日韩中文字幕在线免费|