Làm thế nào tôi có thể kiểm tra cấu hình ưu tiên kernel của tôi?


11

Tôi muốn kiểm tra xem nhân Linux của tôi là ưu tiên hay không ưu tiên. Làm thế nào tôi có thể kiểm tra điều này bằng cách sử dụng một lệnh, một cái gì đó như uname -a?

Câu trả lời:


10

Việc một hạt nhân có được ưu tiên hay không phụ thuộc vào những gì bạn muốn ưu tiên, như trong nhân Linux, có nhiều thứ khác nhau có thể được kích hoạt / vô hiệu hóa quyền ưu tiên.

Nếu kernel của bạn có CONFIG_IKCONFIGCONFIG_IKCONFIG_PROCđược bật, bạn có thể tìm hiểu cấu hình quyền ưu tiên của mình thông qua /proc/config.gz(nếu bạn không có điều này, một số bản phân phối sẽ gửi cấu hình kernel /bootthay thế):

$ gzip -cd /proc/config.gz | grep PREEMPT
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set

Nếu bạn có CONFIG_IKCONFIG, nhưng không CONFIG_IKCONFIG_PROC, bạn vẫn có thể lấy nó ra khỏi ảnh kernel extract-ikconfig.


Tôi đã tạo một mô-đun hạt nhân trong quả mâm xôi mà hộp thoại với cảm biến bên ngoài để hỏi nhiệt độ. để nói chuyện với cảm biến, tôi nên đặt đầu vào và đầu ra chân gpio cho khoảng thời gian được chỉ định (tính bằng ms). và các mô-đun hoạt động tốt. do đó, các mô-đun hạt nhân không được các bộ xử lý khác xử lý trước, vì nếu nó được ưu tiên, thời gian sẽ sai và kết quả nhận được từ cảm biến sẽ sai.
mikmik

2

Một hạt nhân có thể chấp nhận được (máy tính để bàn có độ trễ thấp) đã PREEMPTđược gắn thẻ trong tên phiên bản của nó ( uname -a). Điều này cũng xuất hiện trong /proc/versionvà trong chuỗi "phiên bản ma thuật" được sử dụng để quyết định xem các mô-đun có thể / không thể được tải trên một hạt nhân nhất định hay không, vd

mymodule: version magic '3.4.35 mod_unload ARMv7 p2v8 ' 
              should be '3.4.35 preempt mod_unload ARMv7 p2v8 '

Không có gắn thẻ như vậy tồn tại cho CONFIG_PREEMPT_VOLUNTARY, afaik.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.