Периодический вызов функции с момента инициализации системы - PullRequest
2 голосов
/ 06 апреля 2020

Предположим, у меня есть переменная для каждого процессора, объявленная с DEFINE_PER_CPU(struct var, var) и связанная с каждым struct var атрибутом int count. Это происходит во время инициализации системы и поэтому (предположительно) находится в init/main.c. Далее предположим, что у меня есть increment_count() функция, определенная как

    void increment_count() {
        per_cpu(var, get_cpu()).count += 1;
        put_cpu();
    }

. Я бы хотел, чтобы increment_count вызывался ядром каждые x миллисекунд, начиная с инициализации системы. Некоторый джиттер в интервале времени в порядке. Как это можно реализовать на практике? Кроме того, нужно ли явно выгружать текущий запущенный поток, чтобы разрешить запуск потока increment_count()?

...