menambahkan kebijakan penjadwalan baru ke kernel

0

Saya sedang mengerjakan linux redhat 8 dan saya ingin menambahkan kebijakan baru untuk penjadwalan proses, dapatkah Anda membantu saya dengan:
1) di mana harus mendefinisikan kebijakan baru
2) bagaimana proses menetapkan kebijakan untuk suatu proses berjalan?

merinci nama fungsi dan struct akan sangat membantu.

kata hardan
sumber

Jawaban:

1

Anda merujuk ke Red Hat versi 8.0 , menjalankan kernel 2.4-series ?? Versi itu sudah tidak berlaku lagi pada tahun 2003 atau 2004. Saya tidak percaya kebijakan penjadwalan waktu nyata tersedia di kernel apa pun sebelum 2.6.x, berdasarkan tautan yang disediakan di komentar pertama pada posting.

Sunting: Kernel yang digunakan sebenarnya adalah kernel 2.6.x. Perintah yang diperlukan untuk membuat pekerjaan ini adalah chrt. Dalam hal ini, itu harus di-backport atau dikompilasi dari awal untuk server Red Hat 8.0. Saya menduga Anda akan mengalami masalah lain melakukannya, tetapi bagi siapa pun yang tersandung pada ini, chrtizinkan ini.

Dari halaman manual:

NAME
       chrt - manipulate real-time attributes of a process

SYNOPSIS
       chrt [options] [prio] [pid | command [arg]...]

DESCRIPTION
       chrt(1)  sets or retrieves the real-time scheduling attributes of an existing PID or runs COMMAND
       with  the  given  attributes.   Both  policy  (one  of  SCHED_OTHER,  SCHED_FIFO,  SCHED_RR,   or
       SCHED_BATCH) and priority can be set and retrieved.

Contoh nyata:

# Set JSINIT processes for e-commerce to FIFO scheduler and realtime priority 75.
for i in `pgrep -f 'JSINIT\ I.*' | xargs`; do chrt -p -f 75 $i; done
putih
sumber
ya saya tahu, tetapi ini adalah kernel khusus dengan kebijakan penjadwalan dari kernel 2.6.x
saeed hardan
Perintah userspace yang Anda butuhkan untuk mengubah penjadwalan aplikasi adalah chrt. Anda harus membuat cadangannya ke sistem RH8.0.
ewwhite