linux_io调度器noop分析

linux_io调度器noop分析

ID:7864966

大小:40.94 KB

页数:29页

时间:2018-03-01

linux_io调度器noop分析_第1页
linux_io调度器noop分析_第2页
linux_io调度器noop分析_第3页
linux_io调度器noop分析_第4页
linux_io调度器noop分析_第5页
资源描述:

《linux_io调度器noop分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux_io调度器noop分析io璋冨害鍣╪oop涓巇eadline婧愮爜绾у垎鏋?1.绯荤粺鎻愪緵鐨勬帴鍙?濡傛灉浣犳墽琛屼竴涓嬩笅闈㈢殑鎿嶄綔cat/sys/block/sda/queue/scheduler浣犱篃璁歌兘鐪嬪埌涓嬮潰鐨勫唴瀹?noop[deadline]cfq杩欒〃绀哄綋鍓嶇郴缁熸敮鎸?绉峣o璋冨害锛歯oopdeadlinecfq锛岃€孾]琛ㄧず涓虹‖鐩榮da閫変腑浜哾eadline濡傛灉浣犳兂鏀瑰彉褰撳墠鐨刬o璋冨害绛栫暐锛屼緥濡備慨鏀规垚noop锛屽彲浠ヨ繖鏍锋搷浣滐細echon

2、oop>/sys/block/sda/queue/scheduler鐒跺悗妫€鏌ヤ竴涓?cat/sys/block/sda/queue/scheduler杩斿洖鐨勭粨鏋?[noop]deadlinecfq2.noop(1)noop鐨勫師鐞?noop寰堢畝鍗曪紝濡傛灉浣犲垰浠巏ernel.org涓笅杞戒簡linux-3.12.5锛屼綘鍙互鍦?block/noop-iosched.c鎵惧埌婧愮爜鍙湁鍖哄尯124琛屻€?鑰岃繖涓皟搴︾畻娉曠殑鏁版嵁缁撴瀯锛?

3、-----------------------

4、------------------

5、----------------------------------------->鍙湁涓€涓垚鍛榪ueue锛屽叾瀹炲氨noop涓淮鎶ょ殑涓€涓猣ifo锛堝厛杩涘厛鍑猴級閾捐〃鐨勯摼琛ㄥご锛屽綋io璇锋眰杩囨潵浜嗭紝灏变細琚姞鍏ュ埌杩欎釜閾捐〃鐨勫悗闈€?鍦ㄩ摼琛ㄥ墠闈㈢殑灏变細琚Щ鍒扮郴缁熺殑璇锋眰闃熷垪(request_queue)涓€傛垜浠潵鐪嬬湅鍏抽敭鐨勪袱涓嚱鏁般

6、€?

7、-----------------------------------------------------------------------------elevator->elevator_data;list_add_tail(&rq->queuelist,&nd->queue);}

8、-------------------

9、---------------------------------------------------------->鐪嬪埌浜唋ist_add_tail浜嗗惂锛岃繖閲屽氨灏嗚姹傚姞鍏ュ埌閾捐〃鐨勫悗闈€?鍐嶆潵鐪嬬湅璇锋眰鏄浣曚粠noop鐨刦ifo閾捐〃绉诲姩鍒扮郴缁熺殑璇锋眰闃熷垪(request_queue)涓殑

10、-----------------------------------------------------------------------------

11、_dispatch(structrequest_queue*q,intforce){structnoop_data*nd=q->elevator->elevator_data;if(!list_empty(&nd->queue)){structrequest*rq;rq=list_entry(nd->queue.next,structrequest,queuelist);list_del_init(&rq->queuelist);elv_dispatch_sort(q,rq);return1;}return

12、0;}

13、----------------------------------------------------------------------------->鍚屾牱寰堢畝鍗?rq=list_entry(nd->queue.next,structrequest,queuelist);杩欎釜list_entry瀹忔槸鏍规嵁褰撳墠鐨勯摼琛ㄨ妭鐐规壘鍒板搴旂殑瀵硅薄銆傚叾瀹炶川鏄痗ontainer_of()瀹忥紝鍐呮牳涓ぇ閲忎娇鐢ㄨ繖涓畯锛屽彲浠ヨ瀹冩槸鍐呮牳鐨勫熀纭€銆?濡傛灉浣犱箣鍓嶆帴瑙﹁繃椹卞

14、姩锛岄偅涔堝杩欎釜瀹忚偗瀹氫笉闄岀敓銆?杩欎釜瀵硅薄鐨勭被鍨嬫槸鐢辩浜屽弬鏁板喅瀹氱殑锛岃繖涓妭鐐瑰湪瀵硅薄缁撴瀯浣撲腑鐨勫悕瀛楁槸鐢辩涓変釜鍙傛暟鍐冲畾鐨勶紝閭d箞绗竴涓弬鏁板氨鏄澶勭悊鐨勮妭鐐逛簡銆?涓轰粈涔堟槸queue.next鍛紵鍥犱负queue鏄ご(head)锛屽畠鐨勪笅涓€涓?next)鎵嶆槸閾捐〃鐨勭涓€涓妭鐐?node)銆?list_del_init(&rq->queue

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。