[英]linux - kernel thread preemption
我有一些實時Linux內核,並且正在使用內核線程開發一些代碼。 以太網中斷處理程序調用此線程。 我注意到此線程的每次調用大約需要100個jiffies。 此時,它讀取約256個以太網幀。 以太網為1Gbps,我測得的下載速度約為4MB / s。 我認為使用1Gbps以太網的4MB / s速度太慢了。
我正在嘗試對此內核線程進行概要分析,因為我認為100個jiffies太多了。 我想問一下是否有任何方法可以知道該內核線程被搶占了多少次?
如果您在線程內,則可以嘗試使用以下printk("preempt count is %d\\n",current_thread_info()->preempt_count);
您可以在線程的入口處添加它,並檢查連續打印之間的計數差異
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.