Назначьте ядро ​​ЦП сервера для выполнения указанного c вызова - PullRequest
0 голосов
/ 21 февраля 2020

Есть ли способ, которым я могу назначить приоритет конкретному c вызову, выполняемому ядром ЦП?

означает, что если этот вызов будет принят, то ядро ​​ЦП будет выделено для выполнения этого позвонить.

1 Ответ

0 голосов
/ 21 февраля 2020

В Linux системные вызовы, которые вызываются прерываниями, могут быть связаны с ядрами с помощью средства отображения IRQ. Объяснение высокого уровня: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-cpu-irq

Если вы пишете свой собственный драйвер устройства, то ядро ​​Linux предоставляет простые интерфейсы для запуска функции с указанным c ядро. Например, функция ядра smp_call_function_single () - есть другие в kernel / smp. c, и есть множество примеров использования этих функций в других фрагментах кода ядра - например, arch / x86 /lib/msr-smp.c и arch / x86 / kernel / cpuid. c - вот где я узнал об этих функциях.

Мой опыт работы с кодом ядра довольно ограничен, но я не знаю знать о любом механизме, обеспечивающем дифференциальное управление сродством выполнения функций, доступ к которым осуществляется с использованием одного и того же номера прерывания / IRQ. В зависимости от сложности функции, может быть возможно создать простой драйвер, который упаковывает нужный вызов в "smp_call_function_single ()".

...