Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Trình điều khiển thiết bị khối Null¶
Tổng quan¶
Thiết bị khối null (ZZ0000ZZ) được sử dụng để đo điểm chuẩn khác nhau triển khai lớp khối. Nó mô phỏng một thiết bị khối có kích thước X gigabyte. Nó không thực hiện bất kỳ thao tác đọc/ghi nào, chỉ đánh dấu chúng là hoàn thành trong hàng đợi yêu cầu. Có thể xảy ra các trường hợp sau:
Lớp khối nhiều hàng đợi
- Dựa trên yêu cầu.
Hàng đợi gửi cấu hình cho mỗi thiết bị.
Không có lớp khối (Được gọi là dựa trên sinh học)
- Dựa trên sinh học. Yêu cầu IO được gửi trực tiếp đến trình điều khiển thiết bị.
Trực tiếp chấp nhận cấu trúc dữ liệu sinh học và trả về chúng.
Tất cả đều có hàng đợi hoàn thành cho từng lõi trong hệ thống.
Thông số mô-đun¶
- queue_mode=[0-2]: Mặc định: 2-Nhiều hàng đợi
Chọn lớp khối mà mô-đun sẽ khởi tạo.
0 Không có. 1 mềm-irq. Sử dụng IPI để hoàn thành IO trên các nút CPU. Mô phỏng chi phí
khi IO được phát hành từ nút CPU khác ngoài nút chủ thì thiết bị sẽ được kết nối với.
- 2 Bộ hẹn giờ: Chờ một khoảng thời gian cụ thể (completion_nsec) cho mỗi IO trước
hoàn thành.
- hoàn thành_nsec=[ns]: Mặc định: 10.000ns
Kết hợp với irqmode=2 (bộ đếm thời gian). Thời gian mỗi sự kiện hoàn thành phải chờ.
- submit_queues=[1..nr_cpus]: Mặc định: 1
Số lượng hàng đợi gửi được đính kèm với trình điều khiển thiết bị. Nếu không được đặt, nó mặc định là 1. Đối với nhiều hàng đợi, nó bị bỏ qua khi mô-đun use_per_node_hctx tham số là 1.
- hw_queue_deep=[0..qdeep]: Mặc định: 64
Độ sâu hàng đợi phần cứng của thiết bị.
- Memory_Backed=[0/1]: Mặc định: 0
Có hay không sử dụng bộ nhớ đệm để đáp ứng các yêu cầu IO
0 Không hỗ trợ thao tác loại bỏ 1 Kích hoạt hỗ trợ cho các hoạt động loại bỏ = ========================================
- cache_size=[Kích thước tính bằng MB]: Mặc định: 0
Kích thước bộ đệm tính bằng MB cho thiết bị được hỗ trợ bộ nhớ.
- mbps=[Băng thông tối đa tính bằng MB/s]: Mặc định: 0 (không giới hạn)
Giới hạn băng thông cho hiệu suất của thiết bị.
Tham số cụ thể cho nhiều hàng đợi¶
- use_per_node_hctx=[0/1]: Mặc định: 0
Số lượng hàng đợi ngữ cảnh phần cứng.
0 nullb* sử dụng bộ lập lịch blk-mq io mặc định 1 nullb* không sử dụng bộ lập lịch io = =========================================
- chặn=[0/1]: Mặc định: 0
Chặn hành vi của hàng đợi yêu cầu.
0 Thiết bị chặn được hiển thị dưới dạng thiết bị chặn truy cập ngẫu nhiên. 1 Thiết bị khối được hiển thị dưới dạng thiết bị khối được khoanh vùng do máy chủ quản lý. Yêu cầu
CONFIG_BLK_DEV_ZONED.
- vùng_size=[MB]: Mặc định: 256
Kích thước trên mỗi vùng khi được hiển thị dưới dạng thiết bị khối được khoanh vùng. Phải là sức mạnh của hai.
- zone_nr_conv=[nr_conv]: Mặc định: 0
Số lượng vùng thông thường cần tạo khi thiết bị khối được phân vùng. Nếu vùng_nr_conv >= nr_zones, nó sẽ giảm xuống nr_zones - 1.