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

使用 trace-cmd 追蹤內核

系統 Linux
trace-cmd 是一個易于使用,且特性眾多、可用來追蹤內核函數的命令。trace-cmd 命令是一個可以幫助你做到這一點的工具。在這篇文章中,我使用 trace-cmd 來執行我在 ftrace 文章中所做的相同任務。

[[427217]]

trace-cmd 是一個易于使用,且特性眾多、可用來追蹤內核函數的命令。

在 之前的文章 里,我介紹了如何利用 ftrace 來追蹤內核函數。通過寫入和讀出文件來使用 ftrace 會變得很枯燥,所以我對它做了一個封裝來運行帶有選項的命令,以啟用和禁用追蹤、設置過濾器、查看輸出、清除輸出等等。

trace-cmd 命令是一個可以幫助你做到這一點的工具。在這篇文章中,我使用 trace-cmd 來執行我在 ftrace 文章中所做的相同任務。由于會經常參考那篇文章,建議在閱讀這篇文章之前先閱讀它。

安裝 trace-cmd

本文中所有的命令都運行在 root 用戶下。

因為 ftrace 機制被內置于內核中,因此你可以使用下面的命令進行驗證它是否啟用:

  1. # mount | grep tracefs
  2. none on /sys/kernel/tracing type tracefs (rw,relatime,seclabel)

不過,你需要手動嘗試安裝 trace-cmd 命令:

  1. # dnf install trace-cmd -y

列出可用的追蹤器

當使用 ftrace 時,你必須查看文件的內容以了解有哪些追蹤器可用。但使用 trace-cmd,你可以通過以下方式獲得這些信息:

  1. # trace-cmd list -t
  2. hwlat blk mmiotrace function_graph wakeup_dl wakeup_rt wakeup function nop

啟用函數追蹤器

在我 之前的文章 中,我使用了兩個追蹤器,在這里我也會這么做。用 function 啟用你的第一個追蹤器:

  1. $ trace-cmd start -p function
  2.   plugin 'function'

查看追蹤輸出

一旦追蹤器被啟用,你可以通過使用 show 參數來查看輸出。這只顯示了前 20 行以保持例子的簡短(見我之前的文章對輸出的解釋):

  1. # trace-cmd show | head -20
  2. ## tracer: function
  3. #
  4. # entries-in-buffer/entries-written: 410142/3380032 #P:8
  5. #
  6. # _-----=> irqs-off
  7. # / _----=> need-resched
  8. # | / _---=> hardirq/softirq
  9. # || / _--=> preempt-depth
  10. # ||| / delay
  11. # TASK-PID CPU# |||| TIMESTAMP FUNCTION
  12. # | | | |||| | |
  13. gdbus-2606 [004] ..s. 10520.538759: __msecs_to_jiffies <-rebalance_domains
  14. gdbus-2606 [004] ..s. 10520.538760: load_balance <-rebalance_domains
  15. gdbus-2606 [004] ..s. 10520.538761: idle_cpu <-load_balance
  16. gdbus-2606 [004] ..s. 10520.538762: group_balance_cpu <-load_balance
  17. gdbus-2606 [004] ..s. 10520.538762: find_busiest_group <-load_balance
  18. gdbus-2606 [004] ..s. 10520.538763: update_group_capacity <-update_sd_lb_stats.constprop.0
  19. gdbus-2606 [004] ..s. 10520.538763: __msecs_to_jiffies <-update_group_capacity
  20. gdbus-2606 [004] ..s. 10520.538765: idle_cpu <-update_sd_lb_stats.constprop.0
  21. gdbus-2606 [004] ..s. 10520.538766: __msecs_to_jiffies <-rebalance_domains

停止追蹤并清除緩沖區

追蹤將會在后臺繼續運行,你可以繼續用 show 查看輸出。

要停止追蹤,請運行帶有 stop 參數的 trace-cmd 命令:

  1. # trace-cmd stop

要清除緩沖區,用 clear 參數運行它:

  1. # trace-cmd clear

啟用函數調用圖追蹤器

