Блог

Новости, статьи и руководства от команды Сарнас

Найдено статей: 6 Сбросить

Смена идентичности потоков в io_uring: как ядро решает проблему блокировок
12 октября 2026Команда Сарнас

Смена идентичности потоков в io_uring: как ядро решает проблему блокировок

Ядро Linux решает давнюю проблему io_uring: что делать, когда операция, отправленная через , внезапно блокируется и «замораживает» вызывающий поток. Вместо привычной передачи работы в пул потоков с…

Читать далее
Утечки горутин в Go: как работает goroutine leak profile
12 октября 2026Команда Сарнас

Утечки горутин в Go: как работает goroutine leak profile

В Go горутина, навсегда заблокированная на канале или мьютексе, не потребляет CPU и не проявляется в стандартных профилях — она просто тихо остаётся в памяти. Версия Go 1.27 закрывает этот пробел…

Читать далее
Когда LDAXR не работает: эксклюзивный доступ и кэшируемость на AArch64
12 октября 2026Команда Сарнас

Когда LDAXR не работает: эксклюзивный доступ и кэшируемость на AArch64

На практике спинлок на LDAXR/STXR может падать с Data Abort даже на корректном коде — всё зависит от атрибутов памяти, к которой идёт эксклюзивный доступ. Разбираем, как устроены эксклюзивные…

Читать далее
Гонка данных, которой не было: разбор реального бага в HTTP-сервере
9 октября 2026Команда Сарнас

Гонка данных, которой не было: разбор реального бага в HTTP-сервере

Иногда race detector сообщает о конфликте между пользовательским кодом и , хотя никакой гонки на самом деле нет — по крайней мере, в том смысле, который вы в него вкладывали. Разбираем реальный…

Читать далее
Что внутри планировщика горутин Go: G, M, P и как всё крутится
8 октября 2026Команда Сарнас

Что внутри планировщика горутин Go: G, M, P и как всё крутится

Русскоязычный разбор внутреннего устройства планировщика Go, который объясняет, как связаны абстракции G, M и P и почему поток без процессора не способен выполнять код. Статья последовательно…

Читать далее