2012-02-18 18 views

Trả lời

12

Nếu bạn biên dịch tất cả, bạn có thể chọn lúc khởi động hoặc trên mỗi thiết bị mà trình lên lịch sử dụng. Không cần phải chọn thời gian biên dịch, trừ khi bạn đang nhắm mục tiêu một thiết bị nhúng nơi mỗi byte đếm. Xem Documentation/block/switching-sched.txt để biết chi tiết về cách chuyển đổi trên mỗi thiết bị hoặc toàn hệ thống khi khởi động.

Trình lập lịch biểu CFQ cho phép bạn đặt mức độ ưu tiên thông qua công cụ ionice(1) hoặc cuộc gọi hệ thống ioprio_set(2). Điều này cho phép ưu tiên cho một số quy trình hoặc buộc người khác chỉ thực hiện IO của họ khi các thiết bị khối của hệ thống tương đối nhàn rỗi. Các hàng đợi được thực hiện bởi segregating the IO requests from processes into queues và xử lý các yêu cầu từ mỗi hàng đợi tương tự như lập lịch CPU. Thông tin chi tiết về cấu hình nó có thể được tìm thấy trong Documentation/block/cfq-iosched.txt.

Trình lập lịch biểu thời hạn theo độ tương phản sẽ xem xét tất cả các lần ghi từ tất cả các quy trình cùng một lúc; nó sắp xếp theo số ngành, và viết chúng tất cả trong thời trang tuyến tính. Thời hạn có nghĩa là nó cố gắng viết mỗi khối trước khi thời hạn của nó hết hạn, nhưng trong thời hạn đó, là miễn phí để sắp xếp lại các khối khi nó thấy phù hợp. Thông tin chi tiết về cấu hình nó có thể được tìm thấy trong Documentation/block/deadline-iosched.txt.

3

Có lẽ rất ít trong thực tế.

Trong thử nghiệm của mình, tôi thấy rằng nói chung NOOP tốt hơn một chút nếu bạn có bộ điều khiển RAID thông minh. Những người khác đã báo cáo kết quả tương tự, nhưng khối lượng công việc của bạn có thể khác.

Tuy nhiên, bạn có thể chọn chúng khi chạy (không khởi động lại), do đó, đừng lo lắng về thời gian biên dịch.

Sự hiểu biết của tôi là lịch trình "thông minh" (CFQ và thời hạn) chỉ thực sự hữu ích trên các thiết bị "quay đĩa" truyền thống không có bộ điều khiển RAID.

+0

No-op cũng hoạt động tốt với SSD – r004

Các vấn đề liên quan