運行第二個追蹤器,通過 function_graph 參數來啟用它。

  1. # trace-cmd start -p function_graph
  2. Plugin 'function_graph'

再次使用 show 參數查看輸出。正如預期的那樣,輸出與第一次追蹤輸出略有不同。這一次,它包括一個函數調用鏈:

  1. # trace-cmd show | head -20
  2. ## tracer: function_graph
  3. #
  4. # CPU DURATION FUNCTION CALLS
  5. # | | | | | | |
  6. 4) 0.079 us | } /* rcu_all_qs */
  7. 4) 0.327 us | } /* __cond_resched */
  8. 4) 0.081 us | rcu_read_unlock_strict();
  9. 4) | __cond_resched() {
  10. 4) 0.078 us | rcu_all_qs();
  11. 4) 0.243 us | }
  12. 4) 0.080 us | rcu_read_unlock_strict();
  13. 4) | __cond_resched() {
  14. 4) 0.078 us | rcu_all_qs();
  15. 4) 0.241 us | }
  16. 4) 0.080 us | rcu_read_unlock_strict();
  17. 4) | __cond_resched() {
  18. 4) 0.079 us | rcu_all_qs();
  19. 4) 0.235 us | }
  20. 4) 0.095 us | rcu_read_unlock_strict();
  21. 4) | __cond_resched() {

使用 stop 和 clear 命令來停止追蹤和清除緩存區:

  1. # trace-cmd stop
  2. # trace-cmd clear

調整追蹤以增加深度

如果你想在函數調用中看到更多的深度,你可以對追蹤器進行調整:

  1. # trace-cmd start -p function_graph --max-graph-depth 5
  2. plugin 'function_graph'

現在,當你將這個輸出與你之前看到的進行比較時,你應該看到更多的嵌套函數調用:

  1. # trace-cmd show | head -20
  2. ## tracer: function_graph
  3. #
  4. # CPU DURATION FUNCTION CALLS
  5. # | | | | | | |
  6. 6) | __fget_light() {
  7. 6) 0.804 us | __fget_files();
  8. 6) 2.708 us | }
  9. 6) 3.650 us | } /* __fdget */
  10. 6) 0.547 us | eventfd_poll();
  11. 6) 0.535 us | fput();
  12. 6) | __fdget() {
  13. 6) | __fget_light() {
  14. 6) 0.946 us | __fget_files();
  15. 6) 1.895 us | }
  16. 6) 2.849 us | }
  17. 6) | sock_poll() {
  18. 6) 0.651 us | unix_poll();
  19. 6) 1.905 us | }
  20. 6) 0.475 us | fput();
  21. 6) | __fdget() {

了解可被追蹤的函數

如果你想只追蹤某些函數而忽略其他的,你需要知道確切的函數名稱。你可以用 list -f 參數來得到它們。例如搜索常見的內核函數 kmalloc,它被用來在內核中分配內存:

  1. # trace-cmd list -f | grep kmalloc
  2. bpf_map_kmalloc_node
  3. mempool_kmalloc
  4. __traceiter_kmalloc
  5. __traceiter_kmalloc_node
  6. kmalloc_slab
  7. kmalloc_order
  8. kmalloc_order_trace
  9. kmalloc_large_node
  10. __kmalloc
  11. __kmalloc_track_caller
  12. __kmalloc_node
  13. __kmalloc_node_track_caller
  14. [...]

下面是我的測試系統中可被追蹤的函數總數:

  1. # trace-cmd list -f | wc -l
  2. 63165

追蹤內核模塊相關的函數

你也可以追蹤與特定內核模塊相關的函數。假設你想追蹤 kvm 內核模塊相關的功能,你可以通過以下方式來實現。請確保該模塊已經加載:

  1. # lsmod | grep kvm_intel
  2. kvm_intel 335872 0
  3. kvm 987136 1 kvm_intel

再次運行 trace-cmd,使用 list 參數,并從輸出結果中,grep 查找以 ] 結尾的行。這將過濾掉內核模塊。然后 grep 內核模塊 kvm_intel ,你應該看到所有與該內核模塊有關的函數。

  1. # trace-cmd list -f | grep ]$ | grep kvm_intel
  2. vmx_can_emulate_instruction [kvm_intel]
  3. vmx_update_emulated_instruction [kvm_intel]
  4. vmx_setup_uret_msr [kvm_intel]
  5. vmx_set_identity_map_addr [kvm_intel]
  6. handle_machine_check [kvm_intel]
  7. handle_triple_fault [kvm_intel]
  8. vmx_patch_hypercall [kvm_intel]
  9.  
  10. [...]
  11.  
  12. vmx_dump_dtsel [kvm_intel]
  13. vmx_dump_sel [kvm_intel]

