我試圖改變在FreeBSD中運行線程的調度方案。 FreeBSD的默認線程調度基於線程的優先級,但我想將其更改爲另一個條件。我想知道下列哪些函數是負責這個調度的:sched_ule.c中的tdq_runq_add()
或kern_switch.c中的runq_choose()
。在FreeBSD中更改調度優先級
0
A
回答
0
這個問題的答案是改變功能runq_choose()
。因爲這個函數顯示了應該如何選擇線程放入運行隊列。另一個功能只是確保整個排隊過程正在完成。 'tdq_runq_add()'用於處理分時和實時隊列之間的協作。因此,爲了改變優先級,我們最好改變runq_choose()
。
0
選擇接下來要運行的胎面在choosethread()
的/usr/src/sys/kern/kern_switch.c
中完成。這又調用sched_choose()
。根據您使用的調度程序,這在(舊調度程序)或/usr/src/sys/kern/sched_ule.c
(ULE調度程序,現在是默認調度程序)中。
相關問題
- 1. 在Linux中更改線程優先級和調度程序
- 2. 調度優先級,窗口
- 3. 在android中更改進程優先級
- 4. jQuery更改CSS優先級?
- 5. 更改線程優先級
- 6. 動態更改scrapy請求調度程序優先級
- 7. Repast Symphony調度方法優先級和代理優先級
- 8. 在Java中使用JNI調用更改線程優先級
- 9. Pthread調度策略和優先級
- 10. OpenBSD下的pthread優先級/調度
- 11. 優先級和優先級
- 12. 優先級隊列中的優先級
- 13. 更改事件的優先級與jQuery
- 14. 更改運算符優先級爲∘
- 15. 如何更改debian的優先級?
- 16. 更改線程優先級 - Unity 3d
- 17. 更改Minix3的優先級隊列
- 18. 更改線程優先級ERROR_INVALID_HANDLE
- 19. 線程的延遲優先級更改
- 20. 更改python sys.path的優先級
- 21. 更改運算符優先級
- 22. 如何更改優先級的進程
- 23. 如何更改流程的優先級?
- 24. 如何更改NSURLConnection的優先級?
- 25. 更改優先級爲繪製邊框
- 26. 更改模塊加載優先級
- 27. 在DatabaseReference.updateChildren()調用中設置優先級?
- 28. 新近度是次要優先級的優先級隊列?
- 29. 更改運行中斷處理程序的優先級級別?
- 30. 在Perl中具有修改的調度優先級的Runnig OS函數