Tôi là người mới trên Linux Kernel. Hiện tại, tôi đã xem xét các mã nhàn rỗi và có một câu hỏi. Khi bộ xử lý không có bất kỳ taks trong runqueue riêng của họ sau đó nó có thể đi vào chế độ nhàn rỗi, cụ thể WFI (wating cho gián đoạn). (Tất cả những gì tôi đề cập là về kiến trúc ARM không phải là X86. Vì vậy, có điều gì đó không đúng với X86.) Sau khi ở trạng thái WFI, có thể bộ vi xử lý khác (không nhàn rỗi) muốn lan truyền . . Vào thời điểm đó, một bộ xử lý bận rộn làm cho nhiệm vụ bị im lặng. Theo quan điểm của tôi, khi nhiệm vụ được imigrated, bộ xử lý nhàn rỗi nên thức dậy immidiatley để xử lý nhiệm vụ. đúng? Tuy nhiên, tôi không thể tìm thấy bất kỳ mã nào đánh thức bộ xử lý nhàn rỗi nhưng chỉ tìm thấy mã về đăng ký tác vụ cho runleue của bộ xử lý nhàn rỗi.Làm thế nào để nhân Linux ngừng hoạt động nhàn rỗi lên khi nhiệm vụ mới được tạo ra?
Tôi muốn biết cơ chế nào đằng sau việc đánh thức bộ xử lý khi có nhiệm vụ mới. Hoặc nó chỉ di chuyển công việc từ hàng đợi này sang hàng đợi khác hơn là để cho đến khi được đánh thức bởi một số IRQ không thể đoán trước?
Xin chỉ cho tôi biết sự thật :)
Đây là chủ đề được đánh thức, không phải để đánh thức CPU. Cờ PF_WAKE_UP_IDLE không có trong hạt nhân Linux phiên bản 3.18 trở lên. – Zhifei