追蹤特定函數

現在你知道了如何找到感興趣的函數,請用一個例子把這些內容用于時間。就像前面的文章一樣,試著追蹤與文件系統相關的函數。我的測試系統上的文件系統是 ext4

這個過程略有不同;你在運行命令時,不使用 start 參數,而是在 record 參數后面加上你想追蹤的函數的“模式”。你還需要指定你想要的追蹤器;在這種情況下,就是 function_graph。該命令會繼續記錄追蹤,直到你用 Ctrl+C 停止它。所以幾秒鐘后,按 Ctrl+C 停止追蹤:

  1. # trace-cmd list -f | grep ^ext4_
  2.  
  3. # trace-cmd record -l ext4_* -p function_graph
  4. plugin 'function_graph'
  5. Hit Ctrl^C to stop recording
  6. ^C
  7. CPU0 data recorded at offset=0x856000
  8. 8192 bytes in size
  9. [...]

查看追蹤記錄

要查看你之前的追蹤記錄,運行帶有 report 參數的命令。從輸出結果來看,很明顯過濾器起作用了,你只看到 ext4 相關的函數追蹤:

  1. # trace-cmd report | head -20
  2. [...]
  3. cpus=8
  4. trace-cmd-12697 [000] 11303.928103: funcgraph_entry: | ext4_show_options() {
  5. trace-cmd-12697 [000] 11303.928104: funcgraph_entry: 0.187 us | ext4_get_dummy_policy();
  6. trace-cmd-12697 [000] 11303.928105: funcgraph_exit: 1.583 us | }
  7. trace-cmd-12697 [000] 11303.928122: funcgraph_entry: | ext4_create() {
  8. trace-cmd-12697 [000] 11303.928122: funcgraph_entry: | ext4_alloc_inode() {
  9. trace-cmd-12697 [000] 11303.928123: funcgraph_entry: 0.101 us | ext4_es_init_tree();
  10. trace-cmd-12697 [000] 11303.928123: funcgraph_entry: 0.083 us | ext4_init_pending_tree();
  11. trace-cmd-12697 [000] 11303.928123: funcgraph_entry: 0.141 us | ext4_fc_init_inode();
  12. trace-cmd-12697 [000] 11303.928123: funcgraph_exit: 0.931 us | }
  13. trace-cmd-12697 [000] 11303.928124: funcgraph_entry: 0.081 us | ext4_get_dummy_policy();
  14. trace-cmd-12697 [000] 11303.928124: funcgraph_entry: 0.133 us | ext4_get_group_desc();
  15. trace-cmd-12697 [000] 11303.928124: funcgraph_entry: 0.115 us | ext4_free_inodes_count();
  16. trace-cmd-12697 [000] 11303.928124: funcgraph_entry: 0.114 us | ext4_get_group_desc();

追蹤一個特定的 PID

假設你想追蹤與一個進程(PID)有關的函數。打開另一個終端,注意運行中的 shell 的PID:

  1. # echo $$
  2. 10885

再次運行 record 命令,用 -P 選項傳遞PID。這一次,讓終端運行(也就是說,先不要按 Ctrl+C ):

  1. # trace-cmd record -P 10885 -p function_graph
  2. Plugin 'function_graph'
  3. Hit Ctrl^C to stop recording

在 shell 上運行一些命令

移動到另一個終端,在那里你有一個以特定 PID 運行的 shell,并運行任何命令,例如,ls 命令用來列出文件:

  1. # ls
  2. Temp-9b61f280-fdc1-4512-9211-5c60f764d702
  3. tracker-extract-3-files.1000
  4. v8-compile-cache-1000
  5. [...]

移動到你啟用追蹤的終端,按 Ctrl+C 停止追蹤:

  1. # trace-cmd record -P 10885 -p function_graph
  2. plugin 'function_graph'
  3. Hit Ctrl^C to stop recording
  4. ^C
  5. CPU1 data recorded at offset=0x856000
  6. 618496 bytes in size
  7. [...]

在追蹤的輸出中,你可以看到左邊是 PID 和 Bash shell,右邊是與之相關的函數調用。這對于縮小你的追蹤范圍是非常方便的:

  1. # trace-cmd report | head -20
  2.  
  3. cpus=8
  4. <idle>-0 [001] 11555.380581: funcgraph_entry: | switch_mm_irqs_off() {
  5. <idle>-0 [001] 11555.380583: funcgraph_entry: 1.703 us | load_new_mm_cr3();
  6. <idle>-0 [001] 11555.380586: funcgraph_entry: 0.493 us | switch_ldt();
  7. <idle>-0 [001] 11555.380587: funcgraph_exit: 7.235 us | }
  8. bash-10885 [001] 11555.380589: funcgraph_entry: 1.046 us | finish_task_switch.isra.0();
  9. bash-10885 [001] 11555.380591: funcgraph_entry: | __fdget() {
  10. bash-10885 [001] 11555.380592: funcgraph_entry: 2.036 us | __fget_light();
  11. bash-10885 [001] 11555.380594: funcgraph_exit: 3.256 us | }
  12. bash-10885 [001] 11555.380595: funcgraph_entry: | tty_poll() {
  13. bash-10885 [001] 11555.380597: funcgraph_entry: | tty_ldisc_ref_wait() {
  14. bash-10885 [001] 11555.380598: funcgraph_entry: | ldsem_down_read() {
  15. bash-10885 [001] 11555.380598: funcgraph_entry: | __cond_resched() {

試一試

這些簡短的例子顯示了使用 trace-cmd 命令而不是底層的 ftrace 機制,是如何實現既容易使用又擁有豐富的功能,許多內容本文并沒有涉及。要想了解更多信息并更好地使用它,請查閱它的手冊,并嘗試使用其他有用的命令。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-07-27 09:57:24

SQL TraceOracle

2021-11-15 04:00:07

Linux 內核動態

2021-11-14 07:29:55

Linux 內核靜態追蹤Linux 系統

2025-04-02 00:33:00

2025-04-01 02:00:22

2024-09-06 12:24:19

2022-12-05 19:15:12

得物云原生全鏈路

2022-10-10 09:17:43

數據查詢

2018-11-14 10:20:15

SonarQube開源追蹤代碼

2009-07-29 14:12:45

ASP.NET tra

2025-06-09 02:10:00

2011-03-03 10:21:11

Windows事件追蹤

2025-05-15 09:12:27

2022-03-03 12:24:17

暗碼追蹤數字水印打印機

2021-10-06 20:00:08

LinuxLinux內核Kasan

2025-03-07 08:30:00

pwruLinux網絡包追蹤

2011-07-11 13:16:19

SQL TraceSQL Profile

2010-08-06 13:30:31

FlexBuilder

2021-01-11 07:52:30

系統cpu工具

2017-08-02 14:37:31

LinuxKdump內核崩潰
點贊
收藏

51CTO技術棧公眾號

菠萝菠萝蜜在线视频免费观看| 久久精品99北条麻妃| 国产精品tv| 亚洲18色成人| 亚洲国产日韩欧美| 亚洲乱码在线观看| 日韩电影在线一区二区| 欧美高清视频免费观看| 亚洲国产日韩一区无码精品久久久| 爱情电影网av一区二区| 欧美日韩免费网站| 性做爰过程免费播放| 你懂得网站在线| 国产精品一区二区在线观看不卡 | 视频一区三区| 好吊视频一区二区三区| 免费成人av资源网| 欧美一级视频在线观看| 搜索黄色一级片| 国产免费久久| 亚洲国产日韩欧美在线动漫| 亚洲一区二区在线视频观看| 中文av在线全新| 一区二区欧美视频| 中文精品一区二区三区| 国产小视频在线播放| 成人一区二区三区视频在线观看| 国产精品日韩久久久久| 亚洲 欧美 日韩 综合| 欧美在线网址| 日韩视频免费中文字幕| 亚洲区自拍偷拍| 日韩精品a在线观看91| 欧美sm极限捆绑bd| 91香蕉视频在线观看视频| 午夜伦理福利在线| 亚洲成人一区在线| 欧美激情亚洲天堂| 七七久久电影网| 亚洲精品videosex极品| 一区不卡字幕| 午夜激情视频在线| 欧美激情一区在线| 欧美精品中文字幕一区二区| 黄色美女一级片| 国产精品一二三区| 97超碰人人看人人| 国产超碰人人模人人爽人人添| 久久99国内精品| 成人黄色在线观看| 国产视频在线免费观看| 国产一区999| 91在线短视频| 精品人妻伦一区二区三区久久| 韩国av一区二区| 亚洲一区制服诱惑| 亚洲国产剧情在线观看| 国产91富婆露脸刺激对白| 国产成人精品日本亚洲11| 亚洲奶汁xxxx哺乳期| 成人网页在线观看| 久久草.com| 国产视频福利在线| 亚洲国产精品av| 中文字幕久精品免| 在线你懂的视频| 亚洲高清在线精品| 青青在线视频观看| 日本精品网站| 欧美一级搡bbbb搡bbbb| 久久久久中文字幕亚洲精品 | 国产高清不卡| 日本韩国视频一区二区| 亚洲美免无码中文字幕在线 | 91久久久久久久久久久久久| 国产叼嘿视频在线观看| 懂色av一区二区三区蜜臀| 精品网站在线看| av女优在线| 亚洲综合丁香婷婷六月香| 日日橹狠狠爱欧美超碰| www.成人在线视频| 日韩一区二区高清| 97人妻精品一区二区三区免 | 一级片视频播放| 国产馆精品极品| 精品国产乱码一区二区三区四区 | 一区二区三区 欧美| 国产一区精品二区| 日韩精品视频免费| 91高清免费看| 伊人久久成人| 国产精品爽黄69| 囯产精品一品二区三区| 中文字幕欧美日本乱码一线二线 | 麻豆福利在线观看| 欧亚一区二区三区| 精品国产aⅴ一区二区三区东京热| 日韩丝袜视频| 九九精品在线观看| 波多野结衣啪啪| 国产成人一级电影| 午夜精品福利一区二区| 91www在线| 欧美日韩国产首页在线观看| 特级特黄刘亦菲aaa级| 日韩理论电影| 欧美中文在线视频| 亚洲第九十九页| 国产精品视频第一区| 免费国产a级片| 精品国模一区二区三区欧美 | 欧美日韩视频在线第一区| 国产人成视频在线观看| 国产精品久久久久久久免费观看| 性日韩欧美在线视频| 99精品人妻无码专区在线视频区| 国产亚洲综合色| 秋霞无码一区二区| 亚洲码欧美码一区二区三区| 中文字幕日韩欧美在线 | 91精品国产综合久久精品图片| 中文字幕免费看| 亚洲区欧美区| 成人免费视频网站| fc2ppv国产精品久久| 欧美视频自拍偷拍| 无码一区二区三区在线| 国产精品久久久亚洲一区| av成人在线电影| av在线免费网站| 欧美精品第一页| 中文字幕有码在线播放| 久久精品国语| 欧美福利一区二区三区| 欧美男人天堂| 日韩第一页在线| 欧美亚韩一区二区三区| av不卡在线观看| 成人毛片一区二区| 高清日韩欧美| 午夜精品一区二区三区在线视| 性猛交富婆╳xxx乱大交天津| 亚洲男人天堂一区| 先锋资源在线视频| 欧美日韩四区| 国产精品一区在线播放| 国产99在线| 亚洲精品xxx| 六月丁香婷婷综合| 久久久久久久久久电影| 亚洲色精品三区二区一区| 国产aⅴ精品一区二区三区久久| 日韩av三级在线观看| 美女欧美视频在线观看免费| 日本电影亚洲天堂一区| 91视频免费在观看| 精品一区二区免费在线观看| 最新视频 - x88av| 91精品尤物| 66m—66摸成人免费视频| 天堂av中文在线资源库| 色8久久人人97超碰香蕉987| 成人无码av片在线观看| 精品一区二区三区香蕉蜜桃 | 免费看一级黄色| 国产精品系列在线播放| 草b视频在线观看| 亚州综合一区| 国产精品一区电影| av在线app| 亚洲精品久久7777777| 中文字幕av影院| 国产精品久久久久9999吃药| 欧美日韩久久婷婷| 最新亚洲视频| 亚洲精品一品区二品区三品区 | 男男成人高潮片免费网站| 福利网在线观看| 噜噜噜天天躁狠狠躁夜夜精品 | 国产精品久久久久久久久动漫| 女王人厕视频2ⅴk| 久久精品道一区二区三区| 日本女人高潮视频| 日韩大片在线免费观看| 91精品久久久久久| 无遮挡爽大片在线观看视频| 中文字幕亚洲二区| 免费观看成年人视频| 欧美性生活影院| 国产精品theporn动漫| 亚洲国产精品av| 男人的天堂影院| 美国av一区二区| 欧美不卡在线播放| 久久中文字幕二区| 久久99精品久久久久久久久久 | 视频一区中文字幕国产| 干日本少妇视频| 国产尤物久久久| 国产在线视频欧美一区二区三区| 国产一区二区三区影视| 欧美激情一区二区三级高清视频 | 中文字幕高清一区| 国产精品成人99一区无码 | 欧美三级电影一区二区三区| 日韩av在线影院| 国产女无套免费视频| 色老汉av一区二区三区| 福利一区二区三区四区| 亚洲色图制服诱惑| 天堂久久精品忘忧草| 成人av电影免费观看| 91 视频免费观看| 日韩av电影天堂| 丰满少妇被猛烈进入高清播放| 欧美黄色一区| 中文字幕一区综合| 欧美日韩高清| 欧美日韩精品不卡| 欧美自拍视频| 国产精品一区二区三区在线| 日本精品在线播放| 成人写真视频福利网| 99久久er| 国产精品久久久av久久久| 人人草在线视频| 午夜精品一区二区三区在线视频| 色网在线观看| 欧美日韩成人黄色| 少女频道在线观看高清| 久久久成人精品| 国产一区久久精品| 日韩视频欧美视频| 国产三级在线播放| 久久视频精品在线| 麻豆影视在线观看_| 日韩亚洲欧美成人| 欧美三级黄网| 久久久精品中文字幕| 搞黄网站在线观看| 久久精品国产成人| dj大片免费在线观看| 欧美精品日韩www.p站| 成人日韩欧美| 欧美大片在线看| 丁香花在线影院| 国产69精品久久久久99| 国产美女一区视频| 7777精品久久久久久| 在线看片国产福利你懂的| 欧美亚洲日本网站| 性欧美18一19sex性欧美| 国产成人激情视频| 国产精品久久久久久久久免费高清| 国产精品丝袜白浆摸在线| 欧美日韩卡一| 91久色国产| 久久精品色播| 免费观看成人高| 日本不卡二三区| 9l视频自拍9l视频自拍| 国产精品激情| 激情网站五月天| 毛片基地黄久久久久久天堂| 日韩精品视频网址| 成人免费毛片嘿嘿连载视频| 中文字字幕码一二三区| 国产精品网站在线观看| 欧美黑人猛猛猛| 精品日韩美女的视频高清| 欧美人一级淫片a免费播放| 欧美日本一区二区在线观看| 国产富婆一级全黄大片| 亚洲精品成人免费| 超碰免费97在线观看| 伦伦影院午夜日韩欧美限制| av女在线播放| 国产精品视频在线播放| 77成人影视| 午夜精品美女久久久久av福利| 欧美91精品| 日本三区在线观看| 国产二区国产一区在线观看| 人妻丰满熟妇aⅴ无码| 国产精品精品国产色婷婷| 日韩免费观看一区二区| 欧美日韩国产经典色站一区二区三区 | 日韩欧美精品在线视频| 黄色av网站在线看| 欧美精品少妇videofree| 成人黄色免费短视频| 国产成人成网站在线播放青青| 成人影视亚洲图片在线| 精品无码国模私拍视频| 国产一区二区三区免费| 人妻熟女aⅴ一区二区三区汇编| 中文字幕一区二区三中文字幕| 国产精品99无码一区二区| 欧美日韩1区2区| 欧美女v视频| 久久免费少妇高潮久久精品99| 国产激情欧美| 欧美日韩高清在线一区| 亚洲午夜黄色| 思思久久精品视频| 国产午夜精品一区二区三区嫩草| 久久久久久久国产视频| 欧美日韩一本到| 免费a在线观看| 午夜精品在线观看| 日韩高清在线观看一区二区| 亚洲草草视频| 三级欧美在线一区| xxxxxx黄色| 亚洲影院在线观看| 国产精品国产一区二区三区四区| 亚洲人精品午夜在线观看| 成人在线黄色电影| 成人精品水蜜桃| 亚洲色图国产| 亚洲18在线看污www麻豆| 国产日本欧美一区二区| 中文在线第一页| 日韩黄色在线免费观看| 成年男女免费视频网站不卡| 99中文字幕| 国内久久视频| 国产精品亚洲一区二区无码| 亚洲猫色日本管| 国产日本精品视频| 久久婷婷国产麻豆91天堂| 少妇高潮一区二区三区99| 亚洲一区二区三区加勒比 | 欧美久久九九| 国产精品中文久久久久久| 亚洲女人的天堂| 国产成人三级在线播放| 欧美极品少妇全裸体| 91成人在线精品视频| 国产免费一区二区视频| 成人av网在线| 99视频在线看| 亚洲视频欧美视频| 四虎4545www精品视频| 新呦u视频一区二区| 精品一区二区久久| 亚洲综合网在线| 精品国产乱码久久久久久蜜臀| 牛牛在线精品视频| 精品国产乱码久久久久软件| 久久狠狠婷婷| 黄色免费一级视频| 91精品国产入口| 成人影音在线| 九色一区二区| 秋霞午夜鲁丝一区二区老狼| 欧美性猛交xxxx乱大交少妇| 欧美顶级少妇做爰| 午夜在线激情影院| 精品免费日产一区一区三区免费| 午夜宅男久久久| 亚洲毛片亚洲毛片亚洲毛片| 欧美片在线播放| 手机在线免费av| 久久精品美女| 久久成人免费网站| 久久免费播放视频| 国产丝袜精品第一页| 成人国产激情在线| 国产性生活免费视频| 91麻豆国产在线观看| 亚洲视频在线观看免费视频| 美女撒尿一区二区三区| 青青草这里只有精品| 日本激情综合网| 亚洲一区二区偷拍精品| 青青草观看免费视频在线| 国产在线观看一区二区三区| 欧美色图首页| 一区二区三区在线观看免费视频| 欧美一区二区三区白人| 毛片电影在线| 不卡中文字幕在线| 26uuu亚洲综合色欧美| 国产一区二区在线视频观看| 久久理论片午夜琪琪电影网| 精品国产乱码久久久久久蜜坠欲下| 女教师高潮黄又色视频| 色婷婷av一区二区三区gif| a级影片在线观看| 任我爽在线视频精品一| 国产精品69久久久久水密桃 | 日韩一区二区视频在线观看| 正在播放日韩精品| 青青视频免费在线| 欧美国产精品专区| 姝姝窝人体www聚色窝| 91精品视频专区| 日韩中文字幕区一区有砖一区 |