Эта история началась около месяца назад, когда Кирилл Тхай добавил поддержку вложенных пространств имен в CRIU, после чего наша система CI приказала долго жить. В тот момент ничто не предвещало тех увлекательных приключений, в которые мы оказались вовлечены.
Рубрика «linux kernel» - 7
Linux все еще не торт
2017-07-11 в 4:17, admin, рубрики: autotest, bugs, continuous integration, crash, CRIU, leaks, linux, linux kernel, memory, open source, panic, system programming, upstream, Блог компании Virtuozzo, Разработка под Linux, системное программирование, Тестирование IT-системЖизнь Oracle I-O: трассировка логического и физического ввода-вывода с помощью SystemTap
2017-06-21 в 9:38, admin, рубрики: i/o, linux kernel, oracle, profiling, sql, systemap, tracing, Блог компании PG Day'17 RussiaПриглашаем всех специалистов принять участии в секции, посвященной коммерческим базам данных на PG Day'17 Russia! Александр Халухин из Deutsche Bank готовит интенсивный мастер-класс о диагностике производительности Oracle Database. Полный список выступлений смотрите в программе на сайте!
А мы продолжаем публиковать переводы статей от специалистов по базам данных из CERN. Сегодняшний материал является второй частью цикла статей, посвященных трассировке и отладке производительности Oracle DB с помощью SystemTap.
Эта статья посвящена отслеживанию логических и физических чтений в Oracle с помощью SystemTap. Здесь вы найдете несколько примеров, иллюстрирующих основные механизмы, используемые Oracle для выполнения физических и логических операций ввода-вывода, и узнаете, как создавать скрипты SystemTap для последующей диагностики и устранения неполадок ввода-вывода Oracle.
Читать полностью »
Проблемы со скоростью выполнения системных вызовов «gettimeofday» и «clock_gettime» в AWS EC2
2017-04-25 в 3:37, admin, рубрики: Amazon Web Services, aws ec2, linux kernel, time, vDSO, xen, Блог компании centos-admin.ru, Разработка под Linux
Кадр из фильма «Матрица: Революция»
В этой статье мы подробно рассмотрим детали одной интересной находки: два часто используемых системных вызова (gettimeofday
, clock_gettime
) в AWS EC2 выполняются очень медленно.
В Linux реализован механизм по ускорению этих двух часто используемых системных вызовов, благодаря которому их код выполняется в пространстве пользователя, что позволяет избежать переключениям в контекст ядра. Это сделано с помощью предоставляемой ядром виртуальной общей библиотеки (virtual shared library), которая отображается в адресное пространство всех запущенных программ.
Два вышеназванных системных вызова не могут использовать vDSO (virtual Dynamic Shared Object) в AWS EC2, поскольку виртуализированный источник временных меток (virtualized clock source) в xen (и некоторых конфигурациях kvm) не поддерживает получение информации о времени через vDSO.
Обойти эту проблему не получится. Можно поменять источник информации о времени на tsc
, но это небезопасно. Далее мы рассмотрим вопрос более подробно и проведем сравнительное тестирование с помощью microbenchmark.
Потоки в Linux: Pthreads
2017-04-22 в 18:31, admin, рубрики: C, linux kernel, open source, pthreads, threads, Разработка под LinuxСовременные операционные системы и микропроцессоры уже давно поддерживает многозадачность и вместе с тем, каждая из этих задач может выполняться в несколько потоков. Это дает ощутимый прирост производительности вычислений и позволяет лучше масштабировать пользовательские приложения и сервера, но за это приходится платить цену — усложняется разработка программы и ее отладка.
В этой статье мы познакомимся с POSIX Threads для того, чтобы затем узнать как это все работает в Linux. Не заходя в дебри синхронизации и сигналов, рассмотрим основные элементы Pthreads. Итак, под капотом потоки.
Заметка о способе отладки блокировок в ядре Linux
2017-02-06 в 4:14, admin, рубрики: C, linux kernel, отладка, Разработка под LinuxВсем привет,
Данная заметка касается одного практического приёма, который я использовал при решении задачи определения места в ядре ОС Linux, где удерживается определённая спин-блокировка (спин-лок). Данная проблема возникла достаточно спонтанно и, учитывая сложность ядра, могла бы потребовать большое количество времени для решения. Если Вам это интересно, прошу читать далее...
CryptoAPI ядра Linux: разработка и применение российской криптографии
2017-02-01 в 10:52, admin, рубрики: api, cryptography, cryptsetup, dm-crypt, linux kernel, ГОСТ 34.11-2012, ГОСТ Р 34.12-2015, информационная безопасность, криптография, Разработка под Linux, системное программирование, шифрование данныхCryptoAPI представляет собой реализацию криптографических алгоритмов с предоставлением доступа к ним как из самого ядра, так и из прикладного программного обеспечения. Наиболее яркими представителями этого программного обеспечения является IPSEC (VPN ) и dm-crypt (шифрованная файловая система).
Читать полностью »
Перехват системных вызовов Linux с помощью LSM
2016-12-21 в 8:45, admin, рубрики: C, hooks, linux kernel, lsm, modules, информационная безопасность, Разработка под Linux, метки: lsm
Недавно поступили такие задачи: собрать ядро Linux, написать для него модуль и с его помощью перехватывать системные вызовы. И если первые две я выполнил без проблем, то в процессе выполнения третьей у меня возникло впечатление, что работа с системными вызовами вышла из моды лет 10 назад.
Периодически я находил в интернете статьи, которые были близкими к тому, что я искал, некоторые были даже очень хорошо написаны, но у всех был существенный недостаток — они устарели.
Читать полностью »
Security Week 50: социализация криптолокеров, аудит OpenVPN, уязвимость в ядре Linux
2016-12-16 в 16:56, admin, рубрики: klsw, linux kernel, openvpn, Popcorn Time, Zcash, Блог компании «Лаборатория Касперского», информационная безопасность, криптолокерыТолько мы обсудили, что криптолокеры стали вредоносной темой года не за технологии атаки, а благодаря, скажем так, социальным аспектам проблемы, как пришла новость, это подтверждающая. Вымогатель Popcorn Time назван в честь перспективного, но зарубленного на взлете софта для удобного скачивания фильмов из торрентов. Лоренс Абрамс, владелец сайта BleepingComputer, обнаружил, что код трояна явно не дописан, из-за чего не всегда работает связь с командным центром.
Но главной особенностью трояна является альтернативный вариант расшифровки: жертве предлагается отправить друзьям ссылку, по которой, предположительно, скачивается такой же троян, и в случае если два адресата установят вредоносную программу, ключ отправителю будет предоставлен бесплатно (иначе требуют 1 BTC). Предположительно, так как сайт в сети Tor на момент анализа вредоносной программы был недоступен.
В общем, на практике конкретно эта схема работать вряд ли будет. Не стоит забывать и о том, что распространение вредоносных программ преследуется уголовным кодексом вне зависимости от намерений или необходимости срочно расшифровать рабочие документы. Но попытка интересная: дистрибуция вредоносного контента самими жертвами происходит часто, но жертвы обычно об этом не догадываются. А тут дилемма покруче, чем «платить или не платить выкуп». Очень хочется верить в то, что данная технология развития не получит.
Читать полностью »
WiFi на Linux станет быстрее
2016-12-14 в 20:48, admin, рубрики: linux kernel, wi-fi, wireless, Беспроводные технологии, Настройка Linux, Сетевые технологии— пусть лучше небольшая, но фейербаховская...
Виктор Пелевин «Поколение Пи»
Недавний релиз ядра Linux 4.9 отличный повод рассказать о предстоящем разгоне WiFi. Сразу оговорюсь — пост не о том, как увеличить зону покрытия или менять регуляторные домены. Ничего такого делать не надо, достаточно обновить ядро после того, как патчи буфероборца Dave Täht будут в стабильной ветке.
Значительное повышение скорости достигнуто за счет уменьшения задержки [1] и избыточной буферизации [2] в сети. Разработчикам пришлось ради этого перелопатить mac80211
, убрать кое-что сверху, добавить снизу и после этого задержки в сети сократились на порядок. Цена вопроса? Патч в 200 строк. Подробности под катом.
Тестируем Linux-версию PVS-Studio на Linux Kernel
2016-12-12 в 6:51, admin, рубрики: C, linux kernel, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Разработка под Linux, системное программирование, статический анализ кода
С момента выхода публичной Linux-версии PVS-Studio, статья о повторной проверке ядра Linux оставалась лишь вопросом времени. Проект, который пишется профессионалами со всего мира, который используют большое количество людей в самых разных сферах, который регулярно проверяется и тестируется различными инструментами — проверка такого проекта будет серьёзным испытанием для любого статического анализатора. Какие ошибки удалось найти PVS-Studio в таких условиях?