The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Увеличение скорости ввода/вывода на 6% в Linux, благодаря кэшированию запросов времени"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Увеличение скорости ввода/вывода на 6% в Linux, благодаря кэ..." –1 +/
Сообщение от n00by (ok), 17-Янв-24, 09:05 
> смотрите массив ool_workarounds, начиная со строчки № 437.

А почему не с #ifdef CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND ?

или с


    wa = arch_timer_iterate_errata(type, match_fn, arg);
    if (!wa)
        return;

    __wa = __this_cpu_read(timer_unstable_counter_workaround);
    if (__wa && wa != __wa)
        pr_warn("Can't enable workaround for %s (clashes with %s\n)",
            wa->desc, __wa->desc);

> В рантайме для таймера выбор хуков из device tree методом
> обхода всего массива в цикле, на данный момент, делается один раз
> - при инициализации. А потом просто каждый раз дёргается хук, при
> каждой попытке получения времени.

А зачем вообще, хотя бы гипотетически, может понадобиться на каждый чих разбирать device tree?

В данном случае хук выглядит так:


#if IS_ENABLED(CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND)
...
#define erratum_handler(h)                        \
    ({                                \
        const struct arch_timer_erratum_workaround *__wa;    \
        __wa = __this_cpu_read(timer_unstable_counter_workaround); \
        (__wa && __wa->h) ? ({ isb(); __wa->h;}) : arch_timer_##h; \
    })
#else
#define has_erratum_handler(h)               false
#define erratum_handler(h)               (arch_timer_##h)
#endif

или я что-то недосмотрел?
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Увеличение скорости ввода/вывода на 6% в Linux, благодаря кэшированию запросов времени, opennews, 16-Янв-24, 23:42  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру