jak zabezpieczyć procesor przed programem planującym linux (uniemożliwić planowanie wątków na ten procesor)?

Możliwe jest użyciesched_setaffinity przypiąć wątek do procesora, zwiększając wydajność (w niektórych sytuacjach)

Ze strony linux man:

Ograniczenie procesu do uruchomienia na pojedynczym procesorze pozwala również uniknąć kosztów związanych z unieważnieniem pamięci podręcznej, które występuje, gdy proces przestaje być wykonywany na jednym CPU, a następnie rozpoczyna się ponownie na innym CPU

Ponadto, jeśli chcę uzyskać odpowiedź w czasie rzeczywistym, mogę zmienić zasadę harmonogramu dla tego wątku naSCHED_FIFO, a także priorytet do wysokiej wartości (dosched_get_priority_max), co oznacza, że ​​dany wątek powinien zawsze wyprzedzać każdy inny wątek działający na jego procesorze, gdy stanie się gotowy.

Jednak w tym momencie wątek działający na procesorze, który wątek w czasie rzeczywistym po prostu uprzedził, prawdopodobnie wyrzuciłby wiele wpisów w pamięci podręcznej wątku poziomu 1 w czasie rzeczywistym.

Moje pytania są następujące:

Czy jest możliwe, aby program planujący nie planował żadnych wątków na dany procesor? (np .: albo całkowicie ukryj procesor z programu planującego, albo w inny sposób)Czy są jakieś wątki, które muszą być w stanie uruchomić na tym cpu? (np .: wątki jądra / wątki przerwania)Jeśli muszę mieć wątki jądra uruchomione na tym cpu, jaka jest rozsądna maksymalna wartość priorytetu do użycia, aby nie zagłodzić wątków jądra?

questionAnswers(3)

yourAnswerToTheQuestion