Настройка спин-счетчика
Настройка спин-счетчика
Обычно, если в результате выполнения функции EnterCriticalSection поток обнаруживает, что объект CS уже принадлежит другому потоку, он входит в ядро и остается блокированным до тех пор, пока не освободится объект CRITICAL_SECTION, что требует определенного времени. Однако в SMP-системах вы можете потребовать, чтобы поток повторил попытку завладеть объектом CS, прежде чем блокироваться, поскольку существует вероятность того, что поток, владеющий CS, выполняется на другом процессоре и в любой момент может освободить CS. Это может оказаться полезным для повышения производительности, если между потоками наблюдается высокая состязательность за право владения единственным объектом CRITICAL_SECTION. Влияние упомянутых факторов на производительность обсуждается далее в этой и последующих главах.
Для настройки счетчика занятости, или спин-счетчика (spin-count), предназначены две функции, одна из которых, SetCriticalSectionSpinCount, обеспечивает динамическую настройку счетчика, а вторая, InitializeCritical-SectionAndSpinCount, выступает в качестве замены функции Initialize-CriticalSection. Настройка спин-счетчика рассматривается в главе 9.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Настройка производительности SMP-систем с помощью спин-счетчиков
Настройка производительности SMP-систем с помощью спин-счетчиков Эффективность методики блокирования (вхождение в раздел) и разблокирования (выход из раздела) объекта CRITICAL_SECTION объясняется тем, что тестирование объекта CS выполняется в пользовательском пространстве без
Установка значений спин-счетчиков
Установка значений спин-счетчиков Спин-счетчики CS могут устанавливаться на стадии инициализации объектов CS или динамическим путем. В первом случае функция InitializeCriticalSection заменяется функцией InitializeCriticalSectionAndSpinCount, в которой добавлен параметр счетчика. В то же время,
Спин-блокировки
Спин-блокировки Было бы очень хорошо, если бы все критические участки были такие же простые, как инкремент или декремент переменной, однако в жизни все более серьезно. В реальной жизни критические участки могут включать в себя несколько вызовов функций. Например, очень
Другие средства работы со спин-блокировками
Другие средства работы со спин-блокировками Функция spin_lock_init() используется для инициализации спин-блокировок, которые были созданы динамически (переменная типа spinlock_t, к которой нет прямого доступа, а есть только указатель на нее).Функция spin_try_lock() производит попытку
Спин-блокировки и обработчики нижних половин
Спин-блокировки и обработчики нижних половин Как было указано в главе 7, "Обработка нижних половин и отложенные действия", при использовании блокировок в работе с обработчиками нижних половин необходимо принимать некоторые меры предосторожности. Функция spin_lock_bh()
Спин-блокировки чтения-записи
Спин-блокировки чтения-записи Иногда в соответствии с целью использования блокировок их можно разделить два типа — блокировки чтения (reader lock) и блокировки записи (writer lock). Рассмотрим некоторый список, который может обновляться и в котором может выполняться поиск. Когда
Сравнение спин-блокировок и семафоров
Сравнение спин-блокировок и семафоров Понимание того, когда использовать спин-блокировки, а когда семафоры является важным для написания оптимального кода. Однако во многих случаях выбирать очень просто. В контексте прерывания могут использоваться только
Настройка
Настройка В заголовке скрипта addon/snmp2netams.pl необходимо:@devices=(«catalyst»);Перечислить через запятую заключенные в кавычки имена (hostname) устройств, откуда вы хотите собирать статистику.$community=«public»;Коммьюнити для
Настройка SSH
Настройка SSH Из протоколов, обеспечивающих защиту передаваемых данных, среди пользователей Linux наиболее популярен SSH (Secure Shell — защищенная оболочка). Данные, предназначенные для передачи по сети посредством данного протокола, шифруются. Очевидно, что шифрованные данные
Просмотр счетчика посещений сайта
Просмотр счетчика посещений сайта Неочевидный для многих, но иногда крайне полезный ресурс при изучении сайта компании – счетчик посещений этого сайта. Он позволяет отслеживать, сколько посетителей и откуда приходят на сайт, а также участвовать в рейтингах.Счетчик
Настройка
Настройка Если вы запускаете Microsoft Outlook на компьютере впервые, то увидите такое сообщение (рис. 4.1). Рис. 4.1. Вас приветствует Outlook Нажимайте кнопку Далее. Появится следующее окно (рис. 4.2).У вас уже есть свой почтовый адрес? Если нет, то нужно быстренько сходить на любой
12.3. Увеличение счетчика в отображаемом в память файле
12.3. Увеличение счетчика в отображаемом в память файле Изменим программу в листинге 12.1 (которая не работала) таким образом, чтобы родительский и дочерний процессы совместно использовали область памяти, в которой хранится счетчик. Для этого используем отображение файла в
13.5. Увеличение общего счетчика
13.5. Увеличение общего счетчика Разработаем программу, аналогичную приведенной в разделе 12.3, — несколько процессов увеличивают счетчик, хранящийся в разделяемой памяти. Итак, мы помещаем счетчик в разделяемую память, а для синхронизации доступа к нему используем