成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

硬盤扇區的讀寫函數及其調用路徑
2007-01-26   中國IT實驗室

幾種情況下的調用路徑

1)

8044 "pdflush" c68be034 { } | __ide_do_rw_disk | ide_do_rw_disk | start_request | ide_do_request | do_ide_request | __generic_unplug_device | __elv_add_request | __make_request | generic_make_request | submit_bio | mpage_bio_submit | __mpage_writepage | mpage_writepages | ext2_writepages | do_writepages | __sync_single_inode | __writeback_single_inode | generic_sync_sb_inodes | sync_sb_inodes | writeback_inodes | wb_kupdate | __pdflush | pdflush | kthread | kernel_thread_helper

2)

1288 "kjournald" de850034 { } | __ide_do_rw_disk | ide_do_rw_disk | start_request | ide_do_request | do_ide_request | __generic_unplug_device | generic_unplug_device | blk_backing_dev_unplug | sync_buffer | __wait_on_bit | out_of_line_wait_on_bit | __wait_on_buffer | sync_dirty_buffer | journal_write_commit_record | journal_commit_transaction | kjournald | kernel_thread_helper

3)

4409 "syslog-ng" dccf6034 { } | __ide_do_rw_disk | ide_do_rw_disk | start_request | ide_do_request | do_ide_request | __generic_unplug_device | cfq_start_queueing | cfq_crq_enqueued | cfq_enqueue | cfq_insert_request | __elv_add_request | __make_request | generic_make_request | submit_bio | submit_bh | __block_write_full_page | block_write_full_page | ext3_ordered_writepage | mpage_writepages | do_writepages | __filemap_fdatawrite_range | filemap_fdatawrite | do_fsync | sys_fsync | sysenter_past_esp

4)

448 "kblockd/0" dfe20034 { } | __ide_do_rw_disk | ide_do_rw_disk | start_request | ide_do_request | do_ide_request | cfq_kick_queue | worker_thread | kthread | kernel_thread_helper

希望對分析DISK IO的關系有一點幫助。

CODE://in drivers/ide/ide-disk.c /* * __ide_do_rw_disk() issues READ and WRITE commands to a disk,* using LBA if supported, or CHS otherwise, to address sectors. */

ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq, sector_t block)

{ ide_hwif_t *hwif = HWIF(drive);unsigned int dma = drive->using_dma;u8 lba48 = (drive->addressing == 1) ? 1 : 0;task_ioreg_t command = WIN_NOP;ata_nsector_t nsectors;

nsectors.all = (u16) rq->nr_sectors;

if (hwif->no_lba48_dma && lba48 && dma) { if (block + rq->nr_sectors > 1ULL << 28)

dma = 0;else lba48 = 0;}……

}

熱詞搜索:

上一篇:嵌入式Linux的圖像采集與顯示(下)
下一篇:Linux中消除揚聲器的嘟嘟叫聲

分享到: 收藏
主站蜘蛛池模板: 郭义| 好看头像动漫| 苍兰| 就义诗诗配画| 素人片| 帕罗| 连城诀1-40集全集免费| 小强升职记| 电影名叫《保姆》| 珊特尔·范圣滕| 因性而别| 肢体的诱惑电影| 爱情最美丽 电视剧| dakota johnson| 电影四渡赤水| 傅韵哲| 红海行动2虎鲸行动电影上映时间| 电影《皮埃里诺》免费观看| 金珠玛米赞二胡曲简谱| 在线播放三级| 颂文| 韩义生| 《遇见你之后》电影在线观看| 电视剧狂飙演员名单| 芜湖新闻| 电影土耳其狂欢| 郑柔美个人简介| 挨打的视频| 朱莉安妮全集在线观看免费| 重点监管的危险化工工艺| 朴智勋| 郑艳丽三级| 贵州三日游| 美女xxx69爽爽免费观妞| 韩国电影《致命的诱惑》| 李亚红| 冲出堕落城完整高清版| 神医喜来乐演员表| 珠江电视台直播 珠江频道| 放学我当家| 供货合同|