2012-03-13 20 views
1

我已經爲Linux編寫了虛擬輸入驅動程序,並且通過/ dev節點與它們進行通信。 現在,其中一個是虛擬鼠標,信號服務器接收到的信息很快會傳遞給驅動程序,鼠標會感覺平滑。Linux IOnice是否影響/ dev/nodes?

出於這個原因,我設置爲ionice服務器進程爲1(還沒有拿到過重要的linux守護進程的優先級):

if (ioprio_set(IOPRIO_WHO_PROCESS,getpid(), 1 | IOPRIO_CLASS_RT << IOPRIO_CLASS_SHIFT) == -1) { 
     logger->error("ioprio_set() error",errno); 
    } 

但我不能肯定,它甚至是值得的。差異,即使有,也不可知。儘管無法訪問實際的磁盤,但在涉及I/O優先級時是否將/ dev /中的字符特殊文件考慮在內?

回答

1

據我所知,ionice影響的操作系統層是I/O調度程序。至少內核2.6.17,是唯一實際支持ionice的調度程序,我相信沒有任何改變,至少就內核提供的默認調度程序而言。

I/O調度程序僅用於塊設備,可以排隊操作或更改它們的順序,延遲或合併它們等(例如參見here)。這也符合您可以通過僅用於塊設備的/sys虛擬文件系統更改調度程序(文件如/sys/devices/pci0000:00/0000:00:08.0/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler)的事實。您的鼠標驅動程序是字符設備,因此它完全不受I/O調度程序或ionice的影響。

+0

太棒了,謝謝:)我早前錯過了關於'塊設備'的部分 – user1267150 2012-03-13 23:54